CentOS下配置PPTP VPN客户端

安装pptp和pptp-setup

pptp就不用解释了,pptp-setup是一个设置脚本,通过该脚本可以使用方便地进行初始化设置,生成配置文件。

创建配置

若报如下错误

则需要执行

向内核注册ppp_mppe模块

连接VPN

验证连接情况

然后通过如下命令验证连接情况

排错

如果上面命令没有任何返回,则说明连接失败了,可以参看/var/log/message文件了解错误的原因

若错误为:服务端不支持MPPE

MPPE required but peer negotiation failed

说明服务端不支持MPPE加密,pptpsetup时不需要使用–encrypt选项。可以手工修改/etc/ppp/peers/codelife文件

去除或者注释掉require-mppe-128

客户端不支持MPPE

若错误为

说明服务端要求MPPE加密,但是客户端不支持,pptpsetup时漏掉了–encrypt选项。解决方法正好相反,往/etc/ppp/peers/codelife文件添加一行require-mppe-128

配置路由表

连接成功后,通过route命令可参看路由表信息

可见,只添加了一条访问192.168.0.1 IP的路由信息。

访问特定网段

假设你想让登陆VPN服务器的客户端互相访问,那么,你需要在客户端上加入192.168.0.0网段,即:

然后使用ping命令测试

这里,192.168.0.201是另一台客户端,同样,若希望访问网段也需要加入类似的路由信息。

全部流量都通过VPN

如果您想连接VPN后,全部流量都通过VPN出去(翻墙),就像Windows 那样。那么按上面的步骤可能会遇到一些问题。因为,Linux的默认网关只能是一个,所以,这需要分两种情况。 #####a)没有默认网关 这时,你只需设置一个默认路由即可,例如:

b)已有默认网关

但更多情况下,默认网关都是存在的。例如,在这里的局域网内部已经设置了默认网关为192.168.228.153,例如:

若像上面那样添加一条路由是不行的,需要先让访问VPN服务端的流量可通过,然后才能转发其他的数据包。

更新后的路由表:

访问路径:

当然,关闭连接时,也是需要恢复默认网关的:

关闭连接

注意:启动连接很简单,但停止不能使用ifconfig pp0 down,否则只是禁用了ppp0网卡,后台连接还是存在的。当然,可以杀进程(killall pppd)来断开连接。不过,ppp工具包提供了更好用的脚本。但需要您进行一些额外的工作:

然后使用下面的命令启动和关闭连接即可:

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注