Interrompe a rede interferindo em alguns domínios da Intranet

0

Eu tenho algumas redes de bridge que não sei de onde elas vêm:

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

(suspeito que o docker, o vmware ou o virtualbox estejam instalados).

O problema é que essas redes de bridge estão de alguma forma interferindo com alguns endereços de intranet, enquanto que outros endereços de intranet ainda funcionam:

$ 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

Depois de emitir sudo ifconfig br-636926a06053 down , tudo funciona novamente.

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

Mas o problema aparece novamente após a reinicialização e também não tenho certeza se há algum efeito colateral negativo ao desligar essa conexão.

Como descobrir qual programa inicia essas redes de pontes e como eliminar o problema?

Atualizar :

Parece que essas pontes estão vindo de vmware :

$ 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)
    
por RoVo 07.08.2018 / 09:50

1 resposta

0

É certamente o Docker. O VMware apenas os detecta (por exemplo: para exibi-los na GUI ou talvez para alterar algumas regras de rede (natd?)) Como seria o comando ip monitor link em tempo real.

Em docker network create , é sugerido o seguinte:

Specify advanced options

When you create a network, Engine creates a non-overlapping subnetwork for the network by default. This subnetwork is not a subdivision of an existing network. It is purely for ip-addressing purposes. You can override this default and specify subnetwork values directly using the --subnet option. On a bridge network you can only create a single subnet:

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

O que não está escrito é que a escolha padrão começa em 172.17.0.0/16 e cada rede subseqüente se move em até 172.31.0.0/16 se não for dito o contrário. Não consegui encontrá-lo explicitamente, mas a maioria dos exemplos mostra que as pontes recém-criadas são todas /16 parte de 172.16.0.0/12 , por exemplo: em Multiple Docker Networks sem --subnet explícito as duas sub-redes 172.29.0.0/16 e 172.30.0.0/16 são criadas. Eu ficaria feliz em adicionar uma referência definitiva ao comportamento padrão, se fornecido.

Para eliminar o problema, você deve verificar qual parte automatizada do Docker (talvez um contêiner privilegiado, etc.) cria essas redes (você tem logs quando são ativados como uma interface, que podem não ser quando foram criados inicialmente na configuração do Docker, mas um docker network ls simples deve confirmar tudo isso) e como alterar suas configurações de rede padrão. Tenho certeza de que existem métodos mais radicais, por exemplo, criar uma rede para reservar, para que o Docker não crie o mesmo e, em seguida, mantenha-o inativo, seja por um método Docker, se disponível, ou como você fez ip link set br-somenetworkid down .

    
por 07.08.2018 / 21:08