概要:
给定一个具有3个物理以太网接口的Linux系统(Ubuntu 16.04):
eth0:WAN eth1:EAPoL authenticator eth2:客户端LAN
我试图configuration这个:
希望的最终结果是连接到eth2的客户端计算机可以连接到WAN。 广域网需要802.1xvalidation,将桥接到连接到eth1的EAPoLvalidation器设备。
最初,我受到这篇文章的启发,但是在configuration方面却遇到了麻烦:
https://www.dslreports.com/forum/r30708210-AT-T-Residential-Gateway-Bypass-True-bridge-mode
问题:
1.)桥configuration似乎工作,tcpdump会告诉我eth1上的EAPoLstream量,但是我有麻烦得到DHCP获得DHCP信息,使用dhclient挂起。 我不知道我在这里理解vlan的目的,如果我欺骗eth0的mac是这个部分甚至是必要的?
2.)我不清楚如何将eth0 eth2之间的剩余stream量(不是EAPoL的所有内容)进行NAT转换。 我只是在接口本身之间定义一个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
我遇到的问题是,我可以configuration一个或另一个,而不是两个。 我可以让系统在eth0 eth1之间桥接EAPOL,或者我可以在eth0 eth2之间使用IP NAT,但是我不能configuration两者一起工作。 任何build议或build议?
谢谢
编辑:
ebtablesconfiguration过滤EAPoLstream量的以太网帧:
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