Resumo:
Dado um sistema Linux (Ubuntu 16.04) com 3 interfaces físicas de ethernet:
eth0: WAN eth1: autenticador EAPoL eth2: LAN do cliente
Estou tentando configurar isso:
O resultado final desejado aqui é que os computadores clientes conectados à eth2 podem se conectar à WAN. A WAN requer autenticação 802.1x, que seria conectada ao dispositivo autenticador EAPoL anexado à eth1.
Inicialmente, fui inspirado por este post, mas tive dificuldade em fazer sua configuração funcionar:
Perguntas:
1.) A configuração da bridge parece funcionar, um tcpdump irá mostrar-me o tráfego EAPoL na eth1, no entanto estou tendo problemas para obter a vlan para obter informações dhcp, usando o dhclient apenas trava. Não tenho certeza se entendi o propósito da vlan aqui, se eu spoof o mac da eth0 essa parte é mesmo necessária?
2.) Não está claro para mim como eu faria NAT o tráfego restante (tudo que não é EAPoL) entre eth0 < - > eth2. Eu apenas definiria um NAT iptables entre as próprias interfaces, assim:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth2 -j ACCEPT
iptables -A INPUT 1 -i eth2 -j ACCEPT
O problema que estou correndo é que eu posso configurar um ou outro, não ambos. Eu posso ter o sistema de ponte EAPOL entre eth0 < - > eth1 OU eu posso IP NAT entre eth0 < - > eth2, mas eu não sou capaz de configurar ambos trabalhando juntos. Alguma sugestão ou conselho?
Obrigado
Edições:
Configuração de ebtables para filtrar quadros Ethernet para tráfego EAPoL:
ebtables -t filter -A FORWARD -i eth1 -p 802_1Q --vlan-encap 0x888e -j ACCEPT
ebtables -t filter -A FORWARD -i eth1 -p 802_1Q -j DROP
ebtables -t filter -A FORWARD -o eth1 -p 802_1Q --vlan-encap 0x888e -j ACCEPT
ebtables -t filter -A FORWARD -o eth1 -p 802_1Q -j DROP