kevinhu 發表於 2014-6-5 15:13:54

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:35

本帖最後由 kevinhu 於 2016-3-25 10:46 編輯

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

kevinhu 發表於 2016-6-24 13:28:00

25個最常使用的iptables規則設定範例,值得參考哦!
25 Most Frequently Used Linux IPTables Rules Examples

kevinhu 發表於 2017-6-9 11:47:37

iptables 設定入門参考
頁: [1]
查看完整版本: iptables的用法B