Hippies

標題: iptables的用法B [打印本頁]

作者: kevinhu    時間: 2014-6-5 15:13
標題: iptables的用法B
一開始會先將所有規則全部清掉:
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
再來就是設定防火牆的政策 (policy) ; 在封包進入 firewall 後,iptables 就將其放進不同鏈中,並逐行檢查規則,一但找到符合的規則時,便依此規則來處理封包,假使找無符合規則時,就會以 -P (policy) 為依據。其語法如下:
iptables -t <table> -P < ACCEPT,DROP>
請參考下面的範例:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
接下來設定防火牆的比對規則 (Rules)
iptables -t nat -A POSTROUTING -o eth0  -j MASQUERADE
(在table NAT 中的 POSTROUTING chains 內新增一調規則 ->從介面 eth0 輸出的封包送至 MASQUERADE偽裝)
第二條規則就是將那些外部主動連線或無效的封包檔掉,這也是為何我們可以將 policy 設定成 ACCEPT 的原因。
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP
iptables -F
iptables -F -t nat
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3128  -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth0  -j MASQUERADE
刪除某一個chain
iptables -t nat -D PREROUTING 1
如果要保險一點的話只開放某些 PORT,,其他就關閉
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# 允許相關連結服務
# port 20、21 : ftp 使用的。
iptables -A FORWARD -p tcp --sport 20  -j ACCEPT
iptables -A FORWARD -p tcp --dport 20  -j ACCEPT
iptables -A FORWARD -p tcp --sport 21  -j ACCEPT
iptables -A FORWARD -p tcp --dport 21  -j ACCEPT
# allow ssh
iptables -A FORWARD -p tcp --sport 22  -j ACCEPT
iptables -A FORWARD -p tcp --dport 22  -j ACCEPT
#    port 25 : sendmail 使用。讓信件可以寄進來。
iptables -A FORWARD -p tcp --sport 25  -j ACCEPT
iptables -A FORWARD -p tcp --dport 25  -j ACCEPT
#    port 37 :  time
iptables -A FORWARD -p tcp --sport 37  -j ACCEPT
iptables -A FORWARD -p tcp --dport 37  -j ACCEPT
# port 53 : dns 使用。dns 需要打開 udp 使用。
iptables -A FORWARD -p udp --sport 53  -j ACCEPT
iptables -A FORWARD -p udp --dport 53  -j ACCEPT
# allow http
iptables -A FORWARD -p tcp --sport 80  -j ACCEPT
iptables -A FORWARD -p tcp --dport 80  -j ACCEPT
# port 106 : poppw 使用
iptables -A FORWARD -p tcp --sport 106  -j ACCEPT
iptables -A FORWARD -p tcp --dport 106  -j ACCEPT
# port 110 : pop3 使用
iptables -A FORWARD -p tcp --sport 110  -j ACCEPT
iptables -A FORWARD -p tcp --dport 110  -j ACCEPT
# port 113 : auth 身份確認。我打開是讓一些使用該 113 確認身份的主機 不至於反查時會卡住很久。
iptables -A FORWARD -p tcp --sport 113  -j ACCEPT
iptables -A FORWARD -p tcp --dport 113  -j ACCEPT
# port 143 : imap2
iptables -A FORWARD -p tcp --sport 143  -j ACCEPT
iptables -A FORWARD -p tcp --dport 143  -j ACCEPT
# allow https
iptables -A FORWARD -p tcp --sport 443  -j ACCEPT
iptables -A FORWARD -p tcp --dport 443  -j ACCEPT
# port 3000 : ntop
iptables -A FORWARD -p tcp --sport 3000  -j ACCEPT
iptables -A FORWARD -p tcp --dport 3000  -j ACCEPT
# port 3128 : proxy
iptables -A FORWARD -p tcp --dport 3128  -j ACCEPT
iptables -A FORWARD -p tcp --sport 3128  -j ACCEPT
# port 3306 : mysql
iptables -A FORWARD -p tcp --dport 3306  -j ACCEPT
iptables -A FORWARD -p tcp --sport 3306  -j ACCEPT
iptables -A FORWARD -p tcp --sport 1:65535  -j DROP
iptables -A FORWARD -p tcp --dport 1:65535  -j DROP
# 只讓某些電腦通過
iptables -A INPUT -s 172.16.4.0/24  -j ACCEPT
iptables -A FORWARD -s 172.16.4.0/24 -j ACCEPT
iptables -A INPUT -s 172.16.0.0/24  -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/24 -j ACCEPT
#iptables -A OUTPUT -d 172.16.4.0/24 -j ACCEPT
iptables -A INPUT -s 210.240.11.0/24  -j ACCEPT
iptables -A FORWARD -s 210.240.11.0/24 -j ACCEPT
iptables -A OUTPUT -d 210.240.11.0/24 -j ACCEPT
iptables -A INPUT -s 172.16.0.253/32 -j ACCEPT
iptables -A OUTPUT -d 172.16.0.253/32 -j ACCEPT
# 其他就擋住
iptables -A INPUT -i eth1 -j DROP
iptables -A FORWARD -i eth1 -j DROP
iptables -t nat -A POSTROUTING -o eth0  -j MASQUERADE
資料來源
http://www.mcjh.kl.edu.tw/usr/wdh/info/94/iptables/

作者: kevinhu    時間: 2016-3-25 10:45
本帖最後由 kevinhu 於 2016-3-25 10:46 編輯

iptables設定後如果要能夠一直的保存的話
要記得還有一些程式要處理
1. 要做保存動作,才不會在重新啟動後又回到原始的狀態。
2. 要加裝可以在開機後自動把保存的內容載回的套件。
詳細請參考這篇文章 Saving_Iptables_Firewall_Rules_Permanently

作者: kevinhu    時間: 2016-6-24 13:28
25個最常使用的iptables規則設定範例,值得參考哦!
25 Most Frequently Used Linux IPTables Rules Examples

作者: kevinhu    時間: 2017-6-9 11:47
iptables 設定入門参考




歡迎光臨 Hippies (http://bbs.hippies.tw/) Powered by Discuz! X3.2