Ubuntu下使用vpn连接远程服务器

公司的服务器提供了vpn接入点,这样在家里也可以通过vpn连到公司的服务器里作一些事情。昨天下午申请了vpn帐号,然后先在windows下试着连接vpn服务器,一切okay,证明自己的vpn帐户没有问题,于是今天准备在Ubuntu下也配置一下vpn的访问环境。

我使用的VPN客户端是 Ubuntu官方源里提供的 pptp-linux。先sudo apt-get install pptp-linux 下载安装pptp 客户端。

然后查了一下pptp的manual,也在网上search了一下,发现pptp的命令行选项貌似还比较简单:

sudo pptp <vpn服务器地址> user <vpn用户名> password <密码>。


公司的vpn服务器的外网ip是 100.100.1.1,内网ip是192.168.1.1,vpn用户名是hello,密码是hello,,于是在调用如下命令以后:

sudo pptp 100.100.1.1 user hello password hello

再ifconfig,发现新增加了一个名称为ppp0的网络连接,这个连接对应的ip地址应该是跟你连接的vpn服务器所属的内网地址属于同一网段。在我的这个应用场景中新增加的ppp0网络连接对应的ip地址是192.168.1.x。这个新建立的ppp0连接就是用于提供vpn连接服务的。

然后我就试着ping公司的vpn服务器的内网ip 192.168.1.1,能够正常ping通。再ping其他服务器,如192.168.1.10,发现ping命令失败!很不解,花了点时间想了想,猜测有可能是访问公司服务器的相应网关的设置不正确。于是试着:

route add 192.168.1.10   gw 192.168.1.1

然后再试着ping 192.168.1.10,这次就可以正常ping通了。

然后试着ssh登录192.168.1.10,也成功了。

至此,我在Ubuntu下的vpn工作环境配置完毕。