无需重新启动即可将持久路由添加到 Debian 10

无需重新启动即可将持久路由添加到 Debian 10

我正在尝试在 Debian 10 计算机上添加静态持久路由,而无需重新启动它。我的/etc/network/interfaces看起来像这样:

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

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens192
iface ens192 inet static
        address xxx.xxx.xxx.xxx/xx
        gateway xxx.xxx.xxx.xxx
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx
        dns-search domain.com
        up /bin/ip route add yyy.yyy.yyy.yyy/yy via yyy.yyy.yyy.yyy

发出问题后/etc/init.d/networking restart我失去了网络连接。对任何 IP 地址执行 ping 操作都会抛出该消息connect: Network is unreachable

如果我重新启动机器,一切(包括新的静态路由)都可以正常工作。

谁能给我提示如何添加静态持久路由而不需要重新启动机器?

答案1

正如@stoney 评论的那样,完全在线的方式是将命令添加到文件中interfaces,然后手动执行它。手动执行的替代方案是:

  • ifdown ens192 && ifup ens192或者
  • /etc/init.d/networking restartallow-hotplug替换后auto(当然,除非您实际上依赖于热插拔功能)。

这两种方法都会造成短暂的网络中断,但可以让您测试interfaces文件的实际内容(仅指定的节或全部)。

答案2

你有一个失踪的汽车 ens192在你的配置中声明!

这适用于 debian 9 (debian Stretch)、debian 10 (debian buster) 和 debian 11 (debian bullseye):

编辑/etc/network/interfaces文件并添加您的永久路线。

例子:

auto ens192
allow-hotplug ens192
iface ens192 inet static
    address 192.168.221.54/24
    gateway 192.168.221.1
    dns-nameservers 82.99.137.41 212.158.133.41
    dns-search secar.cz
    up ip route del 192.168.0.0/24 via 192.168.221.1 dev ens192 
    up ip route add 192.168.0.0/24 via 192.168.221.1 dev ens192
    up ip route del 192.168.1.0/24 via 192.168.221.1 dev ens192
    up ip route add 192.168.1.0/24 via 192.168.221.1 dev ens192

最后一步是重新启动网络:

~] /etc/init.d/networking restart
# or
~] systemctl restart networking

这是永久 Debian 静态路由的完整指南

相关内容