静态 IP 强制路由到未连接到网络的接口

静态 IP 强制路由到未连接到网络的接口

我正在设置一个信息亭类型的系统,它有时会使用静态 IP 连接到特定的以太网源,有时通过 wpa_supplicant 连接到各种 wifi 网络。系统启动后,它会自动启动与 VPN 的连接。问题是,如果我在接口文件中指定静态 IP,那么即使没有以太网连接并且我们连接到 wifi,系统也会假定这是默认路由,而 VPN 无法连接。

有没有办法让系统更动态地选择默认路线?

该系统运行的是 16.04。如果有用的话,我的接口文件如下。

$ more /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
  address 10.1.1.200
  netmask 255.255.255.0
  gateway 10.1.1.1
  dns-nameservers 8.8.8.8 8.8.4.4


allow-hotplug wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -i wlan0 -c/etc/wpa_supplicant.conf -B
post-down killall -q wpa_supplicant

答案1

  • 一种方法是删除硬编码网关并编写if-up.d如下脚本这个帖子检查网络然后使用route命令设置默认网关。

  • 或者通过设置动态路由的高级方式,参见:Debian 手册

相关内容