我在 Windows 服务器上运行 Wireguard,并连接到多个对等点。
对等点 A <-> 服务器 <-> 对等点 B
为了让对等体能够互相 ping 通(对等体 A 想要到达对等体 B),需要启用 IP 路由/转发。
对于 IPv4 来说,通过在注册表中启用 IPEnableRouter 可以很容易地实现这一点HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
然而,对于 IPv6,我找不到全球的开关以启用 IP 转发。可以很容易地为特定接口启用它:
netsh interface ipv6 set interface 14 forwarding=enabled
但是,这无济于事,因为 Wireguard 会删除并重新创建接口,因此每次重新/断开连接时转发状态都会丢失。
也可以Set-NetIPInterface -Forwarding Enabled
通过 PowerShell 执行此操作并将所有接口设置为 forwarding=enabled,但与以前的方法一样,这只会覆盖现有的接口。
那么,是否有一个选项可以“默认”启用 IPv6 转发,例如针对新接口?
在 Linux 上,我只需要执行/proc/sys/net/ipv6/conf/all/forwarding=1
或/proc/sys/net/ipv6/conf/default/forwarding=1
,因此本质上我正在寻找与此等效的 Windows 。