如何使用 systemd 从默认路由表中删除网关

如何使用 systemd 从默认路由表中删除网关

我的机器上有两个物理接口,都具有 DHCP,因此我的默认路由表如下所示:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.10.26.129    0.0.0.0         UG    0      0        0 enp8s0
default         10.10.24.1      0.0.0.0         UG    1024   0        0 eno1
10.10.24.0      *               255.255.255.0   U     0      0        0 eno1
10.10.24.1      *               255.255.255.255 UH    1024   0        0 eno1

为了删除10.10.24.1网关,我运行以下命令:

route del default gw 10.10.24.1

我希望在启动后删除它,systemd这是一种合适的方法,但是我应该如何使用从默认路由表中删除网关ystemd

以下是我尝试过的,但是没有效果:

[Unit]
Description=delete gateways from the main routing table

[Service]
Type=idle
RemainAfterExit=yes
ExecStart=/bin/route -b /etc/iproute2/delgw

[Install]
WantedBy=network.target

文件德尔格

del default gw 10.10.24.1

答案1

在您的接口配置文件中,您将地址 10.10.24.1 设置为默认网关。只需找出它在哪个地址,将其删除/注释掉,然后重新启动服务器即可。您无需执行任何其他操作。

答案2

您应该编辑 eno1 的 dhcp 配置文件。

寻找类似的东西

interface "eno1" {
send host-name "andare.fugue.com";
send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
send dhcp-lease-time 3600;
supersede domain-name "fugue.com rc.vix.com home.vix.com";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, host-name;
require subnet-mask, domain-name-servers;
script "/etc/dhclient-script";
media "media 10baseT/UTP", "media 10base2/BNC";

}

从“请求子网掩码、广播地址、时间偏移、路由器”行中删除“路由器”。

根据您的发行版,dhclient.conf 的位置可能会改变。

相关内容