Linux

iptables 規則延遲適用

  • February 12, 2018

我正在使用 iptables 來阻止連接到我的熱點的設備上的 Internet(通過重定向到內部伺服器)訪問。這是我的命令:

iptables -t nat -I PREROUTING -p tcp -s 192.168.43.51 -j DNAT --to-destination 192.168.43.1:12345
iptables -t nat -I PREROUTING -p udp -s 192.168.43.51 ! --dport 53 -j DNAT --to-destination 192.168.43.1:12345

192.168.43.51 是我要阻止的設備,192.168.43.1:12345 是內部伺服器。所以它正在工作,但在真正的阻塞和命令執行之間存在延遲。例如,當我下載文件時,我正在執行該命令,但文件會持續下載 5-15(大約)秒,而使用者可以使用一些額外的數據。如何解決?

因此,這是有效的解決方案:

iptables -I FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -s 192.168.43.51 ! -d 192.168.43.1 -j DROP

在 OUTPUT 規則中阻止它,除了你的 IP。

iptables -I FORWARD -s 192.168.43.51 ! -d 192.168.43.1 -j DROP
iptables -I FORWARD  -m state --state ESTABLISHED,RELATED -s 192.167.43.51 ! -d 192.168.43.1 -j DROP

引用自:https://unix.stackexchange.com/questions/243026