无法禁用网络接口上的本地地址

无法禁用网络接口上的本地地址

我的服务器:

  • 华擎 B450M/ac (RealTek 8111/8168/8411)
  • 锐龙 5 3400G
  • 64GB 系统内存
  • Rosewill RC-411v3 (RealTek 8111/8168/8411)

我的电脑:

  • 锐龙 7 2700X
  • 32GB 系统内存
  • MSI X470 Gaming Pro Carbon(英特尔 I211)

我正在尝试设置网络绑定我的服务器处于模式 6(balance-alb),并且大部分情况下我都能让它正常工作。我遇到一个问题,其中一个或两个网卡会随机获得 IPv4 和/或 IPv6 地址。我认为 IPv6 地址并不重要,但当它们获得 IPv4 地址时,它们会破坏绑定,我会失去与服务器的所有连接。我当前的配置如下;

network:
  version: 2
  renderer: networkd
  ethernets:
    enp5s0:
      link-local: [ ]
      #dhcp4: no
      #dhcp6: no
    enp4s0:
      link-local: [ ]
      #dhcp4: no
      #dhcp6: no
  bonds:
    bond0:
      addresses: [192.168.0.102/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [1.1.1.1, 1.0.0.1]
      dhcp6: no
      interfaces: [enp5s0, enp4s0]
      parameters:
        mode: balance-alb
        mii-monitor-interval: 1

我尝试过 networkd 和 NetworkManager。我还尝试过 netplan 0.99 和 0.100。使用此配置无法禁用本地地址,尽管网络计划说应该。如何禁用这些接口上的本地地址?

编辑:删除了 dhcp 行,因为它们似乎什么都不做。更新一些细节以供重现。禁用 IPv6 似乎可以消除将 IPv4 地址添加到任一卡的问题。如果netplan apply再次运行此修复程序,则再次失效。但是,有时在运行此修复程序后,两张卡都会在一段时间内无法获得 IP。这使我能够运行速度测试并证明其有效,但并非完美无缺。更改配置后,最好重新启动,但重新启动后不久,IP 就会添加到其中一张卡上。通常为 169.254.xx 这不会破坏所有内容,但平衡似乎会因同一次传输(上传或下载)而中断。例如,我同时上传和运行速度测试(两者都将数据发送到服务器)。其中一张卡不会接收任何数据,另一张卡将以 500mbit/s 的速度分割两个连接。当同时运行上传和下载时,这似乎不是问题。

更新:哎呀,我放弃了,重新安装了操作系统。我专门安装了 Ubuntu 20.04.1 LTS。安装了所有东西,并在上面的 netplan 配置中放入了东西。它就起作用了,我甚至不必启用绑定,它自己就启用了。自从我重新安装操作系统以来,两张卡都没有添加任何 IP。虽然我的问题已经解决,但我仍然不知道最初添加这些 IP 的是什么。好像另一个程序正在追溯添加 IP。我发现另一篇帖子也有人提到了这种怀疑。

答案1

请参阅下面的注释,因为额外的 IP 又回来了。所以我相信我找到了问题所在,以及如何阻止他们获取额外的 IP。

我把这个写成答案是因为当我尝试使用 netplan 时,我得到的连接不稳定,并且我的网卡上出现了额外的 IP。

在 20.04 LTS 上使用内核 5.4.0-54-generic。

使用ifupdown和设置/etc/network/interfaces文件,因为我把 netplan 全部转储到了一起。

安装ifupdownifenslave

sudo apt install ifupdown ifenslave

删除了 netplan:

sudo apt remove netplan.io

接下来,我停止了systemd-networkdsystemd-networkd.socket

systemctl stop systemd-networkd.service
systemctl stop systemd-networkd.socket
systemctl disable systemd-networkd.service
systemctl disable systemd-networkd.socket

检查/etc/modules以下几行:

loop
lp
rtc
bonding

我也进行了设置,因此我不会对我的以太网卡使用预测命名。 我听别人说它可能不好,但对我来说它一直很有效。

将以下内容添加到/etc/default/grub文件中,然后运行sudo update-grub并重新启动以使更改生效。

GRUB_CMDLINE_LINUX_DEFAULT="nosplash net.ifnames=0 biosdevnames=0"

然后将我的接口添加到/etc/network/interfaces绑定设置中balance-alb

# 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

auto eth0
    iface eth0 inet manual
    bond-master bond0

auto eth1
    iface eth1 inet manual
    bond-master bond0

auto bond0
    iface bond0 inet static
    address 10.0.0.220
    netmask 255.255.255.0
    network 10.0.0.0
    broadcast 10.0.0.255
    gateway 10.0.0.1
    bond-mode balance-alb
    bond-miimon 100
    bond-slaves eth0 eth1

我也这样做了,所以我的resolv.conf不再受存根或其他任何东西的控制。

sudo unlink /etc/resolv.conf
echo "nameserver 10.0.0.1" | sudo tee /etc/resolv.conf

您可以将名称服务器更改为您的路由器的名称,或者更改为想要使用 8.8.8.8。

tee -a还可以添加更多名称服务器resolv.conf

echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolv.conf

2021 年 2 月 25 日 注意: 我最近更新了我的系统,结果我的卡又开始接收额外的 IP。为了解决这个问题,我不得不denyinterfaces eth0 eth1在文件中添加内容/etc/dhcpcd.conf。下面是我的/etc/dhcpcd.conf文件。 根据您的网络需要进行更改。

denyinterfaces eth0 eth1
interface bond0
        static ip_address=10.0.0.220/24
        static routers=10.0.0.1
        static domain_name_servers=9.9.9.9 149.112.112.112

应用这些网络设置:

sudo /etc/init.d/networking restart

检查ifconfig并检查/proc/net/bonding/bond0

ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet 10.0.0.220  netmask 255.255.255.0  broadcast 10.0.0.255
        ether bc:5f:f4:79:66:fe  txqueuelen 1000  (Ethernet)
        RX packets 85381  bytes 12752852 (12.7 MB)
        RX errors 0  dropped 5  overruns 0  frame 0
        TX packets 125655  bytes 156764973 (156.7 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether bc:5f:f4:79:66:fe  txqueuelen 1000  (Ethernet)
        RX packets 76259  bytes 10724189 (10.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12520  bytes 4905475 (4.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether c8:3a:35:d6:ec:a0  txqueuelen 1000  (Ethernet)
        RX packets 9122  bytes 2028663 (2.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 113135  bytes 151859498 (151.8 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 55907  bytes 158911787 (158.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 55907  bytes 158911787 (158.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: bc:5f:f4:79:66:fe
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: c8:3a:35:d6:ec:a0
Slave queue ID: 0

相关内容