桥接网络干扰某些内网域

桥接网络干扰某些内网域

我有一些桥接网络,我不知道它们来自哪里:

$ ifconfig | grep -o "^br-\w*"
br-4e3069271b9c
br-919ad27f74b2
br-e448c7cbb558
br-e6840866c3b6
br-636926a06053

(我怀疑安装了 docker、vmware 或 virtualbox)。

问题是,这些桥接网络以某种方式干扰一些内网地址,同时其他内网地址仍然有效:

$ ping some.intranet.tld
From 172.21.0.1 icmp_seq=1 Destination Host Unreachable
From 172.21.0.1 icmp_seq=2 Destination Host Unreachable
From 172.21.0.1 icmp_seq=3 Destination Host Unreachable

$ ifconfig | grep -C 1 "172.21.0.1"
br-636926a06053 Link encap:Ethernet  HWaddr 02:42:af:36:20:65  
inet addr:172.21.0.1  Bcast:172.21.255.255  Mask:255.255.0.0
UP BROADCAST MULTICAST  MTU:1500  Metric:1

发出后sudo ifconfig br-636926a06053 down一切恢复正常。

PING some.intranet.tld (12.23.45.67) 56(84) bytes of data.
64 bytes from some.intranet.tld (12.23.45.67): icmp_seq=1 ttl=122 time=11.7 ms

但重新启动后问题再次出现,而且我不确定关闭该连接是否会产生任何负面影响。

如何找出哪个程序启动了这些桥接网络以及如何消除该问题?



更新:

这些桥梁似乎来自虚拟机:

$ sudo grep br-636926a06053 /var/log/syslog.1
Aug  7 08:58:56 hostname vmnet-natd: RTM_NEWLINK: name:br-636926a06053 index:7 flags:0x00001002
Aug  7 08:58:56 hostname vmnetBridge: RTM_NEWLINK: name:br-636926a06053 index:7 flags:0x00001002
Aug  7 08:58:56 hostname NetworkManager[1212]: <info>  [1533625136.8516] manager: (br-636926a06053): new Bridge device (/org/freedesktop/NetworkManager/Devices/5)

答案1

毫无疑问是 Docker。 VMware 仅检测到它们的出现(例如:将它们显示在 GUI 中或可能更改某些网络规则(natd?)),就像ip monitor link实时命令一样。

docker network create它暗示了这一点:

指定高级选项

当您创建网络时,引擎默认为网络创建一个不重叠的子网。该子网不是现有网络的细分。它纯粹是为了 IP 寻址的目的。您可以覆盖此默认值并使用 --subnet 选项直接指定子网值。在桥接网络上,您只能创建一个子网:

$ docker network create --driver=bridge --subnet=192.168.0.0/16 br0

没有写的是,如果没有另外说明,默认选择从 开始172.17.0.0/16,每个后续网络都会继续前进。172.31.0.0/16我无法明确找到它,但大多数示例表明新创建的桥梁都是/16的一部分172.16.0.0/12,例如:Multiple Docker Networks没有明确创建--subnet两个子网172.29.0.0/16172.30.0.0/16如果提供的话,我很乐意添加对默认行为的明确引用。

为了消除这个问题,您应该检查 Docker 中的哪些自动化部分(可能本身就是一个特权容器等)创建了这些网络(当它们作为接口激活时您已经登录,这可能不是它们最初在 Docker 中创建时的情况)配置,但一个简单的docker network ls应该确认这一切),以及如何更改其默认网络设置。我确信还有更激进的方法,例如创建一个网络来保留,这样 Docker 就不会创建相同的网络,然后通过 Docker 方法(如果可用)或像您一样将其保留下来ip link set br-somenetworkid down

相关内容