更新到 Fedora 25 後,我的 PPTP 連線之一奇怪地工作了。遠端網路不可用。
已連接,成功取得遠端網路IP位址。連接時沒有什麼可以在遠端網路中使用,但網路運作正常。幾分鐘後,連線自行斷開。
我注意到奇怪的事情,當 pptp 連接打開時,傳輸的數據太多TX packets
:
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1400
inet 192.168.1.96 netmask 255.255.255.255 destination ___.__.___.___
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 10 bytes 172 (172.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9864041 bytes 5842982146 (5.4 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在 10-15 秒內,它會顯示多達 5.4 GiB 的資料包。它生長得非常快。
如果firewalld 已停用,情況也是如此。
我正在使用網路管理器連接到 pptp。
[root@c0rp ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 25 (Twenty Five)
Release: 25
Codename: TwentyFive
[root@c0rp ~]# uname -a
Linux c0rp 4.10.8-200.fc25.x86_64 #1 SMP Fri Mar 31 13:20:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
有人可以幫我調查這個問題嗎?
提供解決方案後更新
route
我發現新建立的路由使用命令指向自身。 pptp 連接後準確檢查:
xxx.xxx.xxx.xxx 0.0.0.0 255.255.255.255 UH 50 0 0 ppp0
我所做的是:
- 刪除 從網路設備中刪除已指派的位址
- 新增回分配的位址以及替換對等位址
一切都與連結中指出的完全一樣。
最後我將這兩個步驟加入dispatcher.d
腳本:
#!/bin/bash
INTERFACE=$1
ACTION=$2
SSID="Your vpn connection name in Network Manager"
if [[ $CONNECTION_ID == "$SSID" ]]; then
if [[ $ACTION = "vpn-up" ]]; then
IP4_ADDRESS=$(ifconfig "$1" | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')
ip addr del "$IP4_ADDRESS" dev $INTERFACE
ip addr add "$IP4_ADDRESS" peer 192.168.1.9/24 dev $INTERFACE
fi
fi
我把這個腳本放入/etc/NetworkManager/dispatcher.d
答案1
檢查一下:http://pptpclient.sourceforge.net/howto-diagnosis.phtml#ip_loop。
NM
(或pppd
) 正在建立額外的、錯誤的預設路由(即使是nodefaultroute
作為參數傳遞)。route del
不會刪除它。
我透過告訴 NM 連接將與其他用戶共享來解決這個問題。
這很可能是個錯誤,但這暫時解決了問題。