由於TCP協議缺陷被惡意利用Syn-Flood攻擊,Linux核心調整這些引數可緩解這類攻擊:
net.ipv4.tcp_syncookies = 1
#啟用syncookies
net.ipv4.tcp_max_syn_backlog = 8192
#SYN佇列長度
net.ipv4.tcp_synack_retries=2
#SYN ACK重試次數
Linux伺服器作為閘道器或代理時TIME-WAIT較多,可透過以下引數最佳化調整:
net.ipv4.tcp_fin_timeout = 30
#主動關閉方FIN-WAIT-2超時時間
net.ipv4.tcp_keepalive_time = 1200
#TCP傳送keepalive訊息的頻度
net.ipv4.tcp_tw_reuse = 1
#開啟TIME-WAIT重用
net.ipv4.tcp_tw_recycle = 1
#開啟TIME-WAIT快速回收
net.ipv4.ip_local_port_range = 1024 65000
#向外連線的埠範圍
net.ipv4.tcp_max_tw_buckets = 5000
#最大TIME-WAIT數量,超過立即清除
net.ipv4.tcp_syn_retries = 2
#SYN重試次數
其它一些引數最佳化:
net.ipv4.tcp_rmem = 4096 87380 4194304
#TCP接收緩衝大小,對應最小、預設、最大
net.ipv4.tcp_wmem = 4096 16384 4194304
#TCP傳送緩衝大小,對應最小、預設、最大
net.core.rmem_max = 16777216
#最大發送套接字緩衝區大小
net.core.wmem_max = 16777216
#最大接收套接字緩衝區大小
net.core.netdev_max_backlog = 262144
#當網路介面接收速率比核心處理快時允許發到佇列的資料包數目
net.core.somaxconn = 262144
#系統同時發起的TCP連線婁,超過導致連線超時或重傳
由於TCP協議缺陷被惡意利用Syn-Flood攻擊,Linux核心調整這些引數可緩解這類攻擊:
net.ipv4.tcp_syncookies = 1
#啟用syncookies
net.ipv4.tcp_max_syn_backlog = 8192
#SYN佇列長度
net.ipv4.tcp_synack_retries=2
#SYN ACK重試次數
Linux伺服器作為閘道器或代理時TIME-WAIT較多,可透過以下引數最佳化調整:
net.ipv4.tcp_fin_timeout = 30
#主動關閉方FIN-WAIT-2超時時間
net.ipv4.tcp_keepalive_time = 1200
#TCP傳送keepalive訊息的頻度
net.ipv4.tcp_tw_reuse = 1
#開啟TIME-WAIT重用
net.ipv4.tcp_tw_recycle = 1
#開啟TIME-WAIT快速回收
net.ipv4.ip_local_port_range = 1024 65000
#向外連線的埠範圍
net.ipv4.tcp_max_tw_buckets = 5000
#最大TIME-WAIT數量,超過立即清除
net.ipv4.tcp_syn_retries = 2
#SYN重試次數
其它一些引數最佳化:
net.ipv4.tcp_rmem = 4096 87380 4194304
#TCP接收緩衝大小,對應最小、預設、最大
net.ipv4.tcp_wmem = 4096 16384 4194304
#TCP傳送緩衝大小,對應最小、預設、最大
net.core.rmem_max = 16777216
#最大發送套接字緩衝區大小
net.core.wmem_max = 16777216
#最大接收套接字緩衝區大小
net.core.netdev_max_backlog = 262144
#當網路介面接收速率比核心處理快時允許發到佇列的資料包數目
net.core.somaxconn = 262144
#系統同時發起的TCP連線婁,超過導致連線超時或重傳