Linux內核參數優化——網絡調優(安全+性能)

#關閉ipv6 默認開啟

net.ipv6.conf.all.disable_ipv6 = 1      ??

net.ipv6.conf.default.disable_ipv6 = 1

#啟用timewait 快速回收

net.ipv4.tcp_tw_recycle = 1        ? ??

#開SYN洪水攻擊保護

net.ipv4.tcp_syncookies = 1        ? ?

#處理無源路由的包,防止黑客對服務器IP地址的攻擊

net.ipv4.conf.eth0.accept_source_route=0

net.ipv4.conf.lo.accept_source_route=0

net.ipv4.conf.default.accept_source_route=0

net.ipv4.conf.all.accept_source_route=0

#服務器忽略來自被列入網關的服務器的重定向。因重定向可以被用來進行攻擊,所以我們只接受有可靠來源的重定向

net.ipv4.conf.eth0.secure_redirects=1

net.ipv4.conf.lo.secure_redirects=1

net.ipv4.conf.default.secure_redirects=1

net.ipv4.conf.all.secure_redirects=1

#可以配置接受或拒絕任何ICMP重定向。ICMP重定向是器傳輸信息的機制。比如,當網關接收到來自所接網絡主機的Internet數據報時,網關可以發送重定向信息到一臺主機。網關檢查路由表獲得下一個網關的地址,第二個網關將數據報路由到目標網絡。關閉這些重定向得命令如下:

net.ipv4.conf.eth0.accept_redirects=0

net.ipv4.conf.lo.accept_redirects=0

net.ipv4.conf.default.accept_redirects=0

net.ipv4.conf.all.accept_redirects=0

#如果這個服務器不是一臺路由器,那么它不會發送重定向,所以可以關閉該功能:

net.ipv4.conf.eth0.send_redirects=0

net.ipv4.conf.lo.send_redirects=0

net.ipv4.conf.default.send_redirects=0

net.ipv4.conf.all.send_redirects=0

#開啟icmp廣播忽略,拒絕接受廣播風暴或者smurf 攻擊attacks:

net.ipv4.icmp_echo_ignore_broadcasts=1  ? ? ? ? ? ?   ?

#忽略所有icmp包或者pings

net.ipv4.icmp_echo_ignore_all=1

#有些路由器針對廣播禎發送無效的回應,每個都產生警告并在內核產生日志。這些回應可以被忽略

net.ipv4.icmp_ignore_bogus_error_responses=1

下邊的命令用來對連接數量非常大的服務器進行調優:

#表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認為0

net.ipv4.tcp_tw_reuse = 1

#表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0

net.ipv4.tcp_tw_recycle = 1              ?

#對于本端斷開的socket連接,TCP保持在FIN_WAIT_2狀態的時間

net.ipv4.tcp_fin_timeout = 60             ? ?

tips:

對于本端斷開的socket連接,TCP保持在FIN_WAIT_2狀態的時間。對方可能會斷開連接或一直不結束連接或不可預料的進程死亡。默認值為 60 秒。過去在2.2版本的內核中是 180 秒。您可以設置該值﹐但需要注意﹐如果您的機器為負載很重的web服務器﹐您可能要冒內存被大量無效數據報填滿的風險﹐FIN-WAIT-2 sockets 的危險性低于 FIN-WAIT-1 ﹐因為它們最多只吃 1.5K 的內存﹐但是它們存在時間更長。另外參考 tcp_max_orphans。

CLOSE_WAIT狀態的生成原因

如果服務器程序APACHE處于CLOSE_WAIT狀態的話,說明套接字是被動關閉的!

假設CLIENT端主動斷掉當前連接,那么雙方關閉這個TCP連接共需要四個packet:

Client —> FIN —> Server

Client < --- ACK <--- Server

這時候Client端處于FIN_WAIT_2狀態;而Server 程序處于CLOSE_WAIT狀態。

Client <--- FIN <--- Server

這時Server 發送FIN給Client,Server 就置為LAST_ACK狀態。

Client ---> ACK —> Server

Client回應了ACK,那么Server 的套接字才會真正置為CLOSED狀態。

Server 程序處于CLOSE_WAIT狀態,而不是LAST_ACK狀態,說明還沒有發FIN給Client,那么可能是在關閉連接之前還有許多數據要發送或者其他事要做,導致沒有發這個FIN packet。

通常來說,一個CLOSE_WAIT會維持至少2個小時的時間。如果有個流氓特地寫了個程序,給你造成一堆的CLOSE_WAIT,消耗資源,那么通常是等不到釋放那一刻,系統就已經解決崩潰了。

改變這個值的前要經過認真的監測,避免因為死套接字造成內存溢出。

#對于所有的隊列(即系統),設置最大系統發送緩存(wmem) 和接收緩存(rmem)到8MB

net.ipv4.core.wmem_max=8388608

net.ipv4.core.rmem_max=8388608

使用如下命令調整tcp發送和接收緩存。該命令設定了三個值:最小值、初始值和最大值

#調整tcp讀取緩存

net.ipv4.tcp_rmem="4096 87380 8388608"

#調整tcp寫入緩存

net.ipv4.tcp.wmem="4096 87380 8388608"  ?

net.ipv4.tcp_max_syn_backlog=4096

tips:

第三個值必須小于或等于wmem_max和rmem_max。

當服務器負載繁重或者是有很多客戶端都是超長延時的連接故障,可能會導致half-open連接數量的增加。這對于Web服務器很來講很平常,尤其有很多撥號客戶時。這些half-open連接保存在 backlog(積壓) connections 隊列中。

將這個值最少設置為4096 (缺省為1024)。 即便是服務器不接收這類連接,設置這個值還能防止受到denial-of-service (syn-flood)的攻擊

設置ipfrag參數,尤其是NFS和Samba服務器

net.ipv4.ipfrag_low_thresh=262144

net.ipv4.ipfrag_high_thresh=393216

tips:

這里,我們可以設置用于重新組合IP碎片的最大、最小內存。當ipfrag_high_thresh值被指派,碎片會被丟棄直到達到ipfrag_low_thres值。

當TCP數據包傳輸發生錯誤時,開始碎片整理。有效的數據包保留在內存,同時損壞的數據包被轉發。例如,設置可用內存范圍從256 MB到384 MB

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容