時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
tcp_syn_retries :INTEGER
默認(rèn)值是5
對(duì)于一個(gè)新建連接,內(nèi)核要發(fā)送多少個(gè) SYN 連接請(qǐng)求才決定放棄。不應(yīng)該大于255,默認(rèn)值是5,對(duì)應(yīng)于180秒左右時(shí)間。(對(duì)于大負(fù)載而物理通信良好的網(wǎng)絡(luò)而言,這個(gè)值偏高,可修改為2.這個(gè)值僅僅是針對(duì)對(duì)外的連接,對(duì)進(jìn)來(lái)的連接,是由tcp_retries1 決定的)
tcp_synack_retries :INTEGER
默認(rèn)值是5
對(duì)于遠(yuǎn)端的連接請(qǐng)求SYN,內(nèi)核會(huì)發(fā)送SYN + ACK數(shù)據(jù)報(bào),以確認(rèn)收到上一個(gè) SYN連接請(qǐng)求包。這是所謂的三次握手( threeway handshake)機(jī)制的第二個(gè)步驟。這里決定內(nèi)核在放棄連接之前所送出的 SYN+ACK 數(shù)目。不應(yīng)該大于255,默認(rèn)值是5,對(duì)應(yīng)于180秒左右時(shí)間。(可以根據(jù)上面的tcp_syn_retries來(lái)決定這個(gè)值)
tcp_keepalive_time :INTEGER
默認(rèn)值是7200(2小時(shí))
當(dāng)keepalive打開的情況下,TCP發(fā)送keepalive消息的頻率。(由于目前網(wǎng)絡(luò)攻擊等因素,造成了利用這個(gè)進(jìn)行的攻擊很頻繁,曾經(jīng)也有cu的朋友提到過(guò),說(shuō)如果2邊建立了連接,然后不發(fā)送任何數(shù)據(jù)或者rst/fin消息,那么持續(xù)的時(shí)間是不是就是2小時(shí),空連接攻擊?tcp_keepalive_time就是預(yù)防此情形的.我個(gè)人在做nat服務(wù)的時(shí)候的修改值為1800秒)
tcp_keepalive_probes:INTEGER
默認(rèn)值是9
TCP發(fā)送keepalive探測(cè)以確定該連接已經(jīng)斷開的次數(shù)。(注意:保持連接僅在SO_KEEPALIVE套接字選項(xiàng)被打開是才發(fā)送.次數(shù)默認(rèn)不需要修改,當(dāng)然根據(jù)情形也可以適當(dāng)?shù)乜s短此值.設(shè)置為5比較合適)
tcp_keepalive_intvl:INTEGER
默認(rèn)值為75
探測(cè)消息發(fā)送的頻率,乘以tcp_keepalive_probes就得到對(duì)于從開始探測(cè)以來(lái)沒(méi)有響應(yīng)的連接殺除的時(shí)間。默認(rèn)值為75秒,也就是沒(méi)有活動(dòng)的連接將在大約11分鐘以后將被丟棄。(對(duì)于普通應(yīng)用來(lái)說(shuō),這個(gè)值有一些偏大,可以根據(jù)需要改小.特別是web類服務(wù)器需要改小該值,15是個(gè)比較合適的值)
tcp_retries1 :INTEGER
默認(rèn)值是3
放棄回應(yīng)一個(gè)TCP連接請(qǐng)求前﹐需要進(jìn)行多少次重試。RFC 規(guī)定最低的數(shù)值是3﹐這也是默認(rèn)值﹐根據(jù)RTO的值大約在3秒 - 8分鐘之間。(注意:這個(gè)值同時(shí)還決定進(jìn)入的syn連接)
tcp_retries2 :INTEGER
默認(rèn)值為15
在丟棄激活(已建立通訊狀況)的TCP連接之前﹐需要進(jìn)行多少次重試。默認(rèn)值為15,根據(jù)RTO的值來(lái)決定,相當(dāng)于13-30分鐘(RFC1122規(guī)定,必須大于100秒).(這個(gè)值根據(jù)目前的網(wǎng)絡(luò)設(shè)置,可以適當(dāng)?shù)馗男?我的網(wǎng)絡(luò)內(nèi)修改為了5)
tcp_orphan_retries :INTEGER
默認(rèn)值是7
在近端丟棄TCP連接之前﹐要進(jìn)行多少次重試。默認(rèn)值是7個(gè)﹐相當(dāng)于 50秒 - 16分鐘﹐視 RTO 而定。如果您的系統(tǒng)是負(fù)載很大的web服務(wù)器﹐那么也許需要降低該值﹐這類 sockets 可能會(huì)耗費(fèi)大量的資源。另外參的考 tcp_max_orphans 。(事實(shí)上做NAT的時(shí)候,降低該值也是好處顯著的,我本人的網(wǎng)絡(luò)環(huán)境中降低該值為3)
tcp_fin_timeout :INTEGER
默認(rèn)值是 60
對(duì)于本端斷開的socket連接,TCP保持在FIN-WAIT-2狀態(tài)的時(shí)間。對(duì)方可能會(huì)斷開連接或一直不結(jié)束連接或不可預(yù)料的進(jìn)程死亡。默認(rèn)值為 60 秒。過(guò)去在2.2版本的內(nèi)核中是 180 秒。您可以設(shè)置該值﹐但需要注意﹐如果您的機(jī)器為負(fù)載很重的web服務(wù)器﹐您可能要冒內(nèi)存被大量無(wú)效數(shù)據(jù)報(bào)填滿的風(fēng)險(xiǎn)﹐FIN-WAIT-2 sockets 的危險(xiǎn)性低于 FIN-WAIT-1 ﹐因?yàn)樗鼈冏疃嘀怀?1.5K 的內(nèi)存﹐但是它們存在時(shí)間更長(zhǎng)。另外參考 tcp_max_orphans。(事實(shí)上做NAT的時(shí)候,降低該值也是好處顯著的,我本人的網(wǎng)絡(luò)環(huán)境中降低該值為30)
tcp_max_tw_buckets :INTEGER
默認(rèn)值是180000
系統(tǒng)在同時(shí)所處理的最大 timewait sockets 數(shù)目。如果超過(guò)此數(shù)的話﹐time-wait socket 會(huì)被立即砍除并且顯示警告信息。之所以要設(shè)定這個(gè)限制﹐純粹為了抵御那些簡(jiǎn)單的 DoS 攻擊﹐千萬(wàn)不要人為的降低這個(gè)限制﹐不過(guò)﹐如果網(wǎng)絡(luò)條件需要比默認(rèn)值更多﹐則可以提高它(或許還要增加內(nèi)存)。(事實(shí)上做NAT的時(shí)候最好可以適當(dāng)?shù)卦黾釉撝?
tcp_tw_recycle :BOOLEAN
默認(rèn)值是0
打開快速 TIME-WAIT sockets 回收。除非得到技術(shù)專家的建議或要求﹐請(qǐng)不要隨意修改這個(gè)值。(做NAT的時(shí)候,建議打開它)
tcp_tw_reuse:BOOLEAN
默認(rèn)值是0
該文件表示是否允許重新應(yīng)用處于TIME-WAIT狀態(tài)的socket用于新的TCP連接(這個(gè)對(duì)快速重啟動(dòng)某些服務(wù),而啟動(dòng)后提示端口已經(jīng)被使用的情形非常有幫助)
tcp_max_orphans :INTEGER
缺省值是8192
系統(tǒng)所能處理不屬于任何進(jìn)程的TCP sockets最大數(shù)量。假如超過(guò)這個(gè)數(shù)量﹐那么不屬于任何進(jìn)程的連接會(huì)被立即reset,并同時(shí)顯示警告信息。之所以要設(shè)定這個(gè)限制﹐純粹為了抵御那些簡(jiǎn)單的 DoS 攻擊﹐千萬(wàn)不要依賴這個(gè)或是人為的降低這個(gè)限制(這個(gè)值Redhat AS版本中設(shè)置為32768,但是很多防火墻修改的時(shí)候,建議該值修改為2000)
tcp_abort_on_overflow :BOOLEAN
缺省值是0
當(dāng)守護(hù)進(jìn)程太忙而不能接受新的連接,就象對(duì)方發(fā)送reset消息,默認(rèn)值是false。這意味著當(dāng)溢出的原因是因?yàn)橐粋€(gè)偶然的猝發(fā),那么連接將恢復(fù)狀態(tài)。只有在你確信守護(hù)進(jìn)程真的不能完成連接請(qǐng)求時(shí)才打開該選項(xiàng),該選項(xiàng)會(huì)影響客戶的使用。(對(duì)待已經(jīng)滿載的sendmail,apache這類服務(wù)的時(shí)候,這個(gè)可以很快讓客戶端終止連接,可以給予服務(wù)程序處理已有連接的緩沖機(jī)會(huì),所以很多防火墻上推薦打開它)
tcp_syncookies :BOOLEAN
默認(rèn)值是0
只有在內(nèi)核編譯時(shí)選擇了CONFIG_SYNCOOKIES時(shí)才會(huì)發(fā)生作用。當(dāng)出現(xiàn)syn等候隊(duì)列出現(xiàn)溢出時(shí)象對(duì)方發(fā)送syncookies。目的是為了防止syn flood攻擊。
注意:該選項(xiàng)千萬(wàn)不能用于那些沒(méi)有收到攻擊的高負(fù)載服務(wù)器,如果在日志中出現(xiàn)synflood消息,但是調(diào)查發(fā)現(xiàn)沒(méi)有收到synflood攻擊,而是合法用戶的連接負(fù)載過(guò)高的原因,你應(yīng)該調(diào)整其它參數(shù)來(lái)提高服務(wù)器性能。參考:
tcp_max_syn_backlog
tcp_synack_retries
tcp_abort_on_overflow
syncookie嚴(yán)重的違背TCP協(xié)議,不允許使用TCP擴(kuò)展,可能對(duì)某些服務(wù)導(dǎo)致嚴(yán)重的性能影響(如SMTP轉(zhuǎn)發(fā))。(注意,該實(shí)現(xiàn)與BSD上面使用的tcp proxy一樣,是違反了RFC中關(guān)于tcp連接的三次握手實(shí)現(xiàn)的,但是對(duì)于防御syn-flood的確很有用.)
tcp_stdurg :BOOLEAN
默認(rèn)值為0
使用 TCP urg pointer 字段中的主機(jī)請(qǐng)求解釋功能。大部份的主機(jī)都使用老舊的 BSD解釋,因此如果您在 Linux 打開它﹐或會(huì)導(dǎo)致不能和它們正確溝通。
tcp_max_syn_backlog :INTEGER
對(duì)于那些依然還未獲得客戶端確認(rèn)的連接請(qǐng)求﹐需要保存在隊(duì)列中最大數(shù)目。對(duì)于超過(guò) 128Mb 內(nèi)存的系統(tǒng)﹐默認(rèn)值是 1024 ﹐低于 128Mb 的則為 128。如果服務(wù)器經(jīng)常出現(xiàn)過(guò)載﹐可以嘗試增加這個(gè)數(shù)字。警告﹗假如您將此值設(shè)為大于 1024﹐最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE ﹐以保持 TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog ﹐并且編進(jìn)核心之內(nèi)。(SYN Flood攻擊利用TCP協(xié)議散布握手的缺陷,偽造虛假源IP地址發(fā)送大量TCP-SYN半打開連接到目標(biāo)系統(tǒng),最終導(dǎo)致目標(biāo)系統(tǒng)Socket隊(duì)列資源耗盡而無(wú)法接受新的連接。為了應(yīng)付這種攻擊,現(xiàn)代Unix系統(tǒng)中普遍采用多連接隊(duì)列處理的方式來(lái)緩沖(而不是解決)這種攻擊,是用一個(gè)基本隊(duì)列處理正常的完全連接應(yīng)用(Connect()和Accept() ),是用另一個(gè)隊(duì)列單獨(dú)存放半打開連接。這種雙隊(duì)列處理方式和其他一些系統(tǒng)內(nèi)核措施(例如Syn-Cookies/Caches)聯(lián)合應(yīng)用時(shí),能夠比較有效的緩解小規(guī)模的SYN Flood攻擊(事實(shí)證明<1000p/s)加大SYN隊(duì)列長(zhǎng)度可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù),所以對(duì)Server來(lái)說(shuō)可以考慮增大該值.)
tcp_window_scaling :INTEGER
缺省值為1
該文件表示設(shè)置tcp/ip會(huì)話的滑動(dòng)窗口大小是否可變。參數(shù)值為布爾值,為1時(shí)表示可變,為0時(shí)表示不可變。tcp/ip通常使用的窗口最大可達(dá)到 65535 字節(jié),對(duì)于高速網(wǎng)絡(luò),該值可能太小,這時(shí)候如果啟用了該功能,可以使tcp/ip滑動(dòng)窗口大小增大數(shù)個(gè)數(shù)量級(jí),從而提高數(shù)據(jù)傳輸?shù)哪芰?RFC 1323)。(對(duì)普通地百M(fèi)網(wǎng)絡(luò)而言,關(guān)閉會(huì)降低開銷,所以如果不是高速網(wǎng)絡(luò),可以考慮設(shè)置為0)
tcp_timestamps :BOOLEAN
缺省值為1
Timestamps 用在其它一些東西中﹐可以防范那些偽造的 sequence 號(hào)碼。一條1G的寬帶線路或許會(huì)重遇到帶 out-of-line數(shù)值的舊sequence 號(hào)碼(假如它是由于上次產(chǎn)生的)。Timestamp 會(huì)讓它知道這是個(gè) ‘舊封包’。(該文件表示是否啟用以一種比超時(shí)重發(fā)更精確的方法(RFC 1323)來(lái)啟用對(duì) RTT 的計(jì)算;為了實(shí)現(xiàn)更好的性能應(yīng)該啟用這個(gè)選項(xiàng)。)
tcp_sack :BOOLEAN
缺省值為1
使用 Selective ACK﹐它可以用來(lái)查找特定的遺失的數(shù)據(jù)報(bào)— 因此有助于快速恢復(fù)狀態(tài)。該文件表示是否啟用有選擇的應(yīng)答(Selective Acknowledgment),這可以通過(guò)有選擇地應(yīng)答亂序接收到的報(bào)文來(lái)提高性能(這樣可以讓發(fā)送者只發(fā)送丟失的報(bào)文段)。(對(duì)于廣域網(wǎng)通信來(lái)說(shuō)這個(gè)選項(xiàng)應(yīng)該啟用,但是這會(huì)增加對(duì) CPU 的占用。)
tcp_fack :BOOLEAN
缺省值為1
打開FACK擁塞避免和快速重傳功能。(注意,當(dāng)tcp_sack設(shè)置為0的時(shí)候,這個(gè)值即使設(shè)置為1也無(wú)效)
tcp_dsack :BOOLEAN
缺省值為1
允許TCP發(fā)送"兩個(gè)完全相同"的SACK。
tcp_ecn :BOOLEAN
缺省值為0
打開TCP的直接擁塞通告功能。
tcp_reordering :INTEGER
默認(rèn)值是3
TCP流中重排序的數(shù)據(jù)報(bào)最大數(shù)量 。 (一般有看到推薦把這個(gè)數(shù)值略微調(diào)整大一些,比如5)
tcp_retrans_collapse :BOOLEAN
缺省值為1
對(duì)于某些有bug的打印機(jī)提供針對(duì)其bug的兼容性。(一般不需要這個(gè)支持,可以關(guān)閉它)
tcp_wmem(3個(gè)INTEGER變量): min, default, max
min:為TCP socket預(yù)
關(guān)鍵詞標(biāo)簽:TCP
相關(guān)閱讀
熱門文章 路由器地址大全-各品牌路由設(shè)置地址 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 Nslookup命令詳解-域名DNS診斷 站長(zhǎng)裝備:十大網(wǎng)站管理員服務(wù)器工具軟件
人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 路由器地址大全-各品牌路由設(shè)置地址 騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程 ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程 路由表說(shuō)明(詳解route print) Nslookup命令詳解-域名DNS診斷 網(wǎng)管員實(shí)際工作的一天 網(wǎng)管必會(huì)!了解交換機(jī)控制端口流量