Bonjour,
Je suis en train de jouer avec LXC sur Debian Sid (avec systemd). Voilà mon réseau :
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:f1:6c:68 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.245/24 brd 192.168.122.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:d8:ef:e7 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.175/24 brd 192.168.122.255 scope global eth1
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.122.1 0.0.0.0 UG 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Maintenant, je créé un container toto
, et nomme son interface externe “toto” :
lxc.utsname = toto
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = toto
lxc.network.name = eth0
lxc.network.ipv4 = 192.168.5.2/30
je fais ifconfig toto 192.168.5.1/30
pour associer une adresse IP de mon coté. À l’intérieur de container je met 192.168.5.1
comme gateway.
Et pareil pour tutu :
lxc.utsname = tutu
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = tutu
lxc.network.name = eth0
lxc.network.ipv4 = 192.168.5.6/30
je fais ifconfig tutu 192.168.5.5/30
. À l'intérieur du container je met 192.168.5.5
comme gateway.
Je me retrouve avec :
eth0 192.168.122.245
eth1 192.168.122.175
Ma question est la suivante, je voudrait NATer toto
et tutu
sur eth1
. Pour que vu de l’extérieur ils aient, l'IP 192.168.122.175 (celle de eth1 quoi).
J'aimerai aussi faire en sorte que tout paquets arrivant sur eth1
sur le port 80 soit redirigé vers tutu
, et les paquets arrivant sur eth1
sur le port 25 soient redirigés vers toto
. Je veux garder eth0
comme interface de sortie par défaut pour l'hôte.
Je n'utilise pas de bridge (peut être à tort), car je ne veux pas que toto
et tutu
ne communique entre eux.
Comment dois-je faire ?
# probleme de reseau, adresse et masque
Posté par NeoX . Évalué à 2.
dans ton cas, il ne te manquerait alors plus que :
meme si j'ai comme un doute sur le fonctionnement à cause des tutu et toto
qui viennent au milieu là ou moi j'ai un lxcbridge qui configurer par defaut avec un serveur dhcp
les cartes des containers vont par defaut dessus en dhcp, ce qui n'empeche pas de creer un container avec une IP fixe.
[^] # Re: probleme de reseau, adresse et masque
Posté par Ife . Évalué à 1.
le problème c'est que les containers vont utiliser eth0 et non eth1 pour sortir. J'aimerai faire une route conditionnelle : si ça vient de l'interface tutu ou toto, faire sortir par l'interface eth1.
Ruby est le résultat d'un gamin qui apprend le Java, puis jette un œil à Perl et se dit « je peux le réparer! »
[^] # Re: probleme de reseau, adresse et masque
Posté par NeoX . Évalué à 2. Dernière modification le 08 février 2013 à 14:33.
tu fais tourner tes LXC sur la carte eth1, donc y a pas de raison que ca sorte par eth0
d'ailleurs chez moi le network.link c'est la carte reseau de mon serveur que je veux utiliser.
donc dans ton cas, ca devrait etre un alias de ton eth1 (que tu as appelé tutu et toto)
qui ont une IP dans le reseau de tes containers.
il ne te reste plus alors qu'a faire les bonnes regles de parefeu sur ton serveur pour diriger l'entrant et surtout le sortant vers l'IP de eth1
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.