linux內核參數配置(持續更新)

我們可以在sysctl.conf中看到linux的配置 這裏可以修改內核參數來達到功能優化的目的

**

修改對外連接的端口

默認32768
**
net.ipv4.ip_local_port_range

**

修改syn等待隊列長度

默認爲1024
用來修改可以容納等待連接的網絡連接數。
**
net.ipv4.tcp_max_syn_backlog
**

關閉ipv6:

**
首先可以通過ifconfig查看是否開啓了ipv6(ifconfig route netstat 命令不多說)
運行netstat會發現沒有相關的ipv6了
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

**

防止放大攻擊

**:黑客利用DNS服務器 使得被攻擊者因氾濫的流量而變得不堪重負(應答包比請求包大),最終導致拒絕服務

net.ipv4.icmp_echo_ignore_broadcasts = 1 防止拒絕服務攻擊,設置爲1來忽略這些子網廣播消息

**

開啓syn cookie 防止syn攻擊

可以少量防止syn攻擊:一般客戶端發送syn給服務器後會導致服務器開啓數據區(估計是爲了在半連接狀態下可以存儲來自客戶端的數據吧)—改成–》服務器接受syn之後返回這個syn計算出來的cookie 在下次接受時對比 成功才最終建立連接
**
net.ipv4.tcp_syncookies = 1

**

表示開啓重用

允許將TIME-WAIT sockets重新用於新的TCP連接,默認爲0,表示關閉;
需要有tcp_timestamps
解決端口65535問題 TIME_OUT過多直接影響處理能力
**
net.ipv4.tcp_tw_reuse = 1

**

開啓快速回收

表示開啓TCP連接中TIME-WAIT sockets的快速回收,默認爲0,表示關閉;
**
net.ipv4.tcp_tw_recycle = 1

**

修改timeout時間

修改系統默認的 TIMEOUT 時間。
**
net.ipv4.tcp_fin_timeout

**

修改發送keepalive

主要在長鏈接情況下 服務器端用來探測連接的對端是否存活 在此時間後發送
**
net.ipv4.tcp_keepalive_time

**

發送探測客戶端是否存活的次數

配合tcp_keepalive_time
**
tcp_keepalive_probes

**

探測消息發送的頻率

乘以次數就是用來判斷是否死亡的總時間
**

tcp_keepalive_intvl
**

系統可以同時保持的timewait連接的數量

在 TIME_WAIT達到你所設置的 tcp_max_tw_buckets 時就不會有新的 TIME_WAIT狀態的連接 產生了。
在內存大的時候當然可以適當增大這個值
**
net.ipv4.tcp_max_tw_buckets

**

尚未收到客戶端ack確認信息的連接的最大值

即半連接最大值
**
net.ipv4.tcp_max_syn_backlog

**

每次軟中斷處理的網絡包個數

會影響軟中斷次數?
**

net.core.netdev_budget
**

當個別接口接收包的速度快於內核處理速度時允許的最大的包序列

**

net.core.netdev_max_backlog
**

指服務端所能accept即處理數據的最大客戶端數量,即完成連接上限

**
net.core.somaxconn
**

服務器端在放棄連接前重傳2次握手 syn+ack的包的數量

**

net.ipv4.tcp_synack_retries

**

內核放棄建立連接之前允許客戶端發送SYN包的數量

用來定義客戶端主機發送第一次握手syn後 一直得不到反饋的最大超時時間
**
tcp_syn_retries
**

系統中最多可以有多少TCP套接字不被關聯到任何一個用戶文件句柄上

超過設置的值就會復位並警告 可防止簡單的DOS攻擊
**

net.ipv4.tcp_max_orphans

發佈了66 篇原創文章 · 獲贊 44 · 訪問量 7307
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章