Linux

iptables 在沒有連接超時的情況下阻止 443 埠上的流量

  • January 29, 2018

我有一台 192.168.1.10 電腦,我想阻止從區域網路到埠 443 的流量。

現在我只是在使用:

iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 443 -j REJECT

問題是,如果我將瀏覽器指向https://192.168.1.10它,連接超時需要一些時間,而不是像我期望的 -j REJECT 操作那樣立即拒絕連接。

為什麼 ?我希望使用我設置的 iptables 規則拒絕連接,而不是延遲連接超時。

謝謝

更新:iptables 規則:

Chain INPUT (policy DROP 1 packets, 36 bytes)
pkts bytes target     prot opt in     out     source               destination
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags:! 0x17/0x02 state NEW
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x29
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x3F
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x00
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x06/0x06
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x03/0x03
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x11/0x01
   0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x37
   0     0 ACCEPT     tcp  --  *      *       127.0.0.0/24         0.0.0.0/0
   0     0 ACCEPT     udp  --  *      *       127.0.0.0/24         0.0.0.0/0
   9   468 REJECT     tcp  --  *      *       192.168.1.0/24       0.0.0.0/0            tcp dpt:443 reject-with icmp-admin-prohibited
   0     0 REJECT     tcp  --  tun0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 reject-with icmp-port-unreachable
  70  4080 ACCEPT     tcp  --  *      *       192.168.1.0/24       0.0.0.0/0
  37  9773 ACCEPT     udp  --  *      *       192.168.1.0/24       0.0.0.0/0
   0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
   0     0 ACCEPT     all  --  tun0   *       0.0.0.0/0            0.0.0.0/0
   0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 0
   0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
   0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 11
   0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8 limit: avg 10/sec burst 5
   0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0
   6   456 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
   0     0 ACCEPT     all  --  eth0   tun0    0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
   0     0 ACCEPT     all  --  *      eth0    10.7.7.0/24          0.0.0.0/0

Chain OUTPUT (policy ACCEPT 94 packets, 14132 bytes)
pkts bytes target     prot opt in     out     source               destination

根據進一步的交流,似乎需要補充:

--reject-with tcp-reset

根據您的iptables ... -j REJECT規則,以便立即做出反應,而無需等待超時。

即使使用特定的基於 ICMP 的拒絕類型會更好,因為該協議是為發出連接拒絕原因而定制的。

引用自:https://serverfault.com/questions/894294