现在大部分家庭宽带都支持IPv6,家庭内网设备可以分配到IPv6公网地址。但有IPv6公网地址并不意味着从外网就可以访问家庭内网设备及服务,还需要正确配置家庭路由器及光猫的防火墙。
家庭宽带一般都是光纤入户,光猫是家庭网络的第一道屏障。光猫上网有拨号路由及桥接两种方式。运营商默认大都配置的拨号路由模式,也有不少用户采用光猫桥接,路由器拨号的上网方式。光猫路由模式会开启防火墙,光猫会阻止外网的访问,桥接模式光猫没有防火墙。除了光猫,路由器默认也是会开启防火墙的,访问内网设服务需要正确配置防火墙。

当然最简单的方式是关闭光猫及路由器的防火墙。这里只看IPv6防火墙。下图是华硕路由器的IPv6防火墙开关,默认是开启状态。
华硕路由器IPv6防火墙开关
下图是华为光猫的防火墙开关。默认也是开启状态。
华为光猫IPv6防火墙开关
虽然关闭防火墙是最简单允许外网访问家庭内网服务的方法,但这种方式并不推荐。因为防火墙保护的是家庭网络安全,关闭防火墙就等于打开家庭网络的大门,网络安全会存在严重隐患。
正确的方式是只开启需要的网络访问,包括:
- 只允许需要访问的设备服务网络地址 (比如 2408:8000:10:30::2 )
- 只允许需要访问的服务端口 (比如 63219)
- 只允许指定的协议(比如 tcp, udp)
如下图中华硕路由器传入防火墙的配置示例,配置test服务允许访问2408:8000:10:30::2的家庭内部内部网络地址,端口为63219,协议为TCP。
华硕路由器传入防火墙配置
会有一个问题是家庭内部网络获得的IPv6地址并不是一直固定的,比如分配给家庭网络IPv6的地址前缀运营商会经常变化。这个问题可以用只匹配地址后缀的防火墙规则来解决,因为一个设备的IPv6地址后缀是有方法保持固定的,比如基于设备MAC地址的地址后缀生成方式。
下面是一个地址后缀匹配的示例,只允许访问地址后8位为32ad:3410的IPv6地址。
华硕路由器传入防火墙配置
华为光猫里对应的是IPv6虚拟主机配置,比如下图配置光猫IPv6防火墙允许到2408:8000:10:30::2的UDP 63219端口的访问。
华为光猫IPv6虚拟主机配置
华为光猫的一个问题是用户界面不支持地址后缀的匹配,如果要访问的IPv6地址是不固定的,只不填地址,允许对指定端口的所有地址访问。如下图配置,允许63219端口的UDP访问。
华为光猫IPv6虚拟主机配置
IPv6防火墙正确配置后,就可以从外网正常访问家庭内网中的IPv6服务了。