linux中/proc/sys/net/ipv4/下各項的意義

/proc/sys/net/ipv4/下各項的意義
文章出處:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/2008625/128284.html)
/proc/sys/net/ipv4/icmp_timeexceed_rate
這個在traceroute時導致著名的“Solaris middle star”。這個文件控制發送ICMP Time Exceeded消息的比率。
/proc/sys/net/ipv4/igmp_max_memberships
主機上最多有多少個igmp (多播)套接字進行監聽。
/proc/sys/net/ipv4/inet_peer_gc_maxtime
求助: Add a little explanation about the inet peer storage? Minimum interval between garbage collection passes. This interval is in effect under low (or absent) memory pressure on the pool. Measured in jiffies.
/proc/sys/net/ipv4/inet_peer_gc_mintime
每一遍碎片收集之間的最小時間間隔。當內存壓力比較大的時候,調整這個間隔很有效。以jiffies計。
/proc/sys/net/ipv4/inet_peer_maxttl
entries的最大生存期。在pool沒有內存壓力的情況下(比如,pool中entries的數量很少的時候),未使用的entries經過一段時間就會過期。以jiffies計。
/proc/sys/net/ipv4/inet_peer_minttl
entries的最小生存期。應該不小於匯聚端分片的生存期。當pool的大小不大於inet_peer_threshold時,這個最小生存期必須予以保證。以jiffies計。
/proc/sys/net/ipv4/inet_peer_threshold
The approximate size of the INET peer storage. Starting from this threshold entries will be thrown aggressively. This threshold also determines entries’ time-to-live and time intervals between garbage collection passes. More entries, less time-to-live, less GC interval.
/proc/sys/net/ipv4/ip_autoconfig
這個文件裏面寫着一個數字,表示主機是否通過RARP、BOOTP、DHCP或者其它機制取得其IP配置。否則就是0。
/proc/sys/net/ipv4/ip_default_ttl
數據包的生存期。設置爲64是安全的。如果你的網絡規模巨大就提高這個值。不要因爲好玩而這麼做——那樣會產生有害的路由環路。實際上,在很多情況下你要考慮能否減小這個值。
/proc/sys/net/ipv4/ip_dynaddr/proc/sys/net/ipv4/icmp_destunreach_rate
如果你有一個動態地址的自動撥號接口,就得設置它。當你的自動撥號接口激活的時候,本地所有沒有收到答覆的TCP套接字會重新綁定到正確的地址上。這可以解決引發撥號的套接字本身無法工作,重試一次卻可以的問題。
/proc/sys/net/ipv4/ip_forward
內核是否轉發數據包。缺省禁止。
/proc/sys/net/ipv4/ip_local_port_range
用於向外連接的端口範圍。缺省情況下其實很小:1024到4999。
/proc/sys/net/ipv4/ip_no_pmtu_disc
如果你想禁止“沿途MTU發現”就設置它。“沿途MTU發現”是一種技術,可以在傳輸路徑上檢測出最大可能的MTU值。參見Cookbook一章中關於“沿途MTU發現”的內容。
/proc/sys/net/ipv4/ipfrag_high_thresh
用於IP分片匯聚的最大內存用量。分配了這麼多字節的內存後,一旦用盡,分片處理程序就會丟棄分片。When ipfrag_high_thresh bytes of memory is allocated for this purpose, the fragment handler will toss packets until ipfrag_low_thresh is reached.
/proc/sys/net/ipv4/ip_nonlocal_bind
如果你希望你的應用程序能夠綁定到不屬於本地網卡的地址上時,設置這個選項。如果你的機器沒有專線連接(甚至是動態連接)時非常有用,即使你的連接斷開,你的服務也可以啓動並綁定在一個指定的地址上。
/proc/sys/net/ipv4/ipfrag_low_thresh
用於IP分片匯聚的最小內存用量。
/proc/sys/net/ipv4/ipfrag_time
IP分片在內存中的保留時間(秒數)。
/proc/sys/net/ipv4/tcp_abort_on_overflow
一個布爾類型的標誌,控制着當有很多的連接請求時內核的行爲。啓用的話,如果服務超載,內核將主動地發送RST包。
/proc/sys/net/ipv4/tcp_fin_timeout
如果套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。對端可以出錯並永遠不關閉連接,甚至意外當機。缺省值是60秒。2.2內核的通常值是180秒,你可以按這個設置,但要記住的是,即使你的機器是一個輕載的WEB服務器,也有因爲大量的死套接字而內存溢出的風險,FIN-WAIT-2的危險性比FIN-WAIT-1要小,因爲它最多隻能吃掉1.5K內存,但是它們的生存期長些。參見tcp_max_orphans。
/proc/sys/net/ipv4/tcp_keepalive_time
當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時。
/proc/sys/net/ipv4/tcp_keepalive_intvl
當探測沒有確認時,重新發送探測的頻度。缺省是75秒。
/proc/sys/net/ipv4/tcp_keepalive_probes
在認定連接失效之前,發送多少個TCP的keepalive探測包。缺省值是9。這個值乘以tcp_keepalive_intvl之後決定了,一個連接發送了keepalive之後可以有多少時間沒有迴應。
/proc/sys/net/ipv4/tcp_max_orphans
系統中最多有多少個TCP套接字不被關聯到任何一個用戶文件句柄上。如果超過這個數字,孤兒連接將即刻被複位並打印出警告信息。這個限制僅僅是爲了防止簡單的DoS***,你絕對不能過分依靠它或者人爲地減小這個值,更應該增加這個值(如果增加了內存之後)。This limit exists only to prevent simple DoS attacks, you _must_ not rely on this or lower the limit artificially, but rather increase it (probably, after increasing installed memory), if network conditions require more than default value, and tune network services to linger and kill such states more aggressively. 讓我再次提醒你:每個孤兒套接字最多能夠吃掉你64K不可交換的內存。
/proc/sys/net/ipv4/tcp_orphan_retries
本端試圖關閉TCP連接之前重試多少次。缺省值是7,相當於50秒~16分鐘(取決於RTO)。如果你的機器是一個重載的WEB服務器,你應該考慮減低這個值,因爲這樣的套接字會消耗很多重要的資源。參見tcp_max_orphans。
/proc/sys/net/ipv4/tcp_max_syn_backlog
記錄的那些尚未收到客戶端確認信息的連接請求的最大值。對於有128M內存的系統而言,缺省值是1024,小內存的系統則是128。如果服務器不堪重負,試試提高這個值。注意!如果你設置這個值大於1024,最好同時調整include/net/tcp.h中的TCP_SYNQ_HSIZE,以保證TCP_SYNQ_HSIZE*16 ≤tcp_max_syn_backlo,然後重新編譯內核。
/proc/sys/net/ipv4/tcp_max_tw_buckets
系統同時保持timewait套接字的最大數量。如果超過這個數字,time-wait套接字將立刻被清除並打印警告信息。這個限制僅僅是爲了防止簡單的DoS***,你絕對不能過分依靠它或者人爲地減小這個值,如果網絡實際需要大於缺省值,更應該增加這個值(如果增加了內存之後)。
/proc/sys/net/ipv4/tcp_retrans_collapse
爲兼容某些糟糕的打印機設置的“將錯就錯”選項。再次發送時,把數據包增大一些,來避免某些TCP協議棧的BUG。
/proc/sys/net/ipv4/tcp_retries1
在認定出錯並向網絡層提交錯誤報告之前,重試多少次。缺省設置爲RFC規定的最小值:3,相當於3秒~8分鐘(取決於RIO)。
/proc/sys/net/ipv4/tcp_retries2
在殺死一個活動的TCP連接之前重試多少次。RFC 1122規定這個限制應該長於100秒。這個值太小了。缺省值是15,相當於13~30分鐘(取決於RIO)。
/proc/sys/net/ipv4/tcp_rfc1337
這個開關可以啓動對於在RFC1337中描述的“tcp的time-wait暗殺危機”問題的修復。啓用後,內核將丟棄那些發往time-wait狀態TCP套接字的RST包。卻省爲0。
/proc/sys/net/ipv4/tcp_sack
特別針對丟失的數據包使用選擇性ACK,這樣有助於快速恢復。
/proc/sys/net/ipv4/tcp_stdurg
使用TCP緊急指針的主機需求解釋。因爲絕大多數主機採用BSD解釋,所以如果你在Linux上打開它,可能會影響它與其它機器的正常通訊。缺省是FALSE。
/proc/sys/net/ipv4/tcp_syn_retries
在內核放棄建立連接之前發送SYN包的數量。
/proc/sys/net/ipv4/tcp_synack_retries
爲了打開對端的連接,內核需要發送一個SYN並附帶一個迴應前面一個SYN的ACK。也就是所謂三次握手中的第二次握手。這個設置決定了內核放棄連接之前發送SYN+ACK包的數量。
/proc/sys/net/ipv4/tcp_timestamps
時間戳可以避免序列號的卷繞。一個1Gbps的鏈路肯定會遇到以前用過的序列號。時間戳能夠讓內核接受這種“異常”的數據包。
/proc/sys/net/ipv4/tcp_tw_recycle
能夠更快地回收TIME-WAIT套接字。缺省值是1。除非有技術專家的建議和要求,否則不應修改。
/proc/sys/net/ipv4/tcp_window_scaling
一般來說TCP/IP允許窗口尺寸達到65535字節。對於速度確實很高的網絡而言這個值可能還是太小。這個選項允許設置上G字節的窗口大小,有利於在帶寬*延遲很大的環境中使用。
一旦內核認爲它無法發包,就會丟棄這個包,並向發包的主機發送ICMP通知。
/proc/sys/net/ipv4/icmp_echo_ignore_all
根本不要響應echo包。請不要設置爲缺省,它可能在你正被利用成爲DoS***的跳板時可能有用。
/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts [Useful]
如果你ping子網的子網地址,所有的機器都應該予以迴應。這可能成爲非常好用的拒絕服務***工具。設置爲1來忽略這些子網廣播消息。
/proc/sys/net/ipv4/icmp_echoreply_rate
設置了向任意主機迴應echo請求的比率。
/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
設置它之後,可以忽略由網絡中的那些聲稱迴應地址是廣播地址的主機生成的ICMP錯誤。
/proc/sys/net/ipv4/icmp_paramprob_rate
一個相對不很明確的ICMP消息,用來回應IP頭或TCP頭損壞的異常數據包。你可以通過這個文件控制消息的發送比率。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章