Linux(fedora)下通过ppp同时建立两个VPN连接

最近使用Fedora中图形界面下网络连接管理工具NetworkManager连接VPN时发现一个问题——不能同时建立两个VPN连接。在一个VPN连接已经建立的情况下,再尝试同时建立第二个VPN连接时,会导致第一个VPN连接断开的问题。经查阅相关文档发现该问题是由于NetworkManager限制了VPN连接数量导致的,NetworkManager同一时间只允许建立一个VPN连接。如何解决该问题呢?既然NetworkManager禁止同时建立两个VPN连接,我们不妨抛开NetworkManager,通过ppp来满足我们的需求。


网络拓扑:

其中VPN Server端已经配置完成,可以提供下面步骤中相关账号,连接验证方式为CHAP。

Client具体配置步骤如下:

(1)关闭NetworkManager服务,同时禁止该服务随系统启动:

[root@localhost ~]#systemctl stop NetworkManager.service
[root@localhost ~]#systemctl disable NetworkManager.service

(2)安装ppp软件包:

[root@localhost ~]#yum -y install ppp

(3)修改配置文件/etc/ppp/chap-secrets,设置建立VPN连接时所需要的账号/密码信息:

[root@localhost ~]#vi /etc/ppp/chap-secrets
"vpn1-user"    PPTP    "vpn123"      *
"vpn2-user"    PPTP    "vpn123"      *

(4)在/etc/ppp/peers下创建VPN TUNNEL配置文件vpn1、vpn2

[root@localhost ~]#vi /etc/ppp/peers/vpn1
pty "pptp *.*.*.* --nolaunchpppd"    #注释1
name vpn1-user                       #注释2
remotename PPTP                      #注释3
require-mppe-128                     #注释4
file /etc/ppp/options.pptp           
ipparam vpn1                         #注释5
[root@localhost ~]#vi /etc/ppp/peers/vpn2
pty "pptp *.*.*.* --nolaunchpppd"    
name vpn2-user                      
remotename PPTP                     
require-mppe-128                    
file /etc/ppp/options.pptp           
ipparam vpn2

        注释1:此处"*.*.*.*“替换成VPN服务器IP(此处需要根据自己环境设置)

        注释2:连接VPN所用的用户名(此处需要根据自己环境设置)

        注释3:用于在/etc/ppp/chap-secrets中查找用户密码

        注释4:支持MPPE(如不需要,注释掉此处设置,同时需要注释掉/etc/ppp/options.pptp中相关设置)

        注释5:定义TUNNEL名称(此处需要根据自己环境设置)

        NOTE:关于该文件配置详情请参考

(5)创建/etc/ppp/ip-up.local文件,该文件用于存放在建立VPN连接时自动执行的命令(如添加自定义路由)

[root@localhost ~]# vi /etc/ppp/ip-up.local
#!/bin/bash
route add -net 192.168.0.0/20 gw *.*.*.*     #注释6
route add -net 0.0.0.0/24 gw *.*.*.*         #注释7
if $? ;then
    route del default gw *.*.*.*             #注释8
fi

        注释6:此处填写第一个VPN服务器IP地址

        注释7:此处填写第二个VPN服务器IP地址

        注释8:此处填写本地网关IP地址

        NOTE:使用该示例配置在建立VPN连接时会自动添加两条路由条目,路由条目根据实际需求设置

(6)执行命令,建立VPN连接

[root@localhost ~]# pppd call vpn1
[root@localhost ~]# pppd call vpn2

(7)断开连接

killall pppd

OK。配置结束。使用以上方法我们可以单独建立一个VPN连接,也可以同时建立两个VPN连接。

本文出自 “BlackArt” 博客,请务必保留此出处http://blackart.blog.51cto.com/1142352/1435081

Linux(fedora)下通过ppp同时建立两个VPN连接,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。