将 IPv6 流量从 LAN 路由到 wg0

将 IPv6 流量从 LAN 路由到 wg0

我通过 wg0(WireGuard 接口)建立了 ipv6 连接,并且我的 LAN 有一个本地 ipv6 网络。

从通过 LAN 和 wg0(WireGuard)接口连接到路由器(Ubuntu 20.04.1)的桌面(Ubuntu 20.04.1),我执行以下操作:

mtr --show-ips google.com

并得到:

Host
1. 10.0.0.1 <- LAN gateway
2. 10.49.0.1 <- wg0 gateway
3. ...
4. ...

如果我现在这样做:

mtr -6 --show-ips google.com

我现在得到:

Host
1. fdb1:3d0e:7458:1f46:20e:c4ff:fece:e984 (fdb1:3d0e:7458:1f46:20e:c4ff:fece:e984) <- LAN gateway
2. (waiting for reply)

我同时运行 iptables 和 ip6tables,两者的指令相同。我不明白为什么我的 ipv6 LAN 无法连接到 wg0 网关,而我的 ipv4 LAN 可以。有人能指点一下可能出了什么问题吗?

答案1

我的 ip6tables 中缺少 *nat 部分 - 添加以下内容使其工作:

*nat

# Base policy
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
    
# wg0 is VPN interface
-A POSTROUTING -o wg0 -j MASQUERADE
    
COMMIT

相关内容