我有一个 Linux Web 服务器,我需要创建一个带有网络路由的按需 l2tp ipsec VPN 连接。VPN 连接有效,路由通过 /etc/ppp/ip-up.d 中的脚本自动创建,该脚本需要设备 ppp0。当我在命令行上运行以下命令时,一切正常:
echo "c myvpn" > /var/run/xl2tpd/l2tp-control
正如预期的那样,vpn 通过 ppp0 连接,我的路由也创建了。但是,当我从脚本运行完全相同的命令时,有时 VPN 会使用 ppp1 连接,这会导致路由创建失败。
为什么会发生这种情况?没有其他网络活动正在进行。有没有办法指定使用哪个网络接口?
答案1
默认情况下,ppp 接口的名称不是固定的,但您可以使用unit 0
pppd 选项文件中的选项(0
是 ppp 接口名称的数字后缀)更改此行为,该文件由 xl2tpd 使用(pppoptfile
xl2tpd 配置文件中的选项)。要监视网络堆栈的活动,您可以使用ip monitor
命令。