175 字
1 分钟
mwan3 + NPTv6 多线 IPv6 共存
有问题欢迎留言反馈。
前提
IPv6 ULA 前缀 要设置成 2001:db8::/32
配置脚本
修改 WAN_IF 中的接口名和 LAN_IF 内容,WAN_IF 可添加多个,用空格隔开。
注意:以下脚本加了 dstnat,直接使用官方写法会导致外网无法访问内网的 IPv6 地址服务。
cat << "EOF" > /etc/nftables.d/npt6.shLAN_IF="lan"WAN_IF="wan_isp1_6 wan_isp2_6"
. /lib/functions/network.shnetwork_flush_cachenetwork_get_prefix_assignment6 LAN_PFX "${LAN_IF}"
for WAN_IF in ${WAN_IF}; do network_get_device WAN_DEV "${WAN_IF}" network_get_prefix6 WAN_PFX "${WAN_IF}"
nft add rule inet fw4 srcnat \ oif "${WAN_DEV}" snat prefix to ip6 \ saddr map { "${LAN_PFX}" : "${WAN_PFX}" }
nft add rule inet fw4 dstnat \ iif "${WAN_DEV}" dnat prefix to ip6 \ daddr map { "${WAN_PFX}" : "${LAN_PFX}" }doneEOF
uci -q delete firewall.npt6uci set firewall.npt6="include"uci set firewall.npt6.path="/etc/nftables.d/npt6.sh"uci commit firewallservice firewall restart参考
- 官方文档:Multi-WAN IPv6 NPT
mwan3 + NPTv6 多线 IPv6 共存
https://iiii.fun/posts/openwrt/openwrt-nptv6/