![VPN 连接启动后执行脚本](https://linux22.com/image/1105457/VPN%20%E8%BF%9E%E6%8E%A5%E5%90%AF%E5%8A%A8%E5%90%8E%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC.png)
我正在使用网络管理器启动 VPN 连接。建立连接后,我必须更改最大传输单元才能正常工作。例如:
sudo ifconfig ppp0 mtu 777
每次打开 VPN 连接时都要执行此命令,这很烦人。有没有办法创建一个脚本,在建立连接后(ppp0 接口已启动)自动执行此命令?
答案1
在中创建一个脚本/etc/network/if-up.d
,包含
#!/bin/sh
if [ "$IFACE" = "ppp0" ]; then
ifconfig ppp0 mtu 777
fi
和使其可执行。
答案2
这是@enzotib 优秀答案的现代化(使用ip
而不是ifconfig
)和通用(openconnect
在命令行上使用tun0
,网络管理器vpn0
通过网络小程序使用;如果另一个网络已处于活动状态,则数字可能会有所不同)变体,在 Ubuntu 20.04 上测试:
#!/bin/bash
if [[ "$IFACE" =~ ^(tun|vpn)[0-9] ]]; then
ip link set "$IFACE" mtu 777
fi