看板 Network 關於我們 聯絡資訊
小弟在學習Iptables 時遇到一個問題 當我下iptables -A INPUT -d 192.168.1.222 -p tcp -m state --state NEW -j DROP 會無法開啟網頁 但是可以PING 出去 (192.168.1.222 是我的interface IP) 但是使用 iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -j DROP 卻可以成功開啟網頁 查了一些書籍 第一條意思是 目的端為192.168.1.222 的新連線封包(state NEW) 都DROP 第二條允許 成功建立的連線(state ESTABLISHED)通過 然後把所有的 進入封包都DROP 照理說第二條擋住的封包應該比第一條多 可是為什麼反而是第二條可以開網頁第一條不能呢???? --------------------------------------------------------------------- 第一條 Chain INPUT (policy ACCEPT 87 packets, 8182 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT icmp -- * * 0.0.0.0/0 192.168.1.222 icmp type 8 reject-with icmp-proto-unreachable 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:113 reject-with tcp-reset 0 0 DROP tcp -- * * 0.0.0.0/0 192.168.1.222 state NEW 第二條 Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT icmp -- * * 0.0.0.0/0 192.168.1.222 icmp type 8 reject-with icmp-proto-unreachable 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:113 reject-with tcp-reset 0 0 DROP tcp -- * * 0.0.0.0/0 192.168.1.222 state NEW 22 1572 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 順便請問一下 在剛才網路上爬文時 有一個疑問 當下iptable 指令時 如果不加 -t 那下的指令算是 filter nat mangle 的哪一個呢??? -- ※ 發信站: 批踢踢實業坊(ptt.cc)
asadfish:你把第一跟第二種狀況的 iptables -L -n -v 貼上來看看 03/07 14:48
※ 編輯: kuangs 來自: 218.211.253.68 (03/07 15:20)
supergdf:不加-t 是filter 03/07 15:28
asadfish:你第一條是指從222這台連yahoo開網頁,開不了嗎? 03/07 15:42
asadfish:http://ppt.cc/hFfQ 你說是router又有client,是這樣嗎 03/07 16:13
kuangs:是的 03/07 17:02
asadfish:如果網頁的Server在Internet,應該跟Forward有關才對 03/07 20:02
deadwood:開網頁是用TCP建立連線,你第一種第一條就把TCP丟棄了 03/08 01:47
deadwood:當然開網頁開不了,因為無法建立連線 03/08 01:48
deadwood:然後第二種,你第一條就放行TCP了,IPTABLES比對符合 03/08 01:49
deadwood:第一條的條件就放行,不會在去比對第二條 03/08 01:49
deadwood:這也就是IPTABLES上面的規則排放順序不能亂掉的原因 03/08 01:50
deadwood:另外,PING用的是ICMP而非TCP,所以第一種擋不掉PING 03/08 01:51