尽管 netplan 配置如此,绑定中的从属网卡是否能从 DHCP 获取 IP?

尽管 netplan 配置如此,绑定中的从属网卡是否能从 DHCP 获取 IP?

我在 Ubuntu Server 19.10 上使用 netplan,在 balance-rr 绑定中我有 4 个绑定网卡。它在 Netplan 中配置为静态 IP。应用 netplan 或重新启动后,我无法 ping 网关。当我运行“ip a”时,我可以看到我的 4 个从属网卡和我的绑定,但是从属网卡在我的来宾子网上有一个来自 DHCP 的 IP。当我在网关上运行 ping 时,我得到无法到达目的地的信息,但源 IP 是 DHCP IP,而不是我的静态绑定 IP。Cloud-init 未运行;它未安装,网络管理器也未安装。这是一个与此类似的问题:在 Ubuntu 18.04 上使用 netplan 配置绑定的 802.3ad 网络

我尝试过很多配置,但这是我现在正在做的:https://gist.github.com/PhilipSchmid/54e17f53c15e3bd2c922ec6ff9ee434f

这是我的 /etc/netplan/01-netcfg.yaml:

network: 
  version: 2
  renderer: networkd
  ethernets:
    eno1: 
      addresses: []
      dhcp4: false
      dhcp6: false
      optional: true
    eno2: 
      addresses: []
      dhcp4: false
      dhcp6: false
      optional: true
    eno3: 
      addresses: []
      dhcp4: false
      dhcp6: false
      optional: true
    eno4: 
      addresses: []
      dhcp4: false
      dhcp6: false
      optional: true

这是我的 /etc/netplan/02-bondings.yaml

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      dhcp4: false
      dhcp6: false
      addresses:
        - 10.1.2.10/16
      gateway4: 10.1.1.1
      interfaces:
        - eno1
        - eno2
        - eno3
        - eno4
      nameservers:
        addresses: 
          - 127.0.0.1
          - 8.8.8.8
        search:
          - domain.com
      parameters:
        mode: balance-rr

应用该命令后(经过调试,没有错误),当我运行“ip a”时,我得到以下信息

root@hostname:/etc/netplan# ip a 
1: lo: <LOOPBACK,UP, LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mo master bond0 state UP group default qlen 1000
    link/ether b2:98:f1:5b:59:d9 brd ff:ff:ff:ff:ff:ff 
    inet 10.1.100.38/16 brd 10.1.255.255 scope global noprefixroute eno1
        valid_lft forever preferred_lft forever 
3: eno2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mo master bond0 state UP group default qlen 1000
    link/ether b2:98:f1:5b:59:d9 brd ff:ff:ff:ff:ff:ff
    inet 10.1.100.38/16 brd 10.1.255.255 scope global noprefixroute eno2
        valid_lft forever preferred_lft forever 
4: eno3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mo master bond0 state UP group default qlen 1000
    link/ether b2:98:f1:5b:59:d9 brd ff:ff:ff:ff:ff:ff
    inet 10.1.100.38/16 brd 10.1.255.255 scope global noprefixroute eno3
        valid_ift forever preferred_lft forever 
5: eno4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether b2:98:f1:5b:59:d9 brd ff:ff:ff:ff:ff:ff
    inet 10.1.100.38/16 brd 10.1.255.255 scope global noprefixroute eno4
        valid_ift forever preferred_lft forever 
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b2:98:f1:5b:59:09 brd ff:ff:ff:ff:ff:ff
    inet 10.1.2.10/16 brd 10.1.255.255 scope global bondo
        valid_lft forever preferred_lft forever 
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:07:ff:se:05 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172. 17.255.255 scope global docker0
        valid_lft forever preferred_lft forever 

如果我执行“ping -4 -I bond0 10.1.1.1”,我可以 ping 通网关,因此这似乎是默认路由问题……那么为什么我的从属网卡上的 dhcp 处于活动状态?它被明确禁用了吗?

我很困惑,任何指导都值得赞赏

答案1

在这行输出中:

inet 10.1.100.38/16 brd 10.1.255.255 scope global noprefixroute eno1

值得注意的是,该dynamic标志未设置。因此,无论在你的系统上配置这个地址是什么,它都不是NetworkManagernetworkd两个 netplan 后端),因为这两个网络配置器都会正确设置该dynamic标志。

因此,除了 netplan 之外,您的系统上似乎还运行着其他程序,并在您的接口上配置地址。您必须在本地调查是什么,因为它不是默认 Ubuntu 安装的组件。

答案2

我找到了;我安装了一个桌面环境(MATE 用作远程 x2go 端点),虽然我删除了 NetworkManager,但我不知道 dhcpcd 已启用。我禁用了它,一切就绪了。配置中没有任何内容表明 dhcpcd 正在运行,因此很难进行故障排除,我希望这可以在将来帮助其他人。

相关内容