Flannel: Rutas fuera de Flannel Networks y NAT'ing

Creado en 2 nov. 2014  ·  3Comentarios  ·  Fuente: coreos/flannel

Hola, este es un problema de solicitud de función.

Quiero ejecutar un contenedor donde haya una superposición respaldada por vxLAN. Pero para los destinos fuera de la superposición, quiero NAT del contenedor, por ejemplo, a la Internet pública.

Veo tres formas de hacerlo:

  • Segunda interfaz de red : use Flannel para la superposición, pero luego cree un segundo netdev que sea más similar al Docker NAT predeterminado para el contenedor. Luego, el tráfico a la superposición aún se realiza a través de la franela, y una ruta predeterminada en el segundo netdev maneja el tráfico de Internet.
  • NAT de configuración de Flannel : una opción de configuración para Flannel de algún tipo, agregar rutas predeterminadas para fuera de la superposición y, al salir de la superposición, hacer que Flannel configure un NAT.
  • Cree puertas de enlace vxLAN : haga un contenedor o máquina con una interfaz de franela y otra netdev para NAT (o algo así). Configure la ruta predeterminada en otros contenedores para pasar por esta instancia de NAT.

¿Pensamientos? ¿Está esto dentro o fuera del alcance de la franela?

Comentario más útil

Ya existe una opción que hace algo muy similar a 2. Si ejecuta flanneld con --ip-masq , agregará una regla de enmascaramiento de IP para el tráfico que sale de los contenedores y se dirige a Internet. Más precisamente, es el tráfico que se originó dentro del espacio de direcciones superpuesto pero destinado fuera de él.

La opción no está documentada (es necesario corregirla) ya que estaba esperando que Docker fusionara mi adición de --ip-masq al demonio Docker. Esto permite ejecutar el demonio Docker con --ip-masq=false y flanneld con --ip-masq . De lo contrario, Docker también instala la regla de enmascaramiento de IP para el tráfico que sale de docker0.

Docker 1.3 que se lanzó recientemente tiene la opción --ip-masq .

Todos 3 comentarios

La segunda opción parece razonable. Siento que podemos apoyarnos en systemd-networkd para configurar esta ruta de red después de abrir el puente de franela.

@eyakubovich probablemente tenga una opinión sobre esto.

Ya existe una opción que hace algo muy similar a 2. Si ejecuta flanneld con --ip-masq , agregará una regla de enmascaramiento de IP para el tráfico que sale de los contenedores y se dirige a Internet. Más precisamente, es el tráfico que se originó dentro del espacio de direcciones superpuesto pero destinado fuera de él.

La opción no está documentada (es necesario corregirla) ya que estaba esperando que Docker fusionara mi adición de --ip-masq al demonio Docker. Esto permite ejecutar el demonio Docker con --ip-masq=false y flanneld con --ip-masq . De lo contrario, Docker también instala la regla de enmascaramiento de IP para el tráfico que sale de docker0.

Docker 1.3 que se lanzó recientemente tiene la opción --ip-masq .

Gracias eso funciona para nosotros!

¿Fue útil esta página
0 / 5 - 0 calificaciones