如何阻止 netplan 在每个接口上绑定默认网关

如何阻止 netplan 在每个接口上绑定默认网关

我全新安装了 ubuntu server 17.10,但是这个问题可能会影响以前的版本,但这是我第一次遇到这种情况。

该服务器运行 2 个独立网卡,一个用于内部本地网络通信(受信任),另一个是与 ISP 的公共(不受信任)互联网连接。

过去,我总是将内部连接配置为静态的,并且没有默认网关,因为外部卡将通过我的 ISP 的 DHCP 提供(静态租用)。

/etc/netplan/00-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.xx/24]
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
    eth1:
      dhcp4: yes
      dhcp6: no

现在这工作正常,因为我没有提供网关4eth0 配置中的行,以便它绑定来自 ISP 的默认网关并正常工作。

从那时起,我就决定要为家庭实验室中的服务器使用静态租约,并在内部路由器上进行了配置。但是,当我将 netplan 配置设置为 dhcp 时,它会为两个接口添加默认网关(这是有道理的,因为两个 DHCP 服务器都提供网关)。

> route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
0.0.0.0         173.xxx.xxx.1   0.0.0.0         UG    100    0        0 eth1
173.xxx.xxx.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
173.xxx.xxx.1   0.0.0.0         255.255.255.255 UH    100    0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.1     0.0.0.0         255.255.255.255 UH    100    0        0 eth0

我如何设置 netplan 以便 eth0 适配器(内部)忽略 DHCP 服务器提供的默认网关(不删除 DHCP 服务器本身上的网关,因为其他机器仍然需要默认网关)。

答案1

Netplan v0.90 引入了一组新选项dhcp4-overrides:(拉取请求)。

因此,如果你的软件包版本netplan.io足够新(在此处查看可用版本),你可以使用这个:

    eno1:
      dhcp4: yes
      dhcp4-overrides:
        use-routes: false

相关内容