介紹:
一般而言, 我不會直接用 iptables 的.
這是因為它很易人為操作出錯, 而出錯後問題很大(連唔到 ssh) ........
有時有的錯不是立即知的, 到知時可能已很遲很遲了(firewall).
所以我都是建議用 Shorewall 去處理這問題 !!
以下的不可就是 tips, 而是我從錯誤中學到的經驗.
<1>
iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
注意一定要加上 -p tcp, 否則會
lamp:~#iptables -t filter -A INPUT --dport 80 -j DROP
iptables v1.4.2: Unknown arg `(null)'
<2>
顯示 rule 的 line number
lamp:~#iptables -L -n --line-numbers
-n
Numeric output. IP addresses and port numbers will be printed
in numeric format.
iptables -D spamlist -s 202.54.1.2 -d 0/0 -j DROP
iptables -D INPUT 10
<3>
如果行了這句
iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
那 loalhost 可以去 port 80 嗎 ??
一般在網上常見的原理圖
----->-----PREROUTING----->------ FORWARD----->-----POSTROUTING----->---
\ /
INPUT----------->----[主機]---->----OUTPUT
<4>
假設我行了以下一句
iptables -t filter -I INPUT -p tcp -s 127.0.0.1 --dport 80 -j ACCEPT
那 lynx localhost 及 lynx 192.168.1.1 會成功嗎 ??
inet addr:192.168.1.1
inet addr:127.0.0.1
詳見:
淺談 iptable (入門內容)