Trave o tráfego 802.1x entre eth0-eth1, IP NAT eth0-eth2

1

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:

  • Bridge br0: eth0 < - > eth1
  • regras ebtables para encaminhar apenas o tráfego EAPoL
  • IP NAT o tráfego restante br0 < - > eth2 (tudo, exceto os quadros Ethernet que são do tipo EAPoL)
  • A porta eth0 usaria um mac falsificado (correspondente ao autenticador EAPoL)

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:

link

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
    
por Zugdud 02.09.2016 / 23:03

0 respostas