Bonsoir, J'ai installé sur un serveur dédié une debian squeeze avec xen 4, une VM principale qui tourne en mode route avec une IP failover ainsi qu'une autre VM de etst tournant en NAT. Je voulais donc mixer le mode route et nat, et j'ai effectué la config suivante: - contenu de mon xend-config.sxp : (network-script 'network-route netdev=eth0') (vif-script vif-route) vu que c'est ma 1ere VM en mode route la plus importante. Pour la seconde VM en nat, j'ai mis ceci dans le fichier de config: vif = [ 'ip=192.168.1.2,mac=00:16:3E:xxxx:xx, script=vif-nat, vifname=vif-debianTest' ] J'ai modifié un peu le script vif-nat : routing_ip() { #echo $(echo $1 | awk -F. '{print $1"."$2"."$3"."$4 + 127}') echo $(echo $1 | awk -F. '{print $1"."$2"."$3"."254}') } pour avoir toujours la même ip statique en gateway pour la VM2, et pour pouvoir mettre cette IP dans la config réseau du domU correspondant. Je peux pinguer VM2 depuis mon dom0, j'ai internet depuis ma VM2 mais impossible de faire un port mapping. On dirait que rien ne forward entre mes interfaces Par exemple, je voulais rediriger le port 2222 de mon dom0 vers le 22 de VM2 ; Voici mes règles : # iptables -L -v | more Chain INPUT (policy DROP 860 packets, 95727 bytes) pkts bytes target prot opt in out source destination 18 2185 ACCEPT all -- lo any anywhere anywhere 8 792 ACCEPT icmp -- any any anywhere anywhere 1065 83852 ACCEPT tcp -- eth0 any lev92-4-88-164-133-124.fbx.proxad .net anywhere tcp dpt:ssh 5 544 ACCEPT all -- eth0 any anywhere anywhere state RELATED,ESTABLISHED 0 0 ACCEPT all -- vif2.0 any anywhere anywhere 0 0 ACCEPT all -- vif-debianTest any anywhere anyw here Chain FORWARD (policy DROP 11 packets, 528 bytes) pkts bytes target prot opt in out source destination 1517 322K ACCEPT all -- eth0 any anywhere anywhere state RELATED,ESTABLISHED 10 496 ACCEPT all -- eth0 any anywhere 88-190-238-1 64.rev.dedibox.fr 1605 143K ACCEPT all -- vif2.0 any anywhere anywhere 0 0 ACCEPT all -- vif-xenwinxp any anywhere anywhe re 0 0 ACCEPT all -- vif-debianTest any anywhere anyw here 0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif-debianTest 0 0 ACCEPT udp -- any any anywhere anywhere PHYSDEV match --physdev-in vif-debianTest udp spt:bootpc dpt:bootps 0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif-debianTest 0 0 ACCEPT all -- any any xenDebianTest anywhere PHYSDEV match --physdev-in vif-debianTest Chain OUTPUT (policy ACCEPT 886 packets, 129K bytes) pkts bytes target prot opt in out source destination 24 2946 ACCEPT all -- any lo anywhere anywhere # iptables -L -t nat -v | more Chain PREROUTING (policy ACCEPT 1265 packets, 132K bytes) pkts bytes target prot opt in out source destination 11 528 DNAT tcp -- eth0 any anywhere anywhere tcp dpt:2222 to:192.168.1.2:22 Chain POSTROUTING (policy ACCEPT 27 packets, 1850 bytes) pkts bytes target prot opt in out source destination 110 7826 SNAT all -- any eth0 88-190-238-164.rev.dedibox.fr an ywhere to:88.190.238.164 0 0 SNAT all -- any any 192.168.0.2 anywhere to:88.190.15.135 0 0 SNAT all -- any any xenDebianTest anywhere to:88.190.15.135 Chain OUTPUT (policy ACCEPT 21 packets, 1538 bytes) pkts bytes target prot opt in out source destination # tcpdump -i eth0 tcp port 2222 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 19:54:02.662761 IP lev92-4-88-164-133-124.fbx.proxad.net.21384 > sd-xxxx.dedibox.fr.2222: Flags [S], seq 2030026446, win 65535, options [mss 1460,nop,nop,sackOK], length 0 19:54:05.681658 IP lev92-4-88-164-133-124.fbx.proxad.net.21384 > sd-xxxx.dedibox.fr.2222: Flags [S], seq 2030026446, win 65535, options [mss 1460,nop,nop,sackOK], length 0 ... Rien n'est donc forwardé entre eth0 et vif-debianTest Pourtant : # cat /proc/sys/net/ipv4/ip_forward 1 # cat /proc/sys/net/ipv4/conf/eth0/forwarding 1 # cat /proc/sys/net/ipv4/conf/all/forwarding 1 # cat /etc/sysctl.conf net.ipv4.ip_forward=1 net.ipv4.conf.all.proxy_arp=1 # ifconfig vif-debianTest vif-debianTest Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff inet adr:192.168.1.254 Bcast:0.0.0.0 Masque:255.255.255.255 adr inet6: fe80::fcff:ffff:feff:ffff/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:3 overruns:0 carrier:0 collisions:0 lg file transmission:32 RX bytes:196 (196.0 B) TX bytes:160 (160.0 B) # ip route show 88.190.238.164 dev vif2.0 scope link src 88.190.15.135 192.168.1.2 dev vif-debianTest scope link src 192.168.1.254 88.190.15.0/24 dev eth0 proto kernel scope link src 88.190.15.135 default via 88.190.15.1 dev eth0 J'ai testé avec mon laptop. Au début ca ne fonctionnait pas non plus, et depuis que j'ai une seule fois redemarré en mode nat par défaut dans le xend-config.sxp, ca marche. Même en remettant le mode route par défaut. Une idée? Merci :-) |