Kum*_*mar 6 network-manager wireless networking ppp
我希望我的 ppp0 连接比 wlan0 具有更高的优先级。我在/etc/network/interfaces文件中添加了以下几行。
iface wlan0 inet dhcp
up ifmetric wlan0 20
----------------------------------------------------------------------------
#route table after modifying
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.43.1 0.0.0.0 UG 20 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 20 0 0 wlan0
192.168.43.0 0.0.0.0 255.255.255.0 U 20 0 0 wlan0
220.224.141.145 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
Run Code Online (Sandbox Code Playgroud)
如您所见,wlan0 的指标更改为 20,但作为默认网关,它仍然优于 ppp0。当我检查路由的手册页时,提到“最近的内核未使用度量”。
我可以通过删除不需要的 gw 并将 ppp0 添加为 gw 来手动更改路由。但是当 wlan0 断开连接并重新连接时,路由表更改为默认值。如何将我的 ppp0 永久设置为默认 gw?
您可以通过多种方式更改默认路由。
进行此类操作的好地方是/etc/network/if-down.d/或/etc/network/if-up.d/
您可以在此文件夹中放置一些脚本并执行操作。比如把这个脚本放进去/etc/ppp/if-up.d/,让ppp0每次上去的时候都默认路由到界面,让脚本script以执行权限755调用
sudo nano /etc/ppp/if-up.d/script
# Check for specific interface if desired
[ "$IFACE" != "ppp0" ] || exit 0
# Do something
sudo route add default dev ppp0
Run Code Online (Sandbox Code Playgroud)
chmod 755 /etc/ppp/if-up.d/script
在第二种情况下wifi重新连接,再制作一个脚本,即 script2
sudo nano /etc/network/if-up.d/script2
# Check for specific interface if desired
[ "$IFACE" != "wlan0" ] || exit 0
# Do something
sudo route add default dev ppp0
Run Code Online (Sandbox Code Playgroud)
这会将如果wlan0向上设置默认路由到ppp0,如果ppp0向下路由将不会更改wlan0。
尝试。
编辑1
根据互联网研究,对于ppp0您将脚本移入的界面/etc/ppp/if-up.d
| 归档时间: |
|
| 查看次数: |
16621 次 |
| 最近记录: |