內(nèi)核網(wǎng)絡(luò)優(yōu)化.doc_第1頁
內(nèi)核網(wǎng)絡(luò)優(yōu)化.doc_第2頁
內(nèi)核網(wǎng)絡(luò)優(yōu)化.doc_第3頁
內(nèi)核網(wǎng)絡(luò)優(yōu)化.doc_第4頁
內(nèi)核網(wǎng)絡(luò)優(yōu)化.doc_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

在/proc/sys/net/ipv4/目錄下,包含的是和tcp/ip協(xié)議相關(guān)的各種參數(shù),下面我們就對這些網(wǎng)絡(luò)參數(shù)加以詳細(xì)的說明。參數(shù)名 參數(shù)類型參數(shù)值(如無特別標(biāo)注,內(nèi)存類的單位為byte,關(guān)于時間的單位為秒)官方詳細(xì)說明(skylove對該參數(shù)的個人心得或補充說明)ip_forward :BOOLEAN0 - 關(guān)閉(默認(rèn)值)非0值 - 打開ip轉(zhuǎn)發(fā)在網(wǎng)絡(luò)本地接口之間轉(zhuǎn)發(fā)數(shù)據(jù)報。該參數(shù)非常特殊,對該參數(shù)的修改將導(dǎo)致其它所有相關(guān)配置參數(shù)恢復(fù)其默認(rèn)值(對于主機參閱RFC1122,對于路由器參見 RFC1812)(在其他一些操作系統(tǒng)中,這個參數(shù)不是boolean型,而是INTEGER型,設(shè)置為0為不轉(zhuǎn)發(fā),1為根據(jù)接口情形決定是否轉(zhuǎn)發(fā),2是始終轉(zhuǎn)發(fā))ip_default_ttl :INTEGER默認(rèn)值為 64表示IP數(shù)據(jù)報的Time To Live值(在網(wǎng)絡(luò)傳遞中,每經(jīng)過一跳,該值減少1,當(dāng)ttl為0的時候,丟棄該包.該值越大,即在網(wǎng)絡(luò)上可以經(jīng)過的路由器設(shè)備的數(shù)量越多,但一個錯誤的包,也會越發(fā)浪費生存周期.根據(jù)目前的實際情形而看,設(shè)置為32已經(jīng)足夠普通網(wǎng)絡(luò)訪問Internet的需求了)ip_no_pmtu_disc :BOOLEAN默認(rèn)值為FALSE(0)關(guān)閉路徑MTU探測(典型的瓶頸原理,一次成功的傳輸中,mtu是由網(wǎng)絡(luò)上最窄的位置決定的.如果IP層有一個數(shù)據(jù)報要傳,而且數(shù)據(jù)的長度比鏈路層的MTU還大,那么IP層就需要進行分片(fragmentation),把數(shù)據(jù)報分成若干片,這樣每一片都小于MTU。幾種常見網(wǎng)絡(luò)的MTU值:超通道 6553516Mb/ s令牌網(wǎng)(IBM)179144Mb/ s令牌網(wǎng)(IEEE 802.5)4464FDDI 4352以太網(wǎng) 1500IEEE 802.3/802.21492X.25576點對點(低延時)296ipfrag_high_thresh :INTEGER默認(rèn)值為262144用來組裝分段的IP包的最大內(nèi)存量。兩個文件分別表示用于重組IP分段的內(nèi)存分配最低值和最高值,一旦達到最高內(nèi)存分配值,其它分段將被丟棄,直到達到最低內(nèi)存(ipfrag_low_thresh 見下文)分配值。(根據(jù)我個人理解,就是達到最高后,就關(guān)門打狗,直到處理到最低值的時候才又開門放分段的ip包進來處理.如果最高/最低差距過小, 很可能很快又達到限制又開始丟棄包;而設(shè)置過大,又會造成某段時間丟包時間持續(xù)過久.因此需要適當(dāng)?shù)乜紤],默認(rèn)值中給出的最低/最高比率值為3/4.此外補充說明, kernel中,對內(nèi)存的使用單位,都是以byte為單位的.當(dāng)TCP數(shù)據(jù)包傳輸發(fā)生錯誤時,開始碎片整理。有效的數(shù)據(jù)包保留在內(nèi)存,同時損壞的數(shù)據(jù)包被轉(zhuǎn)發(fā)。我在1G內(nèi)存的NAT機器上,分別設(shè)置最低為262144,最高為393216)ipfrag_low_thresh :INTEGER默認(rèn)值為196608參見ipfrag_high_thresh。ipfrag_time :INTEGER默認(rèn)值為30保存一個IP分片在內(nèi)存中的時間。inet_peer_threshold :INTEGER默認(rèn)值為65664INET 對端存儲器某個合適值,當(dāng)超過該閥值條目將被丟棄。該閥值同樣決定生存時間以及廢物收集通過的時間間隔。條目越多存活期越低GC 間隔越短(GC=Grabage Collection 廢物收集?默認(rèn)值65664=65536 + 128 是怎么得來的呢?看include/net/inetpeer.h struct inet_peer的內(nèi)容,是為了IP ROUTE更快,緩沖對方IP的信息,一個對方IP一個記錄.該值與inet_peer_gc_maxtimeinet_peer_gc_mintimeinet_peer_maxttlinet_peer_minttlinet_peer_threshold參數(shù)都是用來控制這個cache的大小的。似乎這個cache消耗比較大,在CU上有朋友提到過在一個26M的嵌入式Linux中,這個cache就用到了1M多內(nèi)存)inet_peer_minttl :INTEGER默認(rèn)值為120條目的最低存活期。在重組端必須要有足夠的碎片(fragment)存活期。這個最低存活期必須保證緩沖池容積是否少于 inet_peer_threshold。該值以 jiffies為單位測量。(每次整理的時候,會考慮小于inet_peer_minttl 的ip條目一定保存,而大于inet_peer_maxttl時間設(shè)置的ip條目會被釋放)inet_peer_maxttl :INTEGER默認(rèn)值為600條目的最大存活期。在此期限到達之后如果緩沖池沒有耗盡壓力的話(例如緩沖池中的條目數(shù)目非常少)不使用的條目將會超時。該值以 jiffies為單位測量。inet_peer_gc_mintime :INTEGER默認(rèn)值為10廢物收集(GC)通過的最短間隔。這個間隔會影響到緩沖池中內(nèi)存的高壓力。 該值以 jiffies為單位測量。(如果長期不整理,會cache很多條目,而整理的時間太頻繁,又會給系統(tǒng)造成壓力,這個值就是確定最小整理周期間隔的)inet_peer_gc_maxtime :INTEGER默認(rèn)值為120廢物收集(GC)通過的最大間隔,這個間隔會影響到緩沖池中內(nèi)存的低壓力。 該值以 jiffies為單位測量。Jiffie: 內(nèi)核使用的內(nèi)部時間單位,在i386系統(tǒng)上大小為1/100s,在Alpha中為1/1024S。在/usr/include/asm/param.h中的HZ定義有特定系統(tǒng)的值。=TCP 參數(shù)=tcp_syn_retries :INTEGER默認(rèn)值是5對于一個新建連接,內(nèi)核要發(fā)送多少個 SYN 連接請求才決定放棄。不應(yīng)該大于255,默認(rèn)值是5,對應(yīng)于180秒左右時間。(對于大負(fù)載而物理通信良好的網(wǎng)絡(luò)而言,這個值偏高,可修改為2.這個值僅僅是針對對外的連接,對進來的連接,是由tcp_retries1 決定的)tcp_synack_retries :INTEGER默認(rèn)值是5對于遠(yuǎn)端的連接請求SYN,內(nèi)核會發(fā)送SYN ACK數(shù)據(jù)報,以確認(rèn)收到上一個 SYN連接請求包。這是所謂的三次握手( threeway handshake)機制的第二個步驟。這里決定內(nèi)核在放棄連接之前所送出的 SYN+ACK 數(shù)目。不應(yīng)該大于255,默認(rèn)值是5,對應(yīng)于180秒左右時間。(可以根據(jù)上面的 tcp_syn_retries 來決定這個值)tcp_keepalive_time :INTEGER默認(rèn)值是7200(2小時)當(dāng) keepalive打開的情況下,TCP發(fā)送keepalive消息的頻率。(由于目前網(wǎng)絡(luò)攻擊等因素,造成了利用這個進行的攻擊很頻繁,曾經(jīng)也有cu 的朋友提到過,說如果2邊建立了連接,然后不發(fā)送任何數(shù)據(jù)或者rst/fin消息,那么持續(xù)的時間是不是就是2小時,空連接攻擊? tcp_keepalive_time就是預(yù)防此情形的.我個人在做nat服務(wù)的時候的修改值為1800秒)tcp_keepalive_probes:INTEGER默認(rèn)值是9TCP發(fā)送keepalive探測以確定該連接已經(jīng)斷開的次數(shù)。(注意:保持連接僅在SO_KEEPALIVE套接字選項被打開是才發(fā)送.次數(shù)默認(rèn)不需要修改,當(dāng)然根據(jù)情形也可以適當(dāng)?shù)乜s短此值.設(shè)置為5比較合適)tcp_keepalive_intvl:INTEGER默認(rèn)值為75探測消息發(fā)送的頻率,乘以tcp_keepalive_probes就得到對于從開始探測以來沒有響應(yīng)的連接殺除的時間。默認(rèn)值為75秒,也就是沒有活動的連接將在大約11分鐘以后將被丟棄。(對于普通應(yīng)用來說,這個值有一些偏大,可以根據(jù)需要改小.特別是web類服務(wù)器需要改小該值,15是個比較合適的值)tcp_retries1 :INTEGER默認(rèn)值是3放棄回應(yīng)一個TCP連接請求前需要進行多少次重試。RFC 規(guī)定最低的數(shù)值是3這也是默認(rèn)值根據(jù)RTO的值大約在3秒 - 8分鐘之間。(注意:這個值同時還決定進入的syn連接)tcp_retries2 :INTEGER默認(rèn)值為15在丟棄激活(已建立通訊狀況)的TCP連接之前需要進行多少次重試。默認(rèn)值為15,根據(jù)RTO的值來決定,相當(dāng)于13-30分鐘(RFC1122規(guī)定,必須大于100秒).(這個值根據(jù)目前的網(wǎng)絡(luò)設(shè)置,可以適當(dāng)?shù)馗男?我的網(wǎng)絡(luò)內(nèi)修改為了5)tcp_orphan_retries :INTEGER默認(rèn)值是7在近端丟棄TCP連接之前要進行多少次重試。默認(rèn)值是7個相當(dāng)于 50秒 - 16分鐘視 RTO 而定。如果您的系統(tǒng)是負(fù)載很大的web服務(wù)器那么也許需要降低該值這類 sockets 可能會耗費大量的資源。另外參的考 tcp_max_orphans 。(事實上做NAT的時候,降低該值也是好處顯著的,我本人的網(wǎng)絡(luò)環(huán)境中降低該值為3)tcp_fin_timeout :INTEGER默認(rèn)值是 60對于本端斷開的socket連接,TCP保持在FIN-WAIT-2狀態(tài)的時間。對方可能會斷開連接或一直不結(jié)束連接或不可預(yù)料的進程死亡。默認(rèn)值為 60 秒。過去在2.2版本的內(nèi)核中是 180 秒。您可以設(shè)置該值但需要注意如果您的機器為負(fù)載很重的web服務(wù)器您可能要冒內(nèi)存被大量無效數(shù)據(jù)報填滿的風(fēng)險FIN-WAIT-2 sockets 的危險性低于 FIN-WAIT-1 因為它們最多只吃 1.5K 的內(nèi)存但是它們存在時間更長。另外參考 tcp_max_orphans。(事實上做NAT的時候,降低該值也是好處顯著的,我本人的網(wǎng)絡(luò)環(huán)境中降低該值為30)tcp_max_tw_buckets :INTEGER默認(rèn)值是180000系統(tǒng)在同時所處理的最大 timewait sockets 數(shù)目。如果超過此數(shù)的話time-wait socket 會被立即砍除并且顯示警告信息。之所以要設(shè)定這個限制純粹為了抵御那些簡單的 DoS 攻擊千萬不要人為的降低這個限制不過如果網(wǎng)絡(luò)條件需要比默認(rèn)值更多則可以提高它(或許還要增加內(nèi)存)。(事實上做NAT的時候最好可以適當(dāng)?shù)卦黾釉撝?tcp_tw_recycle :BOOLEAN默認(rèn)值是0打開快速 TIME-WAIT sockets 回收。除非得到技術(shù)專家的建議或要求請不要隨意修改這個值。(做NAT的時候,建議打開它)tcp_tw_reuse:BOOLEAN默認(rèn)值是0該文件表示是否允許重新應(yīng)用處于TIME-WAIT狀態(tài)的socket用于新的TCP連接(這個對快速重啟動某些服務(wù),而啟動后提示端口已經(jīng)被使用的情形非常有幫助)tcp_max_orphans :INTEGER缺省值是8192系統(tǒng)所能處理不屬于任何進程的TCP sockets最大數(shù)量。假如超過這個數(shù)量那么不屬于任何進程的連接會被立即reset,并同時顯示警告信息。之所以要設(shè)定這個限制純粹為了抵御那些簡單的 DoS 攻擊千萬不要依賴這個或是人為的降低這個限制(這個值Redhat AS版本中設(shè)置為32768,但是很多防火墻修改的時候,建議該值修改為2000)tcp_abort_on_overflow :BOOLEAN缺省值是0當(dāng)守護進程太忙而不能接受新的連接,就象對方發(fā)送reset消息,默認(rèn)值是false。這意味著當(dāng)溢出的原因是因為一個偶然的猝發(fā),那么連接將恢復(fù)狀態(tài)。只有在你確信守護進程真的不能完成連接請求時才打開該選項,該選項會影響客戶的使用。(對待已經(jīng)滿載的sendmail,apache這類服務(wù)的時候,這個可以很快讓客戶端終止連接,可以給予服務(wù)程序處理已有連接的緩沖機會,所以很多防火墻上推薦打開它)tcp_syncookies :BOOLEAN默認(rèn)值是0只有在內(nèi)核編譯時選擇了CONFIG_SYNCOOKIES時才會發(fā)生作用。當(dāng)出現(xiàn)syn等候隊列出現(xiàn)溢出時象對方發(fā)送syncookies。目的是為了防止syn flood攻擊。注意:該選項千萬不能用于那些沒有收到攻擊的高負(fù)載服務(wù)器,如果在日志中出現(xiàn)synflood消息,但是調(diào)查發(fā)現(xiàn)沒有收到synflood攻擊,而是合法用戶的連接負(fù)載過高的原因,你應(yīng)該調(diào)整其它參數(shù)來提高服務(wù)器性能。參考:tcp_max_syn_backlogtcp_synack_retriestcp_abort_on_overflowsyncookie 嚴(yán)重的違背TCP協(xié)議,不允許使用TCP擴展,可能對某些服務(wù)導(dǎo)致嚴(yán)重的性能影響(如SMTP轉(zhuǎn)發(fā))。(注意,該實現(xiàn)與BSD上面使用的tcp proxy一樣,是違反了RFC中關(guān)于tcp連接的三次握手實現(xiàn)的,但是對于防御syn-flood的確很有用.)tcp_stdurg :BOOLEAN默認(rèn)值為0使用 TCP urg pointer 字段中的主機請求解釋功能。大部份的主機都使用老舊的 BSD解釋,因此如果您在 Linux 打開它或會導(dǎo)致不能和它們正確溝通。tcp_max_syn_backlog :INTEGER對于那些依然還未獲得客戶端確認(rèn)的連接請求需要保存在隊列中最大數(shù)目。對于超過 128Mb 內(nèi)存的系統(tǒng)默認(rèn)值是 1024 低于 128Mb 的則為 128。如果服務(wù)器經(jīng)常出現(xiàn)過載可以嘗試增加這個數(shù)字。警告假如您將此值設(shè)為大于 1024最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE 以保持 TCP_SYNQ_HSIZE*16=tcp_max_syn_backlog 并且編進核心之內(nèi)。(SYN Flood攻擊利用TCP協(xié)議散布握手的缺陷,偽造虛假源IP地址發(fā)送大量TCP-SYN半打開連接到目標(biāo)系統(tǒng),最終導(dǎo)致目標(biāo)系統(tǒng)Socket隊列資源耗盡而無法接受新的連接。為了應(yīng)付這種攻擊,現(xiàn)代Unix系統(tǒng)中普遍采用多連接隊列處理的方式來緩沖(而不是解決)這種攻擊,是用一個基本隊列處理正常的完全連接應(yīng)用(Connect()和Accept() ),是用另一個隊列單獨存放半打開連接。這種雙隊列處理方式和其他一些系統(tǒng)內(nèi)核措施(例如Syn-Cookies/Caches)聯(lián)合應(yīng)用時,能夠比較有效的緩解小規(guī)模的SYN Flood攻擊(事實證明 0)或者bytes-bytes/2(-tcp_adv_win_scale)(如果tcp_adv_win_scale 128Mb 32768-610001的值,將在動態(tài)地址改寫的時候發(fā)一條內(nèi)核消息。(如要用動態(tài)界面位址做 dail-on-demand 那就設(shè)定它。一旦請求界面起來之后所有看不到回應(yīng)的本地 TCP socket 都會重新捆綁(rebound)以獲得正確的位址。假如遇到該網(wǎng)絡(luò)界面的連線不工作但重新再試一次卻又可以的情形設(shè)定這個可解決這個問題。)icmp_echo_ignore_all : BOOLEANicmp_echo_ignore_broadcasts : BOOLEAN默認(rèn)值是0如果任何一個設(shè)置為true(0)則系統(tǒng)將忽略所有發(fā)送給自己的ICMP ECHO請求或那些廣播地址的請求。(現(xiàn)在網(wǎng)絡(luò)上很多病毒/木馬自動發(fā)起感染攻擊是先用icmp的echo方式判斷對方是否存活,因此開啟該值,會降低一些被騷擾的可能性。但由于禁止了 icmp,就無法ping到該機器了,因此網(wǎng)絡(luò)管理員也沒有辦法判斷機器是否存活了,所以可以考慮用netfilter/iptables來完成該工作會更有所選擇針對性.icmp_echo_ignore_all 是禁止所有的icmp包,而icmp_echo_ignore_broadcasts是禁止了所有的廣播包)icmp_ratelimit : INTEGER默認(rèn)值是100 Jiffie限制發(fā)向特定目標(biāo)的匹配icmp_ratemask的ICMP數(shù)據(jù)報的最大速率。0表示沒有任何限制,否則表示jiffies數(shù)據(jù)單位中允許發(fā)送的個數(shù)。 (如果在icmp_ratemask進行相應(yīng)的設(shè)置Echo Request的標(biāo)志位掩碼設(shè)置為1,那么就可以很容易地做到ping回應(yīng)的速度限制了)icmp_ratemask : INTEGER在這里匹配的ICMP被icmp_ratelimit參數(shù)限制速率.匹配的標(biāo)志位: 默認(rèn)的掩碼值: (6168)關(guān)于標(biāo)志位的設(shè)置,可參考 源程序目錄/include/linux/icmp.h0 Echo Reply3 Destination Unreachable *4 Source Quench *5 Redirect8 Echo RequestB Time Exceeded *C Parameter Problem *D Timestamp RequestE Timestamp ReplyF Info RequestG Info ReplyH Address Mask RequestI Address Mask Reply* 號的被默認(rèn)限速(見上表mask)icmp_ignore_bogus_error_responses : BOOLEAN默認(rèn)值是0某些路由器違背RFC1122標(biāo)準(zhǔn),其對廣播幀發(fā)送偽造的響應(yīng)來應(yīng)答。這種違背行為通常會被以告警的方式記錄在系統(tǒng)日志中。如果該選項設(shè)置為True,內(nèi)核不會記錄這種警告信息。(我個人而言推薦設(shè)置為1)=網(wǎng)絡(luò)接口界面(比如lo,eth0,eth1)參數(shù)=/proc/sys/net/ipv4/conf/interface/* :在/proc/sys/net/ipv4/conf/ 下可以發(fā)現(xiàn)類似 all,eth0,eth1,default,lo 等網(wǎng)絡(luò)接口界面,每一個都是目錄,他們下屬的文件中,每個文件對應(yīng)該界面下某些可以設(shè)置的選項設(shè)置.(all/是特定的,用來修改所有接口的設(shè)置, default/ 表示缺省設(shè)置,lo/表示本地接口設(shè)置,eth0/表示第一塊網(wǎng)卡,eth1/表示第2塊網(wǎng)卡.注意:下面有的參數(shù),是需要all和該界面下同時為 ture才生效,而某些則是只需要該界面下為true即可,注意區(qū)別!)log_martians : BOOLEAN記錄帶有不允許的地址的數(shù)據(jù)報到內(nèi)核日志中。all/ 或者interface/ 下至少有一個為True即可生效.accept_redirects : BOOLEAN對于主機來說默認(rèn)為True,對于用作路由器時默認(rèn)值為False收發(fā)接收ICMP重定向消息。all/ 和interface/ 下兩者同時為True方可生效.(如果不熟悉所在網(wǎng)絡(luò)的結(jié)構(gòu).推薦不修改,因為在有多個出口的網(wǎng)絡(luò)的時候,如果有2個出口路由器,由于作為主機的時候默認(rèn)只指認(rèn)一個網(wǎng)關(guān),出口路由可能有策略設(shè)置轉(zhuǎn)到另一個路由器上.)forwarding : BOOLEAN在該接口打開轉(zhuǎn)發(fā)功能 (在3塊或以上的網(wǎng)卡的時候很實用,有時候只想讓其中一外一內(nèi),另一塊做服務(wù),就可以讓這塊做服務(wù)的網(wǎng)卡不轉(zhuǎn)發(fā)數(shù)據(jù)進出)mc_forwarding :BOOLEAN是否進行多播路由。只有內(nèi)核編譯有CONFIG_MROUTE并且有路由服務(wù)程序在運行該參數(shù)才有效。medium_id :INTEGER默認(rèn)值是0通常,這個參數(shù)用來區(qū)分不同媒介.兩個網(wǎng)絡(luò)設(shè)備可以使用不同的值,使他們只有其中之一接收到廣播包.默認(rèn)值為0表示各個網(wǎng)絡(luò)介質(zhì)接受他們自己介質(zhì)上的媒介,值-1表示該媒介未知。通常,這個參數(shù)被用來配合proxy_arp實現(xiàn)roxy_arp的特性即是允許arp報文在兩個不同的網(wǎng)絡(luò)介質(zhì)中轉(zhuǎn)發(fā).(第一段 Integer value used to differentiate the devices by the medium theyare attached to. Two devices can have different id values whenthe broadcast packets are received only on one of them.The default value 0 means that the device is the only interfaceto its medium, value of -1 means that medium is not known.沒讀懂,去cu問人,以后更正)proxy_arp : BOOLEAN打開arp代理功能。all/ 或者interface/ 下至少有一個為True即可生效shared_media : BOOLEAN默認(rèn)為True發(fā)送(路由器)或接收(主機) RFC1620 共享媒體重定向。覆蓋ip_secure_redirects的值。all/ 或者interface/ 下至少有一個為True即可生效secure_redirects : BOOLEAN默認(rèn)為True僅僅接收發(fā)給默認(rèn)網(wǎng)關(guān)列表中網(wǎng)關(guān)的ICMP重定向消息,默認(rèn)值是TRUE。all/ 或者interface/ 下至少有一個為True即可生效。 (這個參數(shù)一般情形請不要修改,可以有效地防止來自同網(wǎng)段的非網(wǎng)關(guān)機器發(fā)出惡意ICMP重定向攻擊行為)send_redirects : BOOLEAN默認(rèn)為True如果是router,允許發(fā)送重定向消息.all/ 或者interface/ 下至少有一個為True即可生效。(根據(jù)網(wǎng)絡(luò)而定,如果是做NAT,并且網(wǎng)內(nèi)只有此一個網(wǎng)關(guān)的時候,其實是可以關(guān)閉掉它的,事實上目前而言,IP Redirects是TCP/IP協(xié)議產(chǎn)生早期為了解決網(wǎng)絡(luò)持續(xù)性而提出的一種方法,后來事實證明這種措施不太實用而且具有很大的安全風(fēng)險,可能引起各種可能的網(wǎng)絡(luò)風(fēng)險產(chǎn)生 - 拒絕服務(wù)攻擊,中間人攻擊,會話劫持等等,所以很多安全文檔是推薦關(guān)閉它.)bootp_relay : BOOLEAN默認(rèn)為False接收源地址為0.b.c.d,目的地址不是本機的數(shù)據(jù)報。用來支持BOOTP轉(zhuǎn)發(fā)服務(wù)進程,該進程將捕獲并轉(zhuǎn)發(fā)該包。目前還沒有實現(xiàn)。accept_source_route : BOOLEAN對于主機來說默認(rèn)為False,對于用作路由器時默認(rèn)值為True接收帶有SRR選項的數(shù)據(jù)報。all/ 和interface/ 下兩者同時為True方可生效.(IP 源路由選項,也是TCP/IP協(xié)議早期的一個實現(xiàn)缺陷,允許IP包自身攜帶路由選擇選項,這將允許攻擊者繞過某些安全檢驗的網(wǎng)關(guān),或者被用來探測網(wǎng)絡(luò)環(huán)境。在企業(yè)網(wǎng)關(guān)上強烈建議設(shè)置關(guān)閉或過綠丟棄IP源路由選項數(shù)據(jù)包。這個功能在調(diào)試網(wǎng)絡(luò)的時候很有用,但是在真正的實際應(yīng)用中,有可能造成一些麻煩和危險)rp_filter : BOOLEAN默認(rèn)值為False1 - 通過反向路徑回溯進行源地址驗證(在RFC1812中定義)。對于單穴主機和stub網(wǎng)絡(luò)路由器推薦使用該選項。0 - 不通過反向路徑回溯進行源地址驗證。默認(rèn)值為0,但某些發(fā)布在啟動時自動將其打開。 (router默認(rèn)會路由所有東西就算該封包顯然不屬於我們的網(wǎng)路的。常見的例子莫過於將私有 IP 泄漏到 internet 上去。假如某個界面其上設(shè)定的網(wǎng)絡(luò)地址段為195.96.96.0/24 那么理論上不會有212.64.94.1 這樣的地址段封包會到達這個界面上。許多人都不想轉(zhuǎn)發(fā)非本網(wǎng)段的數(shù)據(jù)包因此核心設(shè)計者也打開了方便之門。在 /proc 里面有些檔案透過它們您可以讓核心為您做到這點。此方法被稱為 逆向路徑過濾(Reverse Path Filtering)?;旧霞偃鐚Υ朔獍鞒龅幕貞?yīng)不是循其進入的界面送出去那它就被置之不理。)arp_filter : BOOLEAN默認(rèn)值為False1 -允許多個網(wǎng)絡(luò)介質(zhì)位于同一子網(wǎng)段內(nèi),每個網(wǎng)絡(luò)界面依據(jù)是否內(nèi)核指派路由該數(shù)據(jù)包經(jīng)過此界面來確認(rèn)是否回答ARP查詢(這個實現(xiàn)是由來源地址確定路由的時候決定的),換句話說,允許控制使用某一塊網(wǎng)卡(通常是第一塊)回應(yīng)arp詢問。(做負(fù)載均衡的時候,可以考慮用echo 1 /proc/sys/net/ipv4/conf/all/arp_filter這樣的方式就可以解決,當(dāng)然 利用echo 2 /proc/sys/net/ipv4/conf/all/arp_announceecho 1 /proc/sys/net/ipv4/conf/all/arp_ignore兩條命令配合使用更好,因為arp_announce 和arp_ignore 似乎是對arp_filter的更細(xì)節(jié)控制的實現(xiàn)。)0 -默認(rèn)值,內(nèi)核設(shè)置每個網(wǎng)絡(luò)界面各自應(yīng)答其地址上的arp詢問。這項看似會錯誤的設(shè)置卻經(jīng)常能非常有效,因為它增加了成功通訊的機會。在Linux主機上,每個IP地址是網(wǎng)絡(luò)界面獨立的,而非一個復(fù)合的接口。只有在一些特殊的設(shè)置的時候,比如負(fù)載均衡的時候會帶來麻煩。all/ 或者interface/ 下至少有一個為True即可生效。(簡單來說,就是同一Linux上,如果有某些原因,有2塊網(wǎng)卡必須設(shè)置為同一網(wǎng)段,那么默認(rèn)情況下,會有一塊工作,而另外一塊不工作或者內(nèi)核頻繁報告錯誤,這個時候就需要打開這個選項了)arp_announce : INTEGER默認(rèn)為0對網(wǎng)絡(luò)接口上本地IP地址發(fā)出的ARP回應(yīng)作出相應(yīng)級別的限制:確定不同程度的限制,宣布對來自本地源IP地址發(fā)出Arp請求的接口0 - (默認(rèn)) 在任意網(wǎng)絡(luò)接口上的任何本地地址1 -盡量避免不在該網(wǎng)絡(luò)接口子網(wǎng)段的本地

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論