Linux的配置步骤如下:
三台Linux虚拟构建网络拓扑。
1、6rd域到6rd域
#配置CE设备
ip address add 192.168.110.27 dev eth0
ip link set eth0 up
ip tunnel add kali006rd mode sit local 192.168.110.27
ip tunnel 6rd dev kali006rd 6rd-prefix 2012:db8::/32 6rd-relay_prefix 192.168.147.136/32
ip link set kali006rd up
ip -6 addr add 2012:db8:c0a8:6e1b::1/64 dev kali006rd
ip -6 route add 2012:db8::/32 dev kali006rd
ip -6 route add default via ::192.168.147.136
ip route add 192.168.147.0/24 via 192.168.110.1
#配置ISP
ip address add 192.168.147.1 dev eth0
ip link set eth0 up
ip address add 192.168.110.1 dev eth1
ip link set eth1 up
#开启转发功能
sudo sysctl -w net.ipv4.ip_forward=1
#配置BR设备
ip address add 192.168.147.136 dev eth0
ip link set eth0 up
ip tunnel add kali006rd mode sit local 192.168.147.136
ip tunnel 6rd dev kali006rd 6rd-prefix 2012:db8::/32
ip link set kali006rd up
ip -6 addr add 2012:db8:c0a8:9388::1/64 dev kali006rd
ip -6 route add 2012:db8::/32 dev kali006rd
ip route add 192.168.110.0/24 via 192.168.147.1
CE@CE ~
$ ping6 2012:db8:c0a8:9388::1 -c 5
PING 2012:db8:c0a8:9388::1(2012:db8:c0a8:9388::1) 56 data bytes
64 bytes from 2012:db8:c0a8:9388::1: icmp_seq=1 ttl=64 time=2.14 ms
64 bytes from 2012:db8:c0a8:9388::1: icmp_seq=2 ttl=64 time=1.04 ms
64 bytes from 2012:db8:c0a8:9388::1: icmp_seq=3 ttl=64 time=1.05 ms
64 bytes from 2012:db8:c0a8:9388::1: icmp_seq=4 ttl=64 time=1.09 ms
64 bytes from 2012:db8:c0a8:9388::1: icmp_seq=5 ttl=64 time=0.934 ms
BR@BR:~# tcpdump -i eth0 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
02:40:03.145571 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2012:db8:c0a8:9388::1: ICMP6, echo request, seq 1, length 64
02:40:03.145729 IP 192.168.147.136 > 192.168.110.27: IP6 2012:db8:c0a8:9388::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 1, length 64
02:40:04.146697 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2012:db8:c0a8:9388::1: ICMP6, echo request, seq 2, length 64
02:40:04.146869 IP 192.168.147.136 > 192.168.110.27: IP6 2012:db8:c0a8:9388::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 2, length 64
02:40:05.148217 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2012:db8:c0a8:9388::1: ICMP6, echo request, seq 3, length 64
02:40:05.148358 IP 192.168.147.136 > 192.168.110.27: IP6 2012:db8:c0a8:9388::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 3, length 64
02:40:06.149687 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2012:db8:c0a8:9388::1: ICMP6, echo request, seq 4, length 64
02:40:06.149814 IP 192.168.147.136 > 192.168.110.27: IP6 2012:db8:c0a8:9388::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 4, length 64
02:40:07.151143 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2012:db8:c0a8:9388::1: ICMP6, echo request, seq 5, length 64
02:40:07.151270 IP 192.168.147.136 > 192.168.110.27: IP6 2012:db8:c0a8:9388::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 5, length 64
2、6rd域到IPv6网络
BR@BR:~# ip link add dev kaliBr0 type bridge
BR@BR:~# ip link set kaliBr0 up
BR@BR:~# ip -6 addr add 2233:ccc::1/64 dev kaliBr0
CE@CE ~
$ ping6 2233:ccc::1 -c 5
PING 2233:ccc::1(2233:ccc::1) 56 data bytes
64 bytes from 2233:ccc::1: icmp_seq=1 ttl=64 time=2.15 ms
64 bytes from 2233:ccc::1: icmp_seq=2 ttl=64 time=0.856 ms
64 bytes from 2233:ccc::1: icmp_seq=3 ttl=64 time=0.952 ms
64 bytes from 2233:ccc::1: icmp_seq=4 ttl=64 time=0.958 ms
64 bytes from 2233:ccc::1: icmp_seq=5 ttl=64 time=1.00 ms
--- 2233:ccc::1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 0.856/1.183/2.152/0.488 ms
BR@BR:~# tcpdump -i eth0 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
02:54:05.736613 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2233:ccc::1: ICMP6, echo request, seq 1, length 64
02:54:05.736723 IP 192.168.147.136 > 192.168.110.27: IP6 2233:ccc::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 1, length 64
02:54:06.737472 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2233:ccc::1: ICMP6, echo request, seq 2, length 64
02:54:06.737584 IP 192.168.147.136 > 192.168.110.27: IP6 2233:ccc::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 2, length 64
02:54:07.738647 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2233:ccc::1: ICMP6, echo request, seq 3, length 64
02:54:07.738754 IP 192.168.147.136 > 192.168.110.27: IP6 2233:ccc::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 3, length 64
02:54:08.739886 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2233:ccc::1: ICMP6, echo request, seq 4, length 64
02:54:08.739980 IP 192.168.147.136 > 192.168.110.27: IP6 2233:ccc::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 4, length 64
02:54:09.741205 IP 192.168.110.27 > 192.168.147.136: IP6 2012:db8:c0a8:6e1b::1 > 2233:ccc::1: ICMP6, echo request, seq 5, length 64
02:54:09.741365 IP 192.168.147.136 > 192.168.110.27: IP6 2233:ccc::1 > 2012:db8:c0a8:6e1b::1: ICMP6, echo reply, seq 5, length 64