Estou tentando obter um endereço atribuído por DHCP para um dispositivo veth
( veth-inside
) dentro de um namespace de rede ( myns
) no CentOS 7, mas o dhclient
já está em execução. O dispositivo veth
peer ( veth-outside
) está no espaço de nomes padrão, conectado à interface de rede física ( ens3
).
Os dispositivos no namespace padrão foram configurados da seguinte forma:
(cent7)$ ip link add name br0 type bridge
(cent7)$ ip link add name veth-inside type veth peer name veth-outside
(cent7)$ ip link set dev ens3 master br0
(cent7)$ ip link set dev ens3 up
(cent7)$ ip link set dev veth-outside master br0
(cent7)$ ip link set dev veth-outside up
(cent7)$ ip link set dev br0 up
(cent7)$ dhclient br0
br0
obtém 192.168.0.5 (via reserva DHCP) conforme esperado. Em seguida, o namespace de rede e o dispositivo veth-inside
peer são configurados, mas dhclient
retorna diferente de zero, com o seguinte:
(cent7)$ ip netns add myns
(cent7)$ ip link set dev veth-inside netns myns
(cent7)$ ip netns exec myns ip link set dev veth-inside up
(cent7)$ ip netns exec myns dhclient veth-inside
dhclient(29674) is already running - exiting.
(cent7)$ dhclient --version
isc-dhclient-4.2.5
Todos os itens acima funcionam perfeitamente no Ubuntu 14.04. Posso usar dhclient
para atribuir endereços IP a qualquer número de dispositivos físicos, virtuais ou de ponte no Ubuntu, estejam eles no espaço de nomes padrão ou isolados em seus próprios netns
.
(ub1404)$ dhclient --version
isc-dhclient-4.2.4
Além disso, eu desinstalei o NetworkManager
do sistema CentOS e desabilitei NetworkManager
para a ponte e os dispositivos físicos no sistema Ubuntu, portanto, o NM não está envolvido com esses dispositivos de rede.
Como posso atribuir endereços IP via DHCP a várias interfaces arbitrárias no CentOS 7? O dhclient
foi de alguma forma configurado ou construído de forma diferente no CentOS do que no Ubuntu, de modo que múltiplas invocações dele não são permitidas?