xen dom0 config is : (network-script 'network-nat netdev=dummy0') (vif-script vif-nat) # ip -6 addr show 1: eth0: mtu 1500 qlen 1000 inet6 fe80::240:63ff:fee5:c6d0/64 scope link valid_lft forever preferred_lft forever 2: lo: mtu 16436 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 19: dummy0: mtu 1500 inet6 fe80::30ef:2ff:fe5e:2769/64 scope link valid_lft forever preferred_lft forever 21: vif1.0: mtu 1500 inet6 fe80::fcff:ffff:feff:ffff/64 scope link valid_lft forever preferred_lft forever 22: vif2.0: mtu 1500 inet6 2001:6f8:37e::1/48 scope global valid_lft forever preferred_lft forever inet6 fe80::fcff:ffff:feff:ffff/64 scope link valid_lft forever preferred_lft forever 24: sixxs@NONE: mtu 1480 inet6 2001:6f8:202:f9::2/64 scope global valid_lft forever preferred_lft forever inet6 fe80::a00:280/64 scope link valid_lft forever preferred_lft forever inet6 fe80::c0a8:180/64 scope link valid_lft forever preferred_lft forever inet6 fe80::c0a8:1fe/64 scope link valid_lft forever preferred_lft forever inet6 fe80::58bf:2122/64 scope link valid_lft forever preferred_lft forever # ip -6 route show 2001:6f8:202:f9::/64 via :: dev sixxs metric 256 expires 21330616sec mtu 1480 advmss 1420 metric 10 4294967295 2001:6f8:37e::/48 dev vif2.0 metric 256 expires 21330748sec mtu 1500 advmss 1440 metric 10 4294967295 fe80::/64 dev eth0 metric 256 expires 21329593sec mtu 1500 advmss 1440 metric 10 4294967295 fe80::/64 dev dummy0 metric 256 expires 21330202sec mtu 1500 advmss 1440 metric 10 4294967295 fe80::/64 dev vif1.0 metric 256 expires 21330326sec mtu 1500 advmss 1440 metric 10 4294967295 fe80::/64 dev vif2.0 metric 256 expires 21330469sec mtu 1500 advmss 1440 metric 10 4294967295 fe80::/64 via :: dev sixxs metric 256 expires 21330616sec mtu 1480 advmss 1420 metric 10 4294967295 ff00::/8 dev eth0 metric 256 expires 21329593sec mtu 1500 advmss 1440 metric 10 4294967295 ff00::/8 dev dummy0 metric 256 expires 21330202sec mtu 1500 advmss 1440 metric 10 4294967295 ff00::/8 dev vif1.0 metric 256 expires 21330326sec mtu 1500 advmss 1440 metric 10 4294967295 ff00::/8 dev vif2.0 metric 256 expires 21330469sec mtu 1500 advmss 1440 metric 10 4294967295 ff00::/8 dev sixxs metric 256 expires 21330616sec mtu 1480 advmss 1420 metric 10 4294967295 default dev sixxs metric 1024 expires 21330616sec mtu 1480 advmss 1420 metric 10 4294967295 # sysctl -a | grep forwarding net.ipv6.conf.teredo.forwarding = 0 net.ipv6.conf.eth1.forwarding = 0 net.ipv6.conf.default.forwarding = 0 net.ipv6.conf.all.forwarding = 0 error: "Operation not permitted" reading key "net.ipv6.route.flush" net.ipv6.conf.lo.forwarding = 0 net.ipv4.conf.eth1.mc_forwarding = 0 net.ipv4.conf.eth1.forwarding = 0 net.ipv4.conf.default.mc_forwarding = 0 net.ipv4.conf.default.forwarding = 0 net.ipv4.conf.all.mc_forwarding = 0 net.ipv4.conf.all.forwarding = 0 net.ipv4.conf.lo.mc_forwarding = 0 net.ipv4.conf.lo.forwarding = 0 error: "Operation not permitted" reading key "net.ipv4.route.flush" (xxxx) replaced to anonymize a little bit # iptables-save # Generated by iptables-save v1.3.5 on Wed Jul 26 02:55:41 2006 *raw :PREROUTING ACCEPT [5057:473215] :OUTPUT ACCEPT [2839:547828] COMMIT # Completed on Wed Jul 26 02:55:41 2006 # Generated by iptables-save v1.3.5 on Wed Jul 26 02:55:41 2006 *nat :PREROUTING ACCEPT [68:5324] :POSTROUTING ACCEPT [63:5069] :OUTPUT ACCEPT [31:2203] -A PREROUTING -i eth0 -j DNAT --to-destination 192.168.1.1 -A POSTROUTING -o dummy0 -j MASQUERADE -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j SNAT --to-source 88.xx.xx.xx COMMIT # Completed on Wed Jul 26 02:55:41 2006 # Generated by iptables-save v1.3.5 on Wed Jul 26 02:55:41 2006 *mangle :PREROUTING ACCEPT [5057:473215] :INPUT ACCEPT [4372:342544] :FORWARD ACCEPT [662:122592] :OUTPUT ACCEPT [2839:547828] :POSTROUTING ACCEPT [3501:670420] COMMIT # Completed on Wed Jul 26 02:55:41 2006 # Generated by iptables-save v1.3.5 on Wed Jul 26 02:55:41 2006 *filter :INPUT ACCEPT [4372:342544] :FORWARD ACCEPT [662:122592] :OUTPUT ACCEPT [2839:547828] -A FORWARD -s 192.168.1.1 -m physdev --physdev-in vif1.0 -j ACCEPT -A FORWARD -p udp -m physdev --physdev-in vif1.0 -m udp --sport 68 --dport 67 -j ACCEPT -A FORWARD -s 10.0.0.0/255.255.0.0 -m physdev --physdev-in vif2.0 -j ACCEPT -A FORWARD -p udp -m physdev --physdev-in vif2.0 -m udp --sport 68 --dport 67 -j ACCEPT COMMIT # Completed on Wed Jul 26 02:55:41 2006 ======================================== Dom1 / ipv4 only, works perfectly 192.168.1.1 ======================================== Dom2 / ipv6 only ~# ip addr show 1: lo: mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:16:3e:05:c2:60 brd ff:ff:ff:ff:ff:ff inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0 inet6 2001:6f8:37e::10/48 scope global valid_lft forever preferred_lft forever inet6 fe80::216:3eff:fe05:c260/64 scope link valid_lft forever preferred_lft forever 3: sit0: mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0 ~# ip -6 route show 2001:6f8:37e::/48 dev eth0 metric 256 expires 21330222sec mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev eth0 metric 256 expires 21330178sec mtu 1500 advmss 1440 hoplimit 4294967295 ff00::/8 dev eth0 metric 256 expires 21330178sec mtu 1500 advmss 1440 hoplimit 4294967295 default dev eth0 metric 1024 expires 21330546sec mtu 1500 advmss 1440 hoplimit 4294967295