hadrieno | Bonsoir à tous,
Je vous explique la situation :
Je suis en train de mettre en place un serveur 'qui fait tout', à base de virtualisation, afin surtout de ne pas avoir mon serveur web ; sur le même serveur que mes données..... et ca me fait en prime un bel exercice Donc une bonne debian, un moteur de virtualisation (Xen), un iptable pour du Nat, et derrière ce Nat 2 à 3 machine virtuelles potentiels ; on va rester sur 2 pour le moment, ne m'étant pas occupé de la dernière.
Mon réseau perso est composé de :
Internet ---- [Freebox (192.168.0.1) [ ----- ] Station de travail & Wifi (192.168.0.80-200)
|
L -------- [ Serveur Xen [ --------- ] Serveur web (192.168.1.123)
|
L ----------------- ] Serveur Data (192.168.2.123)
Je sais que j'aurais pu me passer d'iptables et du NAT, et laisser ce role à la Freebox, mais un peu SM sur les bords , j'ai voulu (enfin !) m'attaquer à iptables / Netfilter.
Le serveur Xen ne doit etre accessible que par SSH, uniquement à partir d'adresses précises. OK
Les VMs, ne doivent être accessible par SSH, que par le Serveur Xen (je verrais ultérieurement si je passe outre, en remappant les ports SSH pour chaque machine + routage ; si une autre soluce merci d'exposer) OK.
Les machines ne doivent pas se voir entre elles. OK.
Les connections HTTP doivent être redirigé vers le serveur web. OK
Partage réseau redirigé vers le serveur de Data. OK
Et en prime, voici mes tables (merci de commenter, en bon, en mauvais, du moment que cela reste constructif) :
Code :
- Chain INPUT (policy DROP 10 packets, 937 bytes)
- pkts bytes target prot opt in out source destination
- 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
- 0 0 ACCEPT tcp -- eth0 * 192.168.0.80 0.0.0.0/0 tcp dpt:22
- 5760 442K ACCEPT tcp -- eth0 * 192.168.0.120 0.0.0.0/0 tcp dpt:22
- 664 117K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
- 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
- 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:161
- 27 1392 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
- 1 60 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
- 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/sec burst 5
- 0 0 DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x29/0x29
- 0 0 DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x3F
- 0 0 DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
- 0 0 DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x06
- 0 0 DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04
- 3 636 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
- 0 0 DROP all -f * * 0.0.0.0/0 0.0.0.0/0
- 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x3F
- 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
- Chain FORWARD (policy ACCEPT 94 packets, 18710 bytes)
- pkts bytes target prot opt in out source destination
- 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-out vif4.0 --physdev-is-bridged
- 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-in vif4.0 --physdev-is-bridged udp spt:68 dpt:67
- 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-out vif4.0 --physdev-is-bridged
- 0 0 ACCEPT all -- * * 192.168.2.123 0.0.0.0/0 PHYSDEV match --physdev-in vif4.0 --physdev-is-bridged
- 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-out vif3.0 --physdev-is-bridged
- 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-in vif3.0 --physdev-is-bridged udp spt:68 dpt:67
- 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-out vif3.0 --physdev-is-bridged
- 0 0 ACCEPT all -- * * 192.168.1.123 0.0.0.0/0 PHYSDEV match --physdev-in vif3.0 --physdev-is-bridged
- 0 0 DROP tcp -- * * 192.168.0.1 0.0.0.0/0 tcp dpts:135:139
- 0 0 DROP tcp -- * * 192.168.0.1 0.0.0.0/0 tcp dpt:445
- Chain OUTPUT (policy DROP 0 packets, 0 bytes)
- pkts bytes target prot opt in out source destination
- 5552 849K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
- 1 60 ACCEPT tcp -- * * 192.168.2.250 192.168.2.123 tcp dpt:22
- 3 180 ACCEPT tcp -- * * 192.168.1.250 192.168.1.123 tcp dpt:22
- 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
- 6 338 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
- 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
- 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
- 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
- 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:161
- 2 168 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
- Chain PREROUTING (policy ACCEPT 14 packets, 1545 bytes)
- pkts bytes target prot opt in out source destination
- 7 336 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:135:139 to:192.168.2.123
- 7 336 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445 to:192.168.2.123
- 4 224 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:192.168.1.123
- Chain POSTROUTING (policy ACCEPT 4 packets, 224 bytes)
- pkts bytes target prot opt in out source destination
- 65 3996 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0
- 0 0 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0
- 0 0 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0
- Chain OUTPUT (policy ACCEPT 2 packets, 104 bytes)
- pkts bytes target prot opt in out source destination
|
Jusqu'à présent, tout va bien dans le meilleur des mondes.... sauf que :
- avec la redirection du port 80, pas moyen de faire un apt-get avec les VMs.
- avec la redirection des ports SMB, cela limite le partage au serveur de Data.... comment je fais si je veux partager ma racine du serveur web pour mon dev ???? Pour la 1ère problématique, je bute ???? J'imagine qu'il y a une soluce purement réseau, mais je vois pas laquelle..... je ne vois que la soluce de changer mes règles iptables quand je fais mes updates de VMs....
Pour la 2ème, par contre, je n'en vois pas trop.... à part remapper les ports SMB au niveau routage (et du serveur web), mais cela impliquerait également de le faire également à la demande sur ma machine cliente.... pas très pratique....
Voila, merci d'avance de vos réponses !
Hadrieno Message édité par hadrieno le 16-08-2011 à 17:10:01
|