无法在 Debian 11 上正确启动第二个网络接口

无法在 Debian 11 上正确启动第二个网络接口

我目前正在编写 Ansible 使用的网络配置角色来自定义来自 Debian 11 模板的全新虚拟机。

当我尝试设置和配置 2 个物理网络接口时,我遇到了一个奇怪的问题。当我从模板部署新虚拟机时,它有 2 个独立的 vmnic,从 debian 角度来看,这意味着它只有 ens3 和 ens4(我根本不使用任何绑定或子接口)。

这是我设置的简单接口配置文件:

# 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
auto ens3
iface ens3 inet static
  address 10.0.0.1/24
  gateway 10.0.0.254
  dns-nameservers 10.230.100.1
  dns-search mydomain.net 

auto ens4
iface ens4 inet static
  address 192.168.0.1/24
  gateway 192.168.0.254
  dns-nameservers 10.230.100.1
  dns-search mydomain.net 

然后,当我通过 systemctl 或更好的方式重新启动networking.service时,当我重新启动机器时,从ip a角度来看配置设置得很好,但从journalctl角度来看它存在问题:

févr. 16 14:04:53 MY-HOST systemd[1]: Starting Raise network interfaces...
févr. 16 14:04:53 MY-HOST  ifup[1100]: RTNETLINK answers: File exists
févr. 16 14:04:53 MY-HOST  ifup[1078]: ifup: failed to bring up ens4
févr. 16 14:04:53 MY-HOST  systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
févr. 16 14:04:53 MY-HOST  systemd[1]: networking.service: Failed with result 'exit-code'.
févr. 16 14:04:53 MY-HOST  systemd[1]: Failed to start Raise network interfaces.

重新启动服务器后,我仍然遇到很多这些问题,但配置似乎设置得很好

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: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 50:6b:8d:d0:c0:3d brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.0.0.1/24 brd 10.0.0.255 scope global dynamic ens3
       valid_lft 2147483506sec preferred_lft 2147483506sec
3: ens4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 50:6b:8d:8a:24:94 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    inet 192.168.0.1/24 brd 192.168.0.255 scope global dynamic ens4

此外,如果我手动sudo ifdown ens4然后sudo ifup ens4我收到以下错误:

ifdown: interface ens4 not configured
RTNETLINK answers: File exists
ifup: failed to bring up ens4

我发现如果我auto ens4在接口文件中注释掉,我就没有任何错误,但是当我重新启动时,ens4 没有启动,所以这对我来说不是一个解决方案......

我的问题是:我该如何修复它?我的接口配置中是否遗漏了某些内容?还是有一个我没有看到的错误?

多谢 !

答案1

你能试试这个吗:

auto ens3
allow-hotplug ens3
iface ens3 inet static
  address 10.0.0.1/24

auto ens4
allow-hotplug ens4
iface ens4 inet static
  address 192.168.0.1/24

重新启动或重新启动而不是尝试 ping10.0.0.1192.168.0.1

如果该工作配置了您的 dns、名称服务器、网关等。

检查这篇文章并/etc/resolve.conf编辑nameserver

Debian 11 dhcp 将 ip 分配给多个接口

网络设备/接口信息

检查 Debian 网络配置:

Debian 网络配置

也检查一下:

在 Debian 接口文件中添加两个默认网关

也许这篇文章可以帮助您:

如何使用不同的网关配置 2 个网络接口

答案2

终于找到真正的解释了这里:

默认情况下,系统上只能有一个默认网关。

经过测试,我可以确认一个网关正常,两个则不行。但无论如何,一旦设置网络配置,似乎就会默认创建以下路由:

在此输入图像描述

因此,就我而言,我可能不需要按照说明创建默认路由。

相关内容