Fedora 25,pptp 連線但無法運作,傳輸的資料包過多

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

我所做的是:

  1. 刪除 從網路設備中刪除已指派的位址
  2. 新增回分配的位址以及替換對等位址

一切都與連結中指出的完全一樣。

在此輸入影像描述

最後我將這兩個步驟加入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 連接將與其他用戶共享來解決這個問題。

這很可能是個錯誤,但這暫時解決了問題。

相關內容