本篇全文出自:The Will Will Web
常用指令
netstat -tnao
查詢各連線的狀態與「斷線剩下的時間」( -o ) ( Timer )
lsof
目前開啟的檔案
netstat -tna | cut -b 49- |grep TIME_WAIT | sort
取出目前所有 TIME_WAIT 的連線 IP ( 排序過 )
小技巧
快速將特定 IP 鎖定的方法
架設你發現有問題的 IP 是 219.81.165.104
# route add 219.81.165.104 gw 127.0.0.1 lo
你可以透過 netstat -nr 指令看哪些被 blocked 的 IP
# netstat -nr
也可以將整個網段封鎖:
# route add -net 192.67.16.0/24 gw 127.0.0.1 lo
解除封鎖 IP 的方法
# route del 219.81.165.104 gw 127.0.0.1 lo
這實在是太酷了!因為你不用寫 iptables 規則就可以快速將 IP 封鎖!
常用檔案
/proc/sys/net/ipv4/tcp_fin_timeout
修改系統預設的 TIMEOUT 時間
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
/etc/sysctl.conf
以下設定可將連線快速關閉:
# net.ipv4.tcp_tw_reuse = 1 表示開啟重用。
# 允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉
net.ipv4.tcp_tw_reuse = 0
# net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉
net.ipv4.tcp_tw_recycle = 0
此檔設定完要重開機。
相關連結
http://www.linuxquestions.org/questions/linux-newbie-8/varlogmessages-too-many-files-open-335384/?highlight=time_wait
http://www.cyberciti.biz/faq/warning-got-duplicate-tcp-line-netstat-error-and-solution/
http://www.cyberciti.biz/tips/how-do-i-drop-or-block-attackers-ip-with-null-routes.html
留言列表