AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1044028
Accepted
Nathan
Nathan
Asked: 2020-11-27 07:20:56 +0800 CST2020-11-27 07:20:56 +0800 CST 2020-11-27 07:20:56 +0800 CST

将 TAP 接口添加到网桥时 ARP 表清空

  • 772

我在 CentOS 上的 ARP 表有问题。有时,当我创建 TAP 接口并将其添加到网桥时,ARP 表会被清除。

例如,当我执行此命令时:

sudo ip tuntap add dev tap-device-u98 mode tap; sudo ip link set dev tap-device-u98 master br0

ARP 表下降到只有几个条目。

当我这样做时也会发生这种情况:

sudo ip link set dev tap-device-u98 nomaster

ARP 表中的大多数条目都是永久性的,由自制的专用应用程序管理(满足我们的特定需求)。它们最多可以容纳 12k 条目,但数量无关紧要(大表(12k)和小表(10)一样)。

这发生在我们的大部分服务器上,从 CentOS6.2 到 CentOS7.8。

生产中出现的确切问题不是上述命令,而是 openvpn(创建 TAP 接口)和 brctl(将接口添加到网桥)。但这似乎无关紧要,因为问题也发生在“ip”上。带有“ip”命令的 PoC 在 CentOS 7.4.1708 上执行,内核为 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017

/var/log/messages 没有多大帮助:

--- (Create interface and mount it on br0)
Nov 26 15:52:51 localhost NetworkManager[733]: <info>  [1606402371.7604] manager: (tap-device-u98): new Tun device (/org/freedesktop/NetworkManager/Devices/2723)
Nov 26 15:52:51 localhost kernel: br0: port 7(tap-device-u98) entered blocking state
Nov 26 15:52:51 localhost kernel: br0: port 7(tap-device-u98) entered disabled state
Nov 26 15:52:51 localhost kernel: device tap-device-u98 entered promiscuous mode
--- (Remove interface from br0 and delete it)
Nov 26 15:52:51 localhost kernel: device tap-device-u98 left promiscuous mode
Nov 26 15:52:51 localhost kernel: br0: port 7(tap-device-u98) entered disabled state
Nov 26 15:52:51 localhost NetworkManager[733]: <info>  [1606402371.8909] device (tap-device-u98): released from master device br0

关于可能出错的任何想法?

centos arp bridged-adapter
  • 1 1 个回答
  • 216 Views

1 个回答

  • Voted
  1. Best Answer
    Nathan
    2021-01-10T07:12:31+08:002021-01-10T07:12:31+08:00

    为了记录,我在这里发布答案。

    由于网桥的 MAC 地址的计算方式,向/从它添加或删除接口可以触发 MAC 地址的重新计算(来自br_stp_if.c 的函数 br_stp_recalculate_bridge_id )。

    因此,由于网桥没有固定的 MAC 地址,它可能会被重新生成,从而导致 ARP 丢弃。

    要解决此问题,只需修复 MAC 地址,然后:

    sudo vim /etc/sysconfig/network-scripts/ifcfg-br0
        [...]
        MACADDR=xx:xx:xx:xx:xx:xx
    
    sudo ifdown br0
    sudo ifup br0
    
    • 2

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve