情况说明
- Wireguard 运行在内网一台 OpenWrt 路由器上( AP 模式,作为旁路由 /透明网关)
- OpenWrt 配置了 lan6 接口,可以获取公网 IPv6 地址
- OpenWrt 当然配置了 SSR PLUS
- 网关和 DNS 指定为 OpenWrt 的手机,test-ipv6.com 获得了 10 分,也可以访问纯 IPv6 站点
- WireGuard 配置了 NAT66 地址伪装,但是客户端无法获取 IPv6 地址
- 内网中另外一台 Linux 主机也开启了 WireGuard 及 NAT66 伪装,仅支持 IPv4 的电脑可以连接回家,访问 IPv6 网络
- OpenWrt 路由器增加与另外一台内网 Linux 主机相同的防火墙配置,依然无法获取 IPv6 公网地址
OpenWrt 配置
- /etc/config/network
config globals 'globals'
config interface 'lan'
option type 'bridge'
option ifname 'eth1 eth2 eth3'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.8.108'
option gateway '192.168.8.1'
option dns '192.168.8.1'
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
config interface 'wan6'
option ifname 'eth0'
option proto 'dhcpv6'
option reqaddress 'try'
option reqprefix 'auto'
config interface 'lan6'
option proto 'dhcpv6'
option ifname '@lan'
option reqaddress 'try'
option reqprefix 'auto'
option clientid 'cafe:0108'
config interface 'wgs0'
option proto 'wireguard'
option private_key 'PRIVKEY'
option listen_port '1380'
list addresses '10.7.0.1/16'
list addresses 'fda7::1/64'
config wireguard_wgs0 '1005'
option public_key 'PUBKEY'
list allowed_ips '10.7.10.5/32'
list allowed_ips 'fda7::1005/128'
option route_allowed_ips '1'
- 防火墙配置
- /etc/rc.local
#!/bin/bash
IPT="/usr/sbin/iptables"
IPT6="/usr/sbin/ip6tables"
IN_FACE="br-lan" # NIC connected to the internet
IN_FACE6="br-lan" # NIC connected to the internet
WG_FACE="wgs0" # WG NIC
SUB_NET="10.7.0.0/16" # WG IPv4 sub/net aka CIDR
WG_PORT="1380" # WG udp port
SUB_NET_6="fda7::/64" # WG IPv6 sub/net
## IPv4 ##
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE
$IPT -I INPUT 1 -i $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT
$IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT
$IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT
## IPv6 ##
$IPT6 -t nat -I POSTROUTING 1 -s $SUB_NET_6 -o $IN_FACE6 -j MASQUERADE
$IPT6 -I INPUT 1 -i $WG_FACE -j ACCEPT
$IPT6 -I FORWARD 1 -i $IN_FACE6 -o $WG_FACE -j ACCEPT
$IPT6 -I FORWARD 1 -i $WG_FACE -o $IN_FACE6 -j ACCEPT
$IPT6 -I INPUT 1 -i $IN_FACE6 -p udp --dport $WG_PORT -j ACCEPT
问题
请问是什么原因?哪里可能存在问题?
谢谢!