VPN 连接启动后执行脚本

VPN 连接启动后执行脚本

我正在使用网络管理器启动 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

相关内容