Eu queria configurar meu servidor CentOS 7 para que minhas máquinas virtuais KVM extraíssem uma concessão de DHCP da minha VLAN 30 configurada Cisco Meraki MX (firewall) e fossem segregadas da VLAN 1.
Como não tenho duas interfaces físicas, decidi virtualizar uma, adicionar a tag VLAN a ela e, em seguida, conectar a interface virtualizada com a tag VLAN e configurá-la em meu script virt-install. No entanto, eu queria garantir que todo o tráfego executado em minha caixa CentOS permanecesse na VLAN 1 (com exceção do tráfego direcionado às VMs).
Achei que estava funcionando outro dia, mas por capricho tentei fazer ping nas sub-redes e fiquei surpreso ao ver as respostas do ICMP.
Eu (mais ou menos) segui esta referência ao configurar tudo:Configurando marcação de VLAN 802.1Q usando arquivos ifcfg
Atualmente tenho /etc/sysconfig/network-scripts/ifcfg-em1
(interface Ethernet padrão) configurada da seguinte forma:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
GATEWAY="192.168.128.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="em1"
UUID="bac1228e-fe29-4e7c-9073-6b2d4542d003"
DEVICE="em1"
ONBOOT="yes"
ZONE=public
Esta interface extrai com êxito um IP 192.168.128.x da sub-rede VLAN 1.
Em seguida tenho /etc/sysconfig/network-scripts/ifcfg-em1.30
(interface virtual com tag VLAN 30):
TYPE="Ethernet"
#BOOTPROTO="dhcp"
DEVICE="em1.30"
ONBOOT="yes"
ZONE=public
VLAN="yes"
BRIDGE="br0"
Que devido à opção BRIDGE (acredito) não extrai endereço IP.
Finalmente, /etc/sysconfig/network-scripts/ifcfg-br0
(minha conexão em ponte de em1.30):
BOOTPROTO="dhcp"
IPV6INIT="no"
DEFROUTE="no"
GATEWAY="10.100.0.1"
IPV6_AUTOCONF="no"
ONBOOT="yes"
TYPE="Bridge"
DELAY="0"
ZONE=public
Esta interface também extrai a rota DHCP correta da sub-rede VLAN 30 (10.100.0.x)
Usar a interface br0 em meus scripts virt-install parece funcionar, pois todas as minhas VMs, quando iniciadas, também são extraídas com êxito da sub-rede VLAN 30. No entanto, como mencionado acima, quando tento fazer ping (ou SSH) de uma sub-rede para outra, obtenho respostas completas.
Suspeito que isso tenha algo a ver com as rotas, talvez? Aqui está a saída de route -n
:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.128.1 0.0.0.0 UG 0 0 0 em1
10.100.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 em1
169.254.0.0 0.0.0.0 255.255.0.0 U 1045 0 0 br0
192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 em1
Pelo que vale a pena, /etc/sysconfig/network
está em branco no momento, desativei o NetworkManager e, quando pensei que estava funcionando, não tinha nenhuma opção DEFROUTE ou GATEWAY definida em ifcfg-br0 (adicionei-os hoje sem alteração no resultado, então os deixei).
Talvez eu precise de uma opção de VLAN definida em ifcfg-br0 e também em ifcfg-em1.30? Obrigado por reservar um tempo para ler tudo isso!