常用指令
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,表示關閉 reuse 功能!
net.ipv4.tcp_tw_reuse = 0
# net.ipv4.tcp_tw_recycle = 1 表示開啟 TCP 連接中 TIME-WAIT sockets 的快速回收,預設為 0
net.ipv4.tcp_tw_recycle = 0
此檔設定完要重開機。
相關連結