我家里有两台 Linux 机器连接到同一个路由器。我在机器 A 上安装了 ssh-server,我可以从机器 B 本地连接到机器 A。但是,当机器 A 有 VPN 连接时,我无法做到这一点。我连接的 IP 是机器ifconfig
A 输出中的“wlp2s0/inet”。ifconfig
当连接到 VPN 时,(机器 A 的)输出有额外的“tun0”块。机器 B 没有(至少到目前为止)VPN 连接。我的目标是在机器 A 上建立 VPN 连接,并能够 ssh 机器 B->机器 A(仅限本地),因此如果某些虚拟机技巧更简单,也欢迎替代解决方案。
编辑:
machineA 是 192.168.0.108
machineB 是 192.168.0.102
因此,我尝试访问地址 192.168.0.108,但在机器 A 上打开 vpn(并使用相同端口)时失败。即使从机器 B ping 192.168.0.108 也没有响应。从机器 A ping 192.168.0.102 给出结果ping: sendmsg: Operation not permitted
。但是,当 vpn 关闭时,ping 机器 A <-> 机器 B 可以双向进行。
machineA$ route
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.13.10.5 128.0.0.0 UG 0 0 0 tun0
default gateway 0.0.0.0 UG 20600 0 0 wlp2s0
10.13.10.1 10.13.10.5 255.255.255.255 UGH 0 0 0 tun0
10.13.10.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.13.10.5 128.0.0.0 UG 0 0 0 tun0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp2s0
14.95.40.192.st gateway 255.255.255.255 UGH 0 0 0 wlp2s0
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0
machineA$ ip route
0.0.0.0/1 via 10.42.10.5 dev tun0
default via 192.168.0.1 dev wlp2s0 proto static metric 20600
10.42.10.1 via 10.42.10.5 dev tun0
10.42.10.5 dev tun0 proto kernel scope link src 10.42.10.6
128.0.0.0/1 via 10.42.10.5 dev tun0
169.254.0.0/16 dev wlp2s0 scope link metric 1000
192.40.95.2 via 192.168.0.1 dev wlp2s0
192.168.0.0/24 dev wlp2s0 proto kernel scope link src 192.168.0.108 metric 600
machineA$ ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
machineB$ ip route get 192.168.0.108
192.168.0.108 dev wlp2s0 src 192.168.0.102
cache
编辑 2:我注意到地址 192.40.95.2 在 VPN 重启之间最后位置发生了变化。例如 14->2->7
编辑 3:我感到有点惭愧。我在我的 vpn 客户端上启用了“禁用本地连接”开关。我似乎找不到、route
或ip route
输出ip rule
中任何明显的区别。
答案1
我感到有点惭愧。我的 vpn 客户端上启用了“禁用本地连接”开关。我似乎找不到任何明显的差异in route
或输出。ip route
ip rule