更新到 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 连接将与其他用户共享来解决这个问题。
这很可能是一个错误,但这暂时解决了问题。