使用 iptables 來擋 Ping 的封包...

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

使用 iptables 來擋 Ping 的封包...

文章Tetralet » 週五 5月 06, 2005 9:50 am

這是昨天寫的一個小小的 iptables 的 Script:
代碼: 選擇全部
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat

iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP

iptables -A OUTPUT -o ppp0 -j ACCEPT
iptables -A INPUT -i ppp0 -j ACCEPT


這樣子設定了 iptables 之後,
應該可以正常對外部連線,也可以 Ping 到別人,
但是外部會完全連不進來,連 Ping 也 Ping 不到...

可是我不太了解的是,
為什麼 --state NEW,INVALID 可以連 Ping 都擋掉呢?
這遠遠得超出了我的理解範圍之外了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章willie0220 off-line » 週五 5月 06, 2005 11:24 am

說一下我的理解,有錯請指證:

原因在於,--state NEW會檔掉新的連線

也就是說,只要是從外部往本機的"新連線"都會被檔掉。

所以囉,別人ping你的電腦,方向也是從外部往本機連線,自然就被檔掉囉
willie0220 off-line
 

文章Tetralet » 週五 5月 06, 2005 1:47 pm

willie0220 off-line 寫:原因在於,--state NEW會檔掉新的連線

也就是說,只要是從外部往本機的"新連線"都會被檔掉。

所以囉,別人ping你的電腦,方向也是從外部往本機連線,自然就被檔掉囉

感謝您的回覆...

我找到原因了,的確和您的猜測一樣,
原來在 iptables 裡,
將 icmp 的 echo request 封包也視同 NEW 封包。

參考資訊:

  IPtables connection tracking

下次問奇怪的問題之前,
還是先拜過 Google 大神好了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron