在 /network/interfaces 中添加到 debian 10 的静态路由

在 /network/interfaces 中添加到 debian 10 的静态路由

在 Debian 9 之前,我曾经这样添加静态路由:

up route add -net 1.2.3.4.5/23 gw 2.3.4.5.6
up route add -host 2.3.4.5 gw 3.4.5.6

debian10 发生了什么变化以及文件中静态路由的新语法是什么/etc/network/interfaces

答案1

这些up ...线不是独立的,而是iface ...它们之前的线的延伸。在 Debian 9 之前,实际的网络接口几乎总是在 中的最后一个条目/etc/network/interfaces,因此只需up route add ... 在末尾添加几行实际上可能经常有效。

如果您选择安装桌面环境,安装时可能会包含 NetworkManager,在这种情况下,您的网络接口可能根本没有iface线路,而是由 NetworkManager 控制接口。在这种情况下,您可以使用一次性nmcli命令来持久添加新路由:

 nmcli c modify eno1 +ipv4.routes "1.2.3.4/23 2.3.4.5" # network route
 nmcli c modify eno1 +ipv4.routes "2.3.4.5 3.4.5.6" # host route

如果您不使用 NetworkManager...net-tools包含旧命令的软件包ifconfigrouteDebian 9 起已被弃用,并且默认情况下不再安装。因此,除非您明确选择安装net-tools,否则您应该使用较新的ip route命令:

iface eno1 ...
    up /bin/ip route add 1.2.3.4/23 via 2.3.4.5   # network route
    up /bin/ip route add 2.3.4.5/32 via 3.4.5.6   # single host route

答案2

这适用于 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

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

答案3

我解决了这个问题/etc/systemd/network/,这里我把所有的网络配置都放上了!

替换或注释(如果存在):dhcp.networkstatic.network 文件

[Match]
Name=e*

[Network]
Address=aaa.aaa.aaa.aaa/aa  (MY IP)
Gateway=ccc.ccc.ccc.ccc         (Default Gateway)
DNS= 8.8.8.8
DNS= 8.8.4.4


[Route]
Destination=yyy.yyy.yyy.yyy/yy
GatewayOnlink=true
Gateway=zzz.zzz.zzz.zzz
Metric=1


[Route]
Destination=xxx.xxx.xxx.xxx/xx
GatewayOnlink=true
Gateway=xxx.xxx.xxx.xxx
Metric=1

相关内容