我目前正在使用WireGuard,使用wg-quick
,一切都正常。它使用手动定义的IPv6地址,但不使用IPv4地址。
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
Address = xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/128
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = wg.example.com:xxxx
7: xxxx0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/128 scope global
valid_lft forever preferred_lft forever
我尝试使用NetworkManager
而不是wg-quick
。导入它之后,nmcli conn import type wireguard file xxxx0.conf
接口就不再工作了,并且被困在0 B received
,或者至少是这个特定的服务器上。
除了设置原始的IPv6地址之外,还会向接口添加生成的地址。
10: xxxx0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/128 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link noprefixroute
valid_lft forever preferred_lft forever
我认为删除这个额外的IPv6地址应该可以解决这个问题。如何防止使用或添加这个附加的IPv6地址,以便只使用手动指定的地址?我试着用nmcli conn show xxxx0
寻找选择,但找不到明显的选择。
我不知道NetworkManager
和wg-quick
还有什么不同之处。我试着比较ip rule
和ip route show table <from rule>
,但两者基本上是一样的。
发布于 2022-08-24 19:43:52
inet6 xxxx::xxxx:xxxx/64范围链接
这是一个本地链接地址。这不太可能是问题的原因。
您说您比较了NetworkManager配置的内容。它将看到,一个潜在的差异可以清楚地看到那里。
检查wg show
,ip addr
,ip -4 route show table all
,ip -6 route show table all
,ip -4 rule
,ip -6 rule
。
特别是,您没有配置IPv4地址--尽管设置了AllowedIPs = 0.0.0.0/0
和DNS = 1.1.1.1
。由于AllowedIPs
和wireguard.ip4-auto-default-route
设置,NetworkManager将为IPv4添加默认路由(在不同的路由表中)。那条路将无路可走。
我不认为IPv4将通过虚拟专用网工作。你检查过IPv6是否有效吗?
修复您的配置,以配置IPv4地址或不添加0.0.0.0/0的端点范围。或者至少,禁用wireguard.ip4-auto-default-route
,这样NetworkManager就不会自动添加无意义的默认路由--不知道为什么会有用。
https://unix.stackexchange.com/questions/713368
复制相似问题