萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Linux下的vps被ddos攻擊的解決辦法

Linux下的vps被ddos攻擊的解決辦法

   連接vps 輸入第一個命令

  netstat -anp |awk ‘{print $6}’|sort|uniq -c |sort -rn

  這裡我們查看SYN_RECV這些,看他的連接數高不高,好幾百,就有可能被ddos了

  接下來追查是來自哪個ip發出syn的

  指令:netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

  接下來繼續看下,輸入指令

  netstat -ntu | grep SYN | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n more

  netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

  確認了被syn攻擊後,我們來改動下syn

  查看默認的syn配置

  輸入 sysctl -a | grep _syn

  可以看到,這個是我已經配置好了的,大家可以參考

  net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120

  net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60

  net.ipv4.tcp_syn_retries = 3

  net.ipv4.tcp_synack_retries = 3

  net.ipv4.tcp_syncookies = 1

  net.ipv4.tcp_max_syn_backlog = 10240

  tcp_max_syn_backlog是SYN隊列的長度,加大SYN隊列的長度可以容納更多等待網絡連接數。tcp_syncookies是一個開關,打開SYN Cookie 功能,可以防止部分SYN攻擊。tcp_synack_retries和tcp_syn_retries定義SYN 的重試連接次數,將默認的參數減小來控制SYN連接次數的盡量少。

  修改方法,使配置立即生效,無需重啟,可以執行

  #sysctl -w net.ipv4.tcp_max_syn_backlog=10240

  #sysctl -w net.ipv4.tcp_syncookies=1

  #sysctl -w net.ipv4.tcp_synack_retries=3

  #sysctl -w net.ipv4.tcp_syn_retries=3

  這樣就可以了,之後可以再次輸入最前面的命令,來查看syn是否降下來了

copyright © 萬盛學電腦網 all rights reserved