作者 主題: iptables相關設定問題!  (閱讀 2111 次)

0 會員 與 1 訪客 正在閱讀本文。

flwuqo

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
iptables相關設定問題!
« 於: 2007-12-03 16:18 »
各位學長:
我參考了這一篇文章:
http://phorum.study-area.org/index.php/topic,40447.0.html


對於這一行很不了解,
iptables -A INPUT -p tcp --syn --dport http -m iplimit --iplimit-above 4 -j DROP


上文中有提到,在新版的iptables中已經沒有iplimit了,

也因為如此我無法使用這一個語法,

那我也根據文章中有提到新增的語法,hashlimit
但我不知道用法怎麼弄耶,


我直接把語法改成iptables -A INPUT -p tcp --syn --dport http -m hashlimit --hashlimit-above 4 -j DROP

他又說沒有-above這個語法,

能幫我解解答嗎?因為dos攻擊真的很麻煩,
我有個想法,就是先針對同一個ip在每分鐘內只允許進來幾次的設定
第二就是縮短突然斷線使用者的通道保留時間,

接下來剩下的相關問題,我還得好好想想,還需要什麼其他方式設定。
linux真的很深奧~一直努力的學~卻無法更靠近一步~
好好加油~這是對自己的挑戰~

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: iptables相關設定問題!
« 回覆 #1 於: 2007-12-03 16:20 »
用 hashlimit 上 Google 找,第二個連結
http://yjrg.net/HT/con_55_M.1179817497.A.htm
我想這應該有你想要的資料...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: iptables相關設定問題!
« 回覆 #2 於: 2007-12-03 17:21 »
竟然是對外的服務,那麼封包的『目的』就會一樣,且『Port』 應該是一樣...
從這點下去試試看~ ..^_^..

不過這我倒是沒有自己 Try 過,可能還要請您多試試看囉~...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: iptables相關設定問題!
« 回覆 #3 於: 2007-12-03 18:26 »
竟然是對外的服務,那麼封包的『目的』就會一樣,且『Port』 應該是一樣...
從這點下去試試看~ ..^_^..

不過這我倒是沒有自己 Try 過,可能還要請您多試試看囉~...




iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-name http
--hashlimit 10/sec --hashlimit-burst 100 --hashlimit-mode -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP



>_<"
我又參照上面的用法試著對80port測試,但沒想到~語法一樣有錯= =
使用--hashlimit-mode後面不能接-j會出錯
我的豬腦袋快想不出還有什麼方法了啦=0="


因為你對 iptables 設定的方式不太熟吧...

試試看這樣...
代碼: [選擇]
iptables -N DEFLOOD
iptables -A INPUT -p tcp --dport 80 --m state --state NEW -j DEFLOOD
iptables -A DEFLOOD -m hashlimit --hashlimit-name deflood --hashlimit 10/sec
--hashlimit-burst 10 --hashlimit-mode srcip -j ACCEPT
iptables -P DEFLOOD -j DROP

第一行,產生 NEFLOOD table ,
第二行,將所有進來到 80 port 且 state 為 NEW 的封包都上標記然後跳到 deflood table 處理.
第三行,進行 hashlimit 的設定...
最後一行,把 deflood 中沒有符合規定封包都丟棄...

我這個平常沒設定過 iptables 都看出來大概要怎麼設定了,這位老兄您最好更努力 K 一下 iptables 的設定方法與各個 tables 之間的流程與關係..
« 上次編輯: 2007-12-03 18:28 由 Darkhero »
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/