我的Isatap隧道
ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)是一种IPv6转换传送机制,允许IPv6数据包通过IPv4网络上双栈节点传输。
通信原理:双栈主机在与其他主机或路由器通信之前,首先要获得一个ISATAP地址。双栈主机先向ISATAP服务器发送路由请求,得到一个IPv6地址前缀,然后再加上接口标识符::0:5EFE:X.X.X.X(这里的X.X.X.X是双栈主机的IPv4单播地址),这样就构成一个ISATAP地址。双栈主机配置了ISATAP地址后,就成了一个ISATAP客户机,进而就可以在IPv4域内和其他的ISATAP客户机进行通信了。一般来说,ISATAP地址的配置既支持无状态地址自动配置方式,也支持手工配置方式。
安装radvd服务:
[root@sed ~]# yum install radvd -y
[root@sed ~]# vim /etc/radvd.conf #配置如下:
interface isatap0 #自动定义隧道接口名称
{
AdvSendAdvert on;
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
prefix 2019:2018:2017:2016::/64 #isatap隧道的前缀
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
#设置AdvRouterAddr on后,表示发送接口地址,而不是所需的网络前缀,可能会导致约120s远程isatap隧道会中断。
};
};
[root@sed ~]# ip tunnel add isatap0 mode isatap local 192.168.1.104
[root@sed ~]# ip link set isatap0 up
[root@sed ~]# ip addr add 2019:2018:2017:2016:0:5efe:192.168.1.104/64 dev isatap0
[root@sed ~]# ip addr add 2019::1/64 dev ens37 #给网卡2配置ipv6地址
[root@sed ~]# echo "1" > /proc/sys/net/ipv6/conf/all/forwarding #开启ipv6转发功能
[root@sed ~]# systemctl start radvd
------------------------------------windows客户端代替路由器测试
C:>netsh
netsh>interface ipv6 isatap
netsh interface ipv6 isatap>set router 192.168.1.104
确定。
netsh interface ipv6 isatap>set state enable
确定。
netsh interface ipv6 isatap>exit
禁用网卡,重启网卡获取隧道前缀
-----------------------------------------
测试效果:
------------------------------------------------------------------------------
更多参数请查阅参数: man radvd.conf