我在路由器上使用 iptables 将所有网络流量重定向到我的页面。
但我不知道如何排除我的 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 --to 127.0.0.1:8080 (Host B)
但它只是对主机 A 执行命令。这意味着主机 A 可以正常访问 Web,但主机 B 仍然得到重定向。
我怎样才能正常访问两个mac地址?
答案1
用这个:
iptables -t nat -A PREROUTING -m mac --mac-source xx-xx-xx-xx-xx-xx -j ACCEPT (Host A)
iptables -t nat -A PREROUTING -m mac --mac-source xx-xx-xx-xx-xx-xx -j ACCEPT (Host B)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080
前两个命令接受来自 A 和 B 的数据包,因此仅当数据包来自另一台主机时才会发生重定向。