Linux
Fedora 25,pptp 連接但不工作,傳輸的數據包太多
更新到 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
檢查這個: http: //pptpclient.sourceforge.net/howto-diagnosis.phtml#ip_loop。
NM
(或pppd
)正在創建一個額外的、錯誤的預設路由(即使nodefaultroute
作為參數傳遞)。route del
不會刪除它。我通過告訴 NM 連接將與其他使用者共享來解決它。
這很可能是一個錯誤,但這解決了一段時間的問題。