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


网络拓扑:

wKioL1O5PLOiv1OWAADI79kiKMw453.jpg

其中××× 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,设置建立×××连接时所需要的账号/密码信息:

[root@localhost ~]#vi /etc/ppp/chap-secrets
"***1-user"    PPTP    "***123"      *
"***2-user"    PPTP    "***123"      *

(4)在/etc/ppp/peers下创建××× TUNNEL配置文件***1、***2

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

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

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

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

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

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

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

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

[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:此处填写第一个×××服务器IP地址

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

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

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

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

[root@localhost ~]# pppd call ***1
[root@localhost ~]# pppd call ***2

(7)断开连接

killall pppd

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