Openwrt 开启 ipv6 中继

配置ipv6

进入 network -> interface

  1. wan6 -> edit -> dhcp server
    • general setup
      • Ignore interface:打勾
    • ipv6 settings
      • Designated master:打勾
      • RA-ServiceDHCPv6-ServiceNDP-Proxy全部设置为relay mode
      • Learn routes:打勾
      • Save 保存
  2. lan -> edit -> dhcp server -> ipv6 settings
    • RA-Servicerelay mode
    • DHCPv6-Servicehybrid
    • NDP-Proxyrelay mode
    • Local IPv6 DNS server:打勾
    • Learn routes:打勾
  3. 点击最下面的 Save&Apply,终端重连一下wifi应该就有公网ipv6了

这是 lan 口配置

这是 wan6 口配置

配置防火墙

ipv6 一般是运营商会分配/48,并且重播后会发生变化,经过路由器dhcp后,终端获取的是 /64,剩下的64位,如果是使用 EUI-64 无状态配置的话,那么后面64位是根据mac地址计算出来的。如下图,我的树莓派后面几位都是相同的,并且结尾的4位和mac地址结尾4位一样。

因为前缀会变,所以不能配置固定整个ip,需要用掩码。
直接进 network -> firewall -> traffic rules,

  1. 复制ipv6后面4段字符(假设是 1111:2222:3333:4444:aaaa:bbbb:cccc:dddd,则复制aaaa:bbbb:cccc:dddd
  2. Name随便填,Protocol按需
  3. 因为是要放行公网请求,Source zone 选 wan6
  4. source address&port是限制来源ip,可以不管,不填默认全部放行
  5. destination zone 选 lan
  6. destination address 填 ::{你复制的结尾}/::ffff:ffff:ffff:ffff(按1中假设,结果就是 ::aaaa:bbbb:cccc:dddd/::ffff:ffff:ffff:ffff
  7. destination port 就是需要放行的端口了,按需填,不填默认全部放行
  8. action 填 accept,允许请求
  9. Save 保存就好了

效果大概这样:

整完我的树莓派就能通过ipv6公网,从外网访问了。