Answers:
通常,当您使用VPN时,VPN网络会接管您的整个接口,因此您只能从VPN网络上的某个地方路由,而不能从整个Internet路由。大多数人通过运行一个vm(virtualbox等)并连接到该虚拟机中的vpn来解决此问题,这样它就不会完全破坏实际计算机上的主连接。
在尝试进行网络设置之前,请检查所讨论的ssh服务器是否在vpn接口上进行侦听。也许它绑定到服务器上的特定接口。
netstat -a
输出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:ssh *:* LISTEN
在此示例中,ssh服务器侦听所有接口(由中的星号表示*:ssh
。如果在系统上存在主机地址,则ssh服务器将绑定到特定接口。
进行必要的编辑/etc/ssh/sshd_config
和设置ListenAddress 0.0.0.0
以进行调整。
如果sshd已经侦听了正确的接口,请随意进入路由地牢:-)
ListenAddress
设置到哪个地址?本地接口上服务器的IP?路由器的IP?还有吗
您正在谈论拆分隧道。如果您熟悉命令行ROUTE.EXE工具,则可以检查VPN客户端放置的路由并将其删除。然后,您需要重新添加一个,以仅允许到公司LAN的流量流经VPN网关。
具体来说,您将使用
route print
...以获取路由条目列表。没有看到输出,听起来您的VPN客户端将放置默认(0.0.0.0)条目,且网关为VPN对等网关。您可以使用
route delete 10.*
...例如,删除指向10.xxx网络的所有条目。
然后,您可以使用
route add 10.0.0.0 mask 255.0.0.0 10.0.99.99
...第一个地址(10.0.0.0 255.0.0.0)是您的公司网络和掩码,第二个地址是远程网关。
每次连接时都需要运行此脚本,因此可能需要编写脚本。
旁注:一种替代方法是说服您的公司设置其VPN以使用拆分隧道。这样做的理由是带宽减少,并且(IANAL)减少了通过其网络流动的非公司Web流量的责任。