Flannel: Routes en dehors des réseaux Flannel et du NAT

Créé le 2 nov. 2014  ·  3Commentaires  ·  Source: coreos/flannel

Bonjour, Il s'agit d'un problème de demande de fonctionnalité.

Je veux exécuter un conteneur où il y a une superposition soutenue par vxLAN. Mais pour les destinations en dehors de la superposition, je veux NAT le conteneur, par exemple vers l'Internet public.

Je vois trois façons de procéder :

  • Deuxième interface réseau : utilisez Flannel pour la superposition, mais créez ensuite un deuxième netdev plus similaire au Docker NAT par défaut pour le conteneur. Ensuite, le trafic vers la superposition passe toujours par la flanelle et une route par défaut sur le deuxième netdev gère le trafic Internet.
  • NAT de configuration de Flannel : Une option de configuration à Flannel quelconque, ajoute des routes par défaut pour l'extérieur de la superposition, et lorsqu'on quitte la superposition, demandez à Flannel de configurer un NAT.
  • Créer des passerelles vxLAN : créez un conteneur ou une machine avec une interface Flannel et un autre netdev vers NAT (ou quelque chose comme ça). Configurez la route par défaut sur d'autres conteneurs pour passer par cette instance NAT.

Les pensées? Est-ce dans le champ d'application ou hors champ d'application pour la flanelle ?

Commentaire le plus utile

Il existe déjà une option qui fait quelque chose de très similaire à 2. Si vous exécutez flanneld avec --ip-masq , il ajoutera une règle IP Masquerade pour le trafic qui sort des conteneurs et se dirige vers Internet. Plus précisément, il s'agit du trafic qui provient de l'espace d'adressage superposé mais qui est destiné à l'extérieur de celui-ci.

L'option n'est pas documentée (besoin de corriger cela) car j'attendais que Docker fusionne mon ajout de --ip-masq au démon Docker. Cela permet d'exécuter le démon Docker avec --ip-masq=false et flanneld avec --ip-masq . Sinon, Docker installe également la règle de masquage IP pour le trafic sortant de docker0.

Docker 1.3 qui a été récemment publié a l'option --ip-masq .

Tous les 3 commentaires

La deuxième option semble raisonnable. Je pense que nous pouvons nous appuyer sur systemd-networkd pour configurer cette route réseau après avoir évoqué le pont de flanelle.

@eyakubovich a probablement une opinion sur celui-ci.

Il existe déjà une option qui fait quelque chose de très similaire à 2. Si vous exécutez flanneld avec --ip-masq , il ajoutera une règle IP Masquerade pour le trafic qui sort des conteneurs et se dirige vers Internet. Plus précisément, il s'agit du trafic qui provient de l'espace d'adressage superposé mais qui est destiné à l'extérieur de celui-ci.

L'option n'est pas documentée (besoin de corriger cela) car j'attendais que Docker fusionne mon ajout de --ip-masq au démon Docker. Cela permet d'exécuter le démon Docker avec --ip-masq=false et flanneld avec --ip-masq . Sinon, Docker installe également la règle de masquage IP pour le trafic sortant de docker0.

Docker 1.3 qui a été récemment publié a l'option --ip-masq .

Merci ça marche pour nous !

Cette page vous a été utile?
0 / 5 - 0 notes