由于IPv4的公网IP地址资源很少,运营商往往没有给用户分配IPv4的公网地址。但是IPv6的公网地址是提供的。但是IPv6的公网地址也是动态的地址,这样就导致每台内网主机都要设置DDNS,比较麻烦。同时因为IPv6不能像IPv4一样,简单的在防火墙设置端口转发就可以。所以如何实现利用路由器的IPv6公网地址,实现IPv4的内网的地址的主机端口转发。下面这个方案用到了socat这个应用。
第一步:
opkg update
opkg install socat
socat TCP6-LISTEN:XXXX,reuseaddr,fork TCP4:192.168.Y.Y:zzzz &
上面这条命令的XXXX是路由器IPv6的端口号,192.168.Y.Y是你内网主机的地址,zzzz是内网主机的IPv4的端口号。
第二步:
在路由器的防火墙设置中,设置“通讯规则”中打开路由器的IPv6的XXXX端口。