我的家庭 LAN 上有一个 Linux Mint 18.1 桌面。我在这台计算机上运行 PIA VPN,并在端口 22 上运行 ssh 服务器侦听。我可以使用内部 IP 地址从 LAN 上的其他计算机通过 ssh 登录到这台计算机。
我还想从互联网上通过 ssh 连接到这台计算机,所以我成功地在路由器上设置了端口转发。但是,当 PIA VPN 连接时,我最初无法从互联网进行 ssh。我通过创建基于源的 IP 路由规则解决了这个问题,如本文的最佳答案中所述:在与传入相同的界面上回复?。
以下是我所做的更改:
echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from 192.168.1.100 table isp2
ip route add default via 192.168.1.1 dev enp0s25 table isp2
192.168.1.100是计算机的内部IP地址
enp0s25 是我的网络适配器。
通过这些更改,我现在可以从 Internet ssh 到计算机,但从 LAN 上的计算机进行 ssh 不再有效(使用内部 IP 地址或 WAN 地址)。当我删除这些更改时,来自 LAN 计算机的 ssh 会恢复,但我无法访问互联网。
因此,我很清楚,我需要制定额外的 IP 路由规则,以便同时从 LAN 和互联网/WAN 进行访问。有人能指出我正确的方向吗?
谢谢!
答案1
基本上,您当前的设置使来自 192.168.1.100 的所有流量都使用第二个表isp2
该表只有默认网关设置。
你应该再添加一条路线
ip route add 192.168.1.0/24 dev enp0s25 src 192.168.1.100 table isp2