[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [LXC][kimsuffi]Gérer un réseau interne NATté ?



Le 09/04/2013 06:23 PM, Benoît Mauduit a écrit :
Le 04.09.2013 16:44, Johnny B a écrit :
Le 09/04/2013 04:26 PM, Grégory B a écrit :
On Wed, 04 Sep 2013 15:06:21 +0200, Johnny B <frozzenshell@gmail.com>
wrote:
Le 09/04/2013 02:40 PM, Grégory B a écrit :
Bonjour,

Je débute en LXC (j'arrive d'OpenVZ / serveur perso à la maison), et en
plus la machine sera sur un kimsuffi.

étant un peu une quiche en réseau j'ai sûrement raté quelque chose
d'évident, mais mon container n'accède pas au net ?

- L'adresse de mon serveur est du type 188.165.X.Y (_host_) (une seule
ip
publique possible)
- Mes containers auront une adresse du type 192.168.0.0 (_container_)

C'est br0 de _hote_ qui porte l'ip publique

Je compte faire des règles iptables sur _host_
   * tous ce qui est port 22,80,443    ==> ip 192.168.10.101
(_container_01_)
   * tout ce qui est port imaps, smtps ==> ip 192.168.10.102
(_container_02_)

J'ai lu un peu de littérature web, mais globalement tous restent dans
la
même classe d'ip entre le host et les containers (j'ai mal cherché ?),
comment puis-je faire ?

J'ai configuré en mode veth et bridge
_host_ : brctl show
bridge name     bridge id               STP enabled interfaces
br0             8000.74d02b26bxxx       no eth0
vethvm01

et dans mon 1er container j'ai ceci
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:ff:aa:00:00:01
            inet adr:192.168.10.101  Bcast:192.168.10.255
Masque:255.255.255.0
   [...]
lo
   [...]
(pas de veth...)
# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use
Iface
192.168.10.0    *               255.255.255.0   U 0      0        0
eth0



Salut,

Pour des VM natée il faut obligatoirement déclarer sur la machine hote
une nouvelle interface bridge br1 par ex. Il faut une interface dédiée
au Nat qui sera ensuite gérée par iptables via des règles de POSTROUTING
et MASQUERADE pour gérer les flux et les redirections de ports sur la
vm. (ex il faut qu'iptables redirige le port 2122 vers le 22 de la vm
naté pour l'accès ssh)
Ah, ça se complique alors :-D
ça permet qd mm aux vms de communiquer entre elles ?

Oui c'est l'objectif ;)

Tes vms dépendront de la gateway br1 et seront donc dans le meme
subnet privé, en revanche il faut optimiser ses règles iptables pour
que tout soit bien routé je pense que tu trouveras tout ce qu'il faut
pour gérer le nat via iptables sur Google.



Dans ton cas je ne comprends pas pourquoi eth0 à une adresse privée.
le eth0 présenté est celui de la vm


Salut,

Je viens enfin de finir une configuration type mais sur serveur dedibox (Online). Je vais pas tarder à synthétiser tout ça dans un wiki, mais une page [1] a été ma source d'inspiration principale.

[1] : http://www.delloye.org/linux/lxc.html

Pour info, je ne bridge pas directement eth0.
J'ai un br0 dont les interfaces des lxc se greffent et le forward est autorisé entre br0 et eth0.
Les LXC sont donc Naté :

Par exemple pour une nouvelle vm avec comme ip 192.168.10.10 sur le bridge :
# iptables -t nat -A POSTROUTING -s 192.168.10.10 -o eth0 -j MASQUERADE

Après tu peux faire de la redirection de port, mais ce qui devient amusant, c'est effectivement de prendre des ips failover. Les paquets marqués avec l'ip FO arrivent sur un alias d'interface (eth0:0), et sont redirigés vers la vm. Tout les paquets sortant de la vm sont ensuite SNATé pour prendre comme adresse source l'ip FO.

Tout cela est expliqué dans le liens [1].

Bon courage.

Fait moi signe si tu veux que je poste le lien vers mon wiki quand j'aurai fini d'écrire tout ça.

a+


Sympa la doc ;) merci

Je vais bouquiner ca


Reply to: