Резюме:
Учитывая систему Linux (Ubuntu 16.04) с 3 физическими интерфейсами Ethernet:
eth0: WAN eth1: аутентификатор EAPoL eth2: Client LAN
Я пытаюсь настроить это:
Желаемый конечный результат здесь - клиентские компьютеры, подключенные к eth2, могут подключаться к глобальной сети. WAN требует аутентификации 802.1x, которая будет подключена к устройству аутентификации EAPoL, подключенному к eth1.
Первоначально меня вдохновил этот пост, но у меня возникли проблемы с работой его конфигурации:
https://www.dslreports.com/forum/r30708210-AT-T-Residential-Gateway-Bypass-True-bridge-mode
Вопросы:
1.) Конфигурация моста, кажется, работает, tcpdump покажет мне трафик EAPoL на eth1, однако у меня возникли проблемы с получением vlan для получения информации dhcp, при использовании dhclient просто зависает. Я не уверен, что понимаю цель vlan здесь, если я подделываю макинтош eth0, нужна ли эта часть?
2.) Мне не ясно, как я буду преобразовывать оставшийся трафик (все, что не является EAPoL) между eth0 <-> eth2. Мог бы я просто определить iptables NAT между самими интерфейсами, например:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth2 -j ACCEPT
iptables -A INPUT 1 -i eth2 -j ACCEPT
Проблема, с которой я сталкиваюсь, заключается в том, что я могу настроить либо одно, либо другое, но не оба. У меня может быть система, соединяющая EAPOL между eth0 <-> eth1, ЛИБО я могу IP NAT между eth0 <-> eth2, но я не могу настроить их совместную работу. Есть предложения или советы?
Спасибо
Редактирует:
Конфигурация ebtables для фильтрации кадров Ethernet для трафика 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