Traefik 2.0 IPWhitelist для TCP - CRD Kubernetes - PullRequest
1 голос
/ 15 октября 2019

Мы используем Kubernetes вместе с Traefik 2.0. Мы используем Kubernetes CRD (IngressRoute) в качестве провайдера с Traefik.

Из Traefik Documentaion не похоже, что Middlewares можно использовать для TCP-маршрутизаторов.

Мы хотели бы использовать Промежуточное программное обеспечение белого списка с TCP-маршрутизатором, но пока оно работает только с Http-маршрутизатором.

Вот наше определение ipWhitelist:

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: testIPwhitelist
spec:
  ipWhiteList:
    sourceRange:
      - 127.0.0.1/32
      - 192.168.1.7

Вот определение сервиса Traefik:

apiVersion: v1
kind: Service
metadata:
  name: traefik

spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  ports:
    - protocol: TCP
      name: web
      port: 8000
    - protocol: TCP
      name: admin
      port: 8080
    - protocol: TCP
      name: websecure
      port: 4443
    - protocol: TCP
      name: mongodb
      port: 27017
  selector:
    app: traefik

Определения IngressRoutes:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: simpleingressroute
  namespace: default
spec:
  entryPoints:
    - web
  routes:
  - match: PathPrefix(`/who`)
    kind: Rule
    services:
    - name: whoami
      port: 80
    middlewares:
      - name: testIPwhitelist
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRouteTCP
metadata:
  name: ingressroute.mongo

spec:
  entryPoints:
    - mongodb
  routes:
  # Match is the rule corresponding to an underlying router.
  - match: HostSNI(`*`)
    services:
    - name: mongodb
      port: 27017

    middlewares:
      - name: testIPwhitelist

Есть ли способ ограничения IP-адресов с помощью TCP-маршрутизатора traefik?

Дополнительные сведения о трафике с CRD Kubernetes вы можете найти здесь

1 Ответ

1 голос
/ 22 октября 2019

Вы правы, Middlewares нельзя использовать для маршрутизаторов TCP. IPWhitelist через концепцию Middleware приемлем только для HTTP-маршрутизатора. Вы можете следить за проблемой на github , запрашивающей промежуточное программное обеспечение для маршрутизаторов TCP.

...