我的/etc/network/interfaces:
auto lo
iface lo inet loopback
auto wan
iface wan inet static
address $myPublicIP
netmask $ispSubnet
gateway $ispGateway
auto vpn
iface vpn inet static
address 10.102.1.194
netmask 255.255.255.192
up ip route add 192.168.10.32/27 via 10.102.1.196 dev vpn src 10.102.1.194 metric 10
up ip route add 192.168.11.0/24 via 10.102.1.196 dev vpn src 10.102.1.194 metric 10
ip r
按预期显示:
default via $wanGateway dev wan onlink
$wanGateway/$wanCIDR dev wan proto kernel scope link src $wanIP
10.102.1.192/26 dev vpn proto kernel scope link src 10.102.1.194
192.168.10.32/27 via 10.102.1.196 dev vpn src 10.102.1.194 metric 10
192.168.11.0/24 via 10.102.1.196 dev vpn src 10.102.1.194 metric 10
但即使重启后,流量仍通过 LAN(又名vpn
)网关 10.102.1.193/27 传输:
traceroute to 192.168.11.2 (192.168.11.2), 30 hops max, 60 byte packets
1 10.102.1.193 (10.102.1.193) 368.435 ms 368.370 ms 368.316 ms^C
这是 Proxmox VE 6.0-9 下的 Debian 10 LXC 容器。这是罪魁祸首吗,还是我遗漏了什么?我试过了这个答案,但由于某种原因它没有起作用——添加表和/或 IP 规则不会影响结果。
答案1
事实上,没有将10.102.1.193
网关列在 中的路由ip r
,而且接口名称为vpn
,这让我怀疑它是否实际上是tun
(或任何级别/第 3 层的东西)。在这种情况下,via
路由部分不会产生影响,因为没有涉及 ARP/MAC。
例如使用 OpenVPN(使用 tun),使用客户端作为网关的方法是启用client-to-client
并添加相应的iroute
推送route
(或在客户端上配置),以便 VPN 服务器知道将流量引导到哪里(即哪个客户端)(而不是在自己的主机上“将其释放”)。
尽管 VPN 看起来是多客户端设置,但使用该设置和 OpenVPN,您通常不会以这种方式配置地址(因为事实上,它要求您设置iroute
地址,否则服务器甚至不会响应您通过隧道进行的 ping)。所以也许这纯粹是我的猜测(或者您做错了一切)。