iptables - 除列表 MAC 地址之外的重定向

iptables - 除列表 MAC 地址之外的重定向

我在路由器上使用 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 的数据包,因此仅当数据包来自另一台主机时才会发生重定向。

相关内容