iptables疑問



贊助商連結


psetarn
2004-01-09, 10:58 AM
iptables -P FORWARD DROP
設了上面這行後
會跟
iptables -A FORWARD -p tcp --syn -j ACCEPT
iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
這二行抵觸

以下再來設定允許或不允許的rule都不影響了, 變成所有協定都通過, 失去設定第一行的意義
例如:
iptables -A FORWARD -p tcp --dport 80 -j DROP
iptables -A FORWARD -p tcp --sport 80 -j DROP
or
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -j ACCEPT


所以又要把所有要擋的rule移到那二行上面...如
iptables -A FORWARD -p tcp --dport 1863 -j DROP

該怎麼避免呢~?

贊助商連結


dou0228
2004-01-09, 11:15 AM
是你沒搞懂 iptables rule 的 match 意思吧..
先 match 先贏, 先 match 的先跑..
你把 --dport 80 擺到後面去, 前面一早就先 match 掉了, 怎會跑到這一條 --dport 80...

gd2k
2004-01-09, 12:02 PM
iptables -A FORWARD DROP

後面不管設什麼都不管用,執行到這一行就 return 。

dou0228
2004-01-09, 02:55 PM
最初由 gd2k 發表
iptables -A FORWARD DROP

後面不管設什麼都不管用,執行到這一行就 return 。

他寫的是 iptables -P FORWARD DROP ( default Policy )
又不是 -A FORWARD DROP

他的需求如果寫 iptables -A FORWARD DROP 那才真完蛋..:D

psetarn
2004-01-09, 03:57 PM
sorry~我想是我沒寫清楚我的情況..
我是iptables的新手, 搞了整整三天的iptables, 遇到這問題後就一直解不開,請有心的大大幫我看看如何解決..

我的設定:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A FORWARD -p tcp --syn -j ACCEPT
iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

#加了以下四行, 都不會有任何影響, 可是如果不設上面那二行, 要設允許的rule應該會更複雜吧??
iptables -A FORWARD -p tcp --dport 80 -j DROP
iptables -A FORWARD -p tcp --sport 80 -j DROP
or
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --sport 80 -j ACCEPT
#這是問題1

# Lan1 to Internet
#eth1是連外, eth2是內部 (這顆只當內部firewall, NIC都是虛擬IP)
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
#上面這兩行一定要設, 不然lan會出不去; 但是如果我加了其它的參數替換這二行還是過不去, 不曉得如何解. 如:
#iptables -A FORWARD -i eth1 -o eth2 -p tcp --dport 80 -j ACCEPT
#iptables -A FORWARD -i eth2 -o eth1 -p tcp --dport 80 -j ACCEPT
#iptables -A FORWARD -i eth1 -o eth2 -p tcp --sport 80 -j ACCEPT
#iptables -A FORWARD -i eth2 -o eth1 -p tcp --sport 80 -j ACCEPT
#這是問題2



# icmp
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type 0 -j ACCEPT

# DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --sport 53 -j ACCEPT


我是iptables新手啦!!請多包含囉~~