文章

LEDE 配置 IPv6 以及公网访问

偶然发现江苏电信宽带已经分配了 IPv6 pd 前缀,一不做二不休搞一下。

基础概念

IPv6 与 v4 不同。v4 时代运营商一般只给用户分配1个公网 ip,然后用户自己的路由器通过 NAT 再给局域网设备分配内网 IP,也就是 192.168.x.x 这种。这种情况下内网设备没有独立的公网 IP,要想从公网访问必须配置路由器端口转发。

随着 v4 资源枯竭,现在运营商默认已经不再分配公网 IP 了。要想正常从外网访问,必须做内网穿透。

IPv6 有无数个地址可供分配,“可以给地球上的每一粒沙子都分配一个 IP 地址”。因此运营商分配的策略也会变化。v4 分配的是一个地址,而 v6 分配的是一个前缀,也就是所谓的 pd,相当于是一整个网段,我们可以自己继续往下分配,从而使得每一个局域网设备都能获得公网 IP 地址。

这里采用的方案是光猫桥接,LEDE 路由拨号。

如果无法访问光猫

很多人用 LEDE 连接后可以上网但是打不开光猫的管理页面。

要求:知道光猫的 IP 且不与 LEDE 在同一网段。

假设光猫接到了路由器的 eth0 口,光猫 IP 是192.168.1.1,进入 LEDE 终端执行下面指令:

#eth0是接光猫的网口名称,192.168.1.2随便写(是分配给LEDE WAN的IP),不冲突且位于光猫网段就行。
ifconfig eth0 192.168.1.2 netmask 255.255.255.0

#下面两个是添加防火墙规则允许访问光猫
#192.168.1.1为光猫自身IP
iptables -I forwarding_rule -d 192.168.1.1 -j ACCEPT
#192.168.1.1为光猫自身IP
iptables -t nat -I postrouting_rule -d 192.168.1.1 -j MASQUERADE

然后就可以访问光猫的自身 IP 了。

配置光猫

首先得确认光猫启用了 IPv6。一般来说电信应该远程下发配置支持 v6 了,登录光猫后台,进入 状态-网络侧信息,查看 INTERNET 的 IPv6 是否启用就行了。

如果进去后界面比较美观,显得「不专业」,找不到网络侧状态。那么尝试访问 8080 端口进入专业的登录界面。或者回到标准登录界面,找到并点击类似 快速装维入口 的按钮,再点击 返回登录页面 就好了。

如果 IPv6 没有启用,要想办法拿到光猫的超级密码,可以自己搜索型号或者去X宝找人帮忙。进入后台后点击 网络-宽带设置,连接名称选择 INTERNET B_ VID,IP 模式选择 IPv4&IPv6 就好了。(或者尝试联系宽带师傅帮忙更改)

光猫配置

配置路由

WAN:

进入 网络-接口-WAN-高级设置,勾选 使用内置 IPv6管理,自动获取 IPv6 地址。

WAN 设置

LAN:

LAN-一般设置-高级设置,勾选 使用内置 IPv6 管理DHCP-IPv6设置,改为服务器模式。

如果 WAN 配置 IPv4 的时候没有勾选使用对端通告的 DNS 而是手动指定的,那么此处必须同步指定 IPv6 的 DNS。

负载均衡:

这一步必不可少否则 IPv6 流量会不可达。

网络-负载均衡-策略,将所有条目的 备用成员 修改为 默认(使用主路由表)

其实也可以在 规则 选项卡看看实际使用了哪些策略,只改这一部分也行。

到此为止路由器以及下属的设备应该就可以访问 IPv6 啦 :tada:

可以在 网络-诊断 里 Ping 一下 ipv6.baidu.com,或者在命令行执行 ping -6 ipv6.baidu.com 来测试。

外网访问内部设备的公网 IP

一开始已经讲到,IPv6 一大特点就是可以给局域网每一个设备都分配一个公网 IP 而不需要使用路由器 IP 进行端口转发。现在我们已经成功得到地址了,在网络-接口里看到 LAN 的 IPv6 地址,我们可以用另一个外网设备(例如手机使用流量)进行 ping 是通的,当然前提是你的手机也得有 IPv6 才行,可以使用流量打开 http://www.test-ipv6.com/ 进行测试。

但是如果 ping 内网设备就不通了,原因是防火墙拦截。进入 网络-防火墙-通信规则-新建转发规则,名字随便填,源区域为 WAN,目标区域为 LAN 添加并编辑。限制地址为 仅IPv6,协议任何,动作接受

防火墙规则

这样就可以顺利从外网访问内部设备的 IPv6 地址了。

警告 :bangbang: 上述规则仅供测试,把所有设备所有端口所有协议暴露在公网是非常危险的 :bomb: 如有需要,请至少指明目标地址与协议,并妥善配置设备自身的防火墙。测试完成后请立即删除上述转发规则:heavy_exclamation_mark:

IPv6 常识

地址前缀:

  • 240e::/20: 中国电信
  • 2409:8000::/20: 中国移动
  • 2408:8000::/20: 中国联通
  • 2000::/3: 全局单播地址。也就是全球可路由的公网地址。上述三个都属于这个。
  • FE80::/10: 链路本地地址。类似 192.168.x.x
  • 2002::/16: 仅供 6to4 隧道使用

特殊地址:

  • ::: 相当于 0.0.0.0
  • ::1: 相当于 127.0.0.1