开启VPN时无法连接SSH服务器


9

我最近发现,当我的工作站通过VPN连接进行连接时,无法从远程站点连接其SSH服务器。我确定这是一个路由问题,因为VPN客户端将默认网关更改为ppp连接的对等方(VPN服务器)。

有没有解决方案可以使SSH服务器和VPN客户端都满意?

Answers:


2

通常,当您使用VPN时,VPN网络会接管您的整个接口,因此您只能从VPN网络上的某个地方路由,而不能从整个Internet路由。大多数人通过运行一个vm(virtualbox等)并连接到该虚拟机中的vpn来解决此问题,这样它就不会完全破坏实际计算机上的主连接。


您可以做一些路由技巧,以一种方式路由来自vpn的数据,以另一种方式路由其他数据(不同的网关等),但使用virtualbox确实要容易得多。:-)
Stu

谢谢你的建议!我想知道什么路由技巧可以实现这一目标。
2011年

我正在使用VM stu,但是我无法做的是获取主机中的VPN,因为我需要进行开发工作。
Jamie Hutber

哦,我在建议另一种方式。仅在vm中使用vpn,这使reak机器可用于开放和免费的互联网。
斯图

2

在尝试进行网络设置之前,请检查所讨论的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已经侦听了正确的接口,请随意进入路由地牢:-)


1
应该ListenAddress设置到哪个地址?本地接口上服务器的IP?路由器的IP?还有吗
Psychonaut

0

您正在谈论拆分隧道。如果您熟悉命令行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流量的责任。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.