Estou tentando configurar subinterfaces no meu servidor Ubuntu 14.04 para cada VLAN. Acredito que os configurei com sucesso usando vconfig, mas a subinterface só pode executar ping de hosts em sua própria VLAN. Precisarei de hosts fora de sua VLAN para poder me conectar a ele. Isso parece funcionar bem para meu servidor CentOS, então sei que minha rede está correta. Também vejo pacotes de solicitação ICMP na subinterface quando faço um tcpdump
e faço ping na subinterface de um cliente fora da VLAN.
Alguma ideia? Que outras dicas de solução de problemas você pode me dar?
EDIT: consegui consertar isso. Meu tcpdump no servidor mostrava solicitações de eco icmp, mas sem resposta. Encontrei uma postagem relacionadaaqui. Habilitando o registro de origem marciana assim:
echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians
e então
sysctl net.ipv4.conf.all.rp_filter=2
Corrigido. Estou surpreso que isso não apareça com mais frequência.
Responder1
Eu consegui consertar isso. Meu tcpdump no servidor mostrava solicitações de eco icmp, mas sem resposta. Encontrei uma postagem relacionadaaqui. Habilitando o registro de origem marciana assim:
echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians
e então
sysctl net.ipv4.conf.all.rp_filter=2
Corrigido. Estou surpreso que isso não apareça com mais frequência.
Responder2
Para que seu cliente execute ping no endereço IP do seu servidor, uma das seguintes opções precisa ser verdadeira:
- O cliente deve estar na mesma [V]LANEestar usando um endereço IP na mesma sub-rede IP do endereço que está tentando fazer ping.
OU
- Deve haver um roteador IP (ou rede de roteadores) conectando a [V]LAN e a sub-rede IP do cliente à [V]LAN e a sub-rede IP do servidor.
Se você não configurou um roteador entre as duas VLANs (ou entre as duas sub-redes IP na mesma VLAN, se é isso que está fazendo), então você não forneceu uma rota de rede IP para os pings percorrerem.
Observe que alguns sistemas operacionais, pelo menos em algumas configurações, não prestam atenção em qual interface um determinado pacote IP entrou. Portanto, nesses casos, eles podem responder a uma solicitação de ping recebida na interface "errada". Pode ser que seu ambiente CentOS esteja sendo negligente assim, mas sua caixa Ubuntu está sendo mais cuidadosa com qual interface é qual. Ou pode ser que você tenha habilitado o encaminhamento de IP (a versão mais simples de um roteador IP) na caixa do CentOS, mas não na sua caixa do Ubuntu.
Responder3
Parece que você precisa de rotas para as redes remotas específicas às quais está tentando se conectar.
Para testar, insira a rota na tabela de roteamento assim:
sudo route add -net 172.16.0.0/12 gw 192.168.1.113 dev eth.<vlan number>
Para tornar essas rotas permanentes, você precisará de uma entrada em /etc/network/interfaces como esta:
up route add [-net|-host] <host/net>/<mask> gw <host/IP> dev <Interface>