windows和手機連接***很常用,今天有需求在centos下面連接***;
步驟很簡單:
1.yum install ppp pptp pptp-setup
2. pptpsetup --create<定義的名稱> --server<服務器> --username <用戶名> --password <密碼> [--start]
<>必填,[]可選
比如:pptpsetup --create *** server 111.111.111.111 --username abc --password *** –start
3.關閉:killall pppd
4.啓用:pppd call
但是沒連上***,查看日誌:
tail -100f /var/log/messages|grep ppp
Nov 19 15:23:09 151test pppd[8613]: pppd 2.4.5 started by root, uid 0
Nov 19 15:23:09 151test pppd[8613]: Using interface ppp0
Nov 19 15:23:09 151test pppd[8613]: Connect: ppp0 <--> /dev/pts/0
Nov 19 15:23:09 151test NetworkManager[704]: <info> [1542612189.0159] manager: (ppp0): new Generic device (/org/freedesktop/NetworkManager/Devices/6)
Nov 19 15:23:12 151test pppd[8613]: EAP: peer reports authentication failure
Nov 19 15:23:12 151test pppd[8613]: Connection terminated.
Nov 19 15:23:12 151test pptp[8614]: anon warn[decaps_hdlc:pptp_gre.c:229]: pppd may have shutdown, see pppd log
Nov 19 15:23:12 151test pppd[8613]: Exit.
vi /etc/ppp/options 不是 options.pptp,默認裏面是lock,刪除lock添加以下配置:
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
require-mppe
再啓動試試:
pppd call ***
tail -100f /var/log/messages|grep ppp
Nov 19 15:43:58 151test pppd[8871]: pppd 2.4.5 started by root, uid 0
Nov 19 15:43:58 151test pppd[8871]: Using interface ppp0
Nov 19 15:43:58 151test pppd[8871]: Connect: ppp0 <--> /dev/pts/2
Nov 19 15:43:58 151test NetworkManager[704]: <info> [1542613438.8796] manager: (ppp0): new Generic device (/org/freedesktop/NetworkManager/Devices/9)
Nov 19 15:44:02 151test pppd[8871]: CHAP authentication succeeded
Nov 19 15:44:02 151test pppd[8871]: MPPE 128-bit stateless compression enabled
Nov 19 15:44:05 151test pppd[8871]: local IP address 172.18.18.13
Ok,至此***連到服務器了,但是上網沒走***,還是有問題:
[root@151test log]# ip a |grep ppp
9: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1396 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet 172.18.18.13 peer 172.18.18.10/32 scope global ppp0
[root@151test log]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 ens33
111.111.111.111 192.168.1.1 255.255.255.255 UGH 0 0 0 ens33
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.18.10 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.18.18.13 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
這裏需要將ppp0的路由設爲:將所有對外網絡都通過ppp0路由:
[root@151test log]# route add -net 0.0.0.0 dev ppp0
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 ens33
111.111.111.111 192.168.1.1 255.255.255.255 UGH 0 0 0 ens33
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.18.10 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.18.18.13 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
然後再試試應該ok了。
PS:網上的解決方案;
若錯誤爲:
MPPE required but peer negotiation failed
說明服務端不支持MPPE加密,pptpsetup時不需要使用—encrypt選項。可以手工修改/etc/ppp/peers/codelife文件
# vim /etc/ppp/peers/codelife
去除或者註釋掉require-mppe-128
若錯誤爲:
LCP terminated by peer (MPPE required but peer refused)
說明服務端要求MPPE加密,但是客戶端不支持,pptpsetup時漏掉了—encrypt選項。解決方法正好相反,往/etc/ppp/peers/codelife文件添加一行require-mppe-128