我在路由器上使用iptables将所有networkingstream量redirect到我的页面。
但我不知道如何除了我的MAC地址列表。
我做了这样的命令
iptables -t nat -A PREROUTING -m mac! --mac-source xx-xx-xx-xx-xx-xx -p tcp --dport 80 -j DNAT - to 127.0.0.1:8080(Host A) iptables -t nat -A PREROUTING -m mac! --mac-source xx-xx-xx-xx-xx-xx -p tcp --dport 80 -j DNAT - 到127.0.0.1:8080(主机B)
但是它只是执行主机A的命令。这意味着主机A可以正常访问网页,但主机B仍然有redirect。
我怎样才能正常访问两个mac地址?
你正在使用这个问题! 假设有一个请求来,如果主机A的MAC地址不是主机的MAC地址,它将被redirect。 因此它也被redirect到主机B.而你的第二条规则永远不会被执行。
所以解决scheme,如何除了我的MAC地址列表?
iptables -t nat -N accept_my_mac_set iptables -t nat -A PREROUTING -j accept_my_mac_set iptables -t nat -A PREROUTING -j DNAT --to 127.0.0.1:8080
iptables -A accept_my_mac_set -m mac --mac-source xx-xx-xx-xx-xx-xx, xx-xx-xx-xx-xx-xx -p tcp --dport 80 -j ACCEPT iptables -A accept_my_mac_set -j RETURN