溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux 網(wǎng)絡(luò)配置和命令

發(fā)布時(shí)間:2020-07-15 04:30:30 來源:網(wǎng)絡(luò) 閱讀:1064 作者:5431039 欄目:建站服務(wù)器

LINUX 網(wǎng)絡(luò)配置

一些配置文件:

/etc/services:服務(wù)名稱和端口配置文件


/etc/hosts  :最早主機(jī)名對(duì)應(yīng)ip的配置文件

很過人一提到更改hostname首先就想到修改/etc/hosts文件,認(rèn)為hostname的配置文件就是/etc/hosts。其實(shí)不是的。
hosts文件的作用相當(dāng)如DNS,提供IP地址到hostname的對(duì)應(yīng)。早期的互聯(lián)網(wǎng)計(jì)算機(jī)少,單機(jī)hosts文件里足夠存放所有聯(lián)網(wǎng)計(jì)算機(jī)。不過隨著互聯(lián)網(wǎng)的發(fā)展,這就遠(yuǎn)遠(yuǎn)不夠了。于是就出現(xiàn)了分布式的DNS系統(tǒng)。由DNS服務(wù)器來提供類似的IP地址到域名的對(duì)應(yīng)。具體可以man hosts。
Linux統(tǒng)在向DNS服務(wù)器發(fā)出域名解析請(qǐng)求之前會(huì)查詢/etc/hosts文件,如果里面有相應(yīng)的記錄,就會(huì)使用hosts里面的記錄。/etc/hosts文件通常里面包含這一條記錄:
127.0.0.1    localhost.localdomain   localhost
hosts文件格式是一行一條記錄,分別是   IP地址 hostname aliases,三者用空白字符分隔,aliases可選。
127.0.0.1到localhost這一條建議不要修改,因?yàn)楹芏鄳?yīng)用程序會(huì)用到這個(gè),比如sendmail,修改之后這些程序可能就無法正常運(yùn)行。
修改hostname后,如果想要在本機(jī)上用newhostname來訪問,就必須在/etc/hosts文件里添加一條newhostname的記錄。比如我的eth0的IP是192.168.1.61,我將hosts文件修改如下:
#hostname blog.infernor.net

# cat /etc/hosts
127.0.0.1  localhost.localdomain localhost
192.168.1.61    blog.infernor.net      blog
這樣,我就可以通過blog或者blog.infernor.net來訪問本機(jī)。
從上面這些來看,/etc/hosts于設(shè)置hostname是沒直接關(guān)系的,僅僅當(dāng)你要在本機(jī)上用新的hostname來訪問自己的時(shí)候才會(huì)用到/etc/hosts文件。兩者沒有必然的聯(lián)系。
RHEL還有個(gè)問題。
我開始在
測(cè)試的時(shí)候,只修改/etc/hosts,里面添加 192.168.1.61 blog.infernor.net blog,而/etc/sysconfig/network維持原狀,也就是里面的HOSTNAME=localhost.localdomain。我重啟系統(tǒng)后居然發(fā)現(xiàn)hostname給修改成了blog.infernor.net。這樣看的話,倒真覺得/etc/hosts是hostname的配置文件。后來終于在/etc/rc.d/rc.sysinit這個(gè)啟動(dòng)腳本里發(fā)現(xiàn)了問題的所在。

rc.sysinit文件里一開始就設(shè)置了hostname
if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
fi
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
HOSTNAME=localhost
fi
確實(shí)使用了/etc/sysconfig/network里的hostname值。不過后面還有一段關(guān)于設(shè)置hostname的

ipaddr=
if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]
; then
ipaddr=$(ip addr show to 0/0 scope global | awk '/[[:space:]]inet
/ { print gensub("/.*","","g",$2) }')
if [ -n "$ipaddr" ]; then
eval $(ipcalc -h $ipaddr 2>/dev/null)
hostname ${HOSTNAME}
fi
fi
腳本判斷hostname是否為localhost或者localhost.localdomain,如果是的話,將會(huì)使用接口IP地址對(duì)應(yīng)的 hostname來重新設(shè)置系統(tǒng)的hostname。問題就出在這里,我的/etc/sysconfig/network默認(rèn)的hostname是 localhost.localdomain,eth0的IP是192.168.1.61,而/etc/hosts里有192.168.1.61的記錄。于是就用192.168.1.61這條記錄來替換了hostname。

估計(jì)這也是很多人將/etc/hosts誤以為是hostname的配置文件的原因。
hostname帶選項(xiàng)查詢
hostname的-s -f -i等等選項(xiàng)都用到了/etc/hosts或者DNS系統(tǒng),跟我們討論的hostname有點(diǎn)遠(yuǎn)了,也容易產(chǎn)生誤會(huì)。具體可以man hostname查看。

總結(jié)一下修改主機(jī)名最安全的方法:

1. 停止與主機(jī)名相關(guān)的軟件運(yùn)行,比如MySQL。

2. 先使用 hostname newname 設(shè)置主機(jī)名。

3. 在/etc/hosts中修改或增加 ip newname 行,并檢查原來127.0.0.1行l(wèi)ocalhost回環(huán)的設(shè)置。

4. 在/etc/sysconfig/network中修改HOSTNAME=newname。

5. 重新啟動(dòng)機(jī)器并確認(rèn)是否修改成功。

============================================================================

/etc/sysconfig/network     

$ cat /etc/sysconfig/network

NETWORKING=yes    是否起用網(wǎng)絡(luò)

HOSTNAME=cloudweb26.idc1.haodf.net     主機(jī)名

NETWORKING_IPV6=no

============================================================================
/etc/resolv.conf: 本機(jī)DNS解析

它是DNS客戶機(jī)配置文件,用于設(shè)置DNS服務(wù)器的IP地址及DNS域名,還包含了主機(jī)的域名搜索順序。該文件是由域名解析 器(resolver,一個(gè)根據(jù)主機(jī)名解析IP地址的庫)使用的配置文件。它的格式很簡(jiǎn)單,每行以一個(gè)關(guān)鍵字開頭,后接一個(gè)或多個(gè)由空格隔開的參數(shù)。

resolv.conf的關(guān)鍵字主要有四個(gè),分別是:

nameserver    //定義DNS服務(wù)器的IP地址

domain       //定義本地域名

search        //定義域名的搜索列表

sortlist        //對(duì)返回的域名進(jìn)行排序

下面我們給出一個(gè)/etc/resolv.conf的示例:

nameserver 10.3.3.99

nameserver 10.1.0.88

search idc1.baidu.net baidu.net

options single-request-reopen


最主要是nameserver關(guān)鍵字,如果沒指定nameserver就找不到DNS服務(wù)器,其它關(guān)鍵字是可選的。

nameserver 表示解析域名時(shí)使用該地址指定的主機(jī)為域名服務(wù)器。其中域名服務(wù)器是按照文件中出現(xiàn)的順序來查詢的,且只有當(dāng)?shù)谝粋€(gè)nameserver沒有反應(yīng)時(shí)才查詢下面的nameserver。

search   它的多個(gè)參數(shù)指明域名查詢順序。當(dāng)要查詢沒有域名的主機(jī),主機(jī)將在由search聲明的域中分別查找。

domain   聲明主機(jī)的域名。很多程序用到它,如郵件系統(tǒng);當(dāng)為沒有域名的主機(jī)進(jìn)行DNS查詢時(shí),也要用到。如果沒有域名,主機(jī)名將被使用,刪除所有在第一個(gè)點(diǎn)( .)前面的內(nèi)容。

domain和search不能共存;如果同時(shí)存在,后面出現(xiàn)的將會(huì)被使用。

sortlist    允許將得到域名結(jié)果進(jìn)行特定的排序。它的參數(shù)為網(wǎng)絡(luò)/掩碼對(duì),允許任意的排列順序。 

 “search domainname.com”表示當(dāng)提供了一個(gè)不包括完全域名的主機(jī)名時(shí),在該主機(jī)名后添加domainname.com的后 綴;“nameserver”表示解析域名時(shí)使用該地址指定的主機(jī)為域名服務(wù)器。其中域名服務(wù)器是按照文件中出現(xiàn)的順序來查詢的。

其中domainname和search可同時(shí)存在,也可只有一個(gè);nameserver可指定多個(gè)

========================================分隔線

/etc/nsswitch.conf :這個(gè)檔案則是在『決定』先要使用 /etc/hosts 還是 /etc/resolv.conf 的設(shè)定!


============================================================================

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0   網(wǎng)卡名

HWADDR=00:0c:29:dd:83:d4  網(wǎng)卡的MAC地址,些地址與網(wǎng)卡設(shè)備ROM中固定的地址保持一至

TYPE=Ethernet

ONBOOT=yes                 些設(shè)備是否隨OS啟動(dòng)而激活

NM_CONTROLLED=yes          MMNetworkManger 的簡(jiǎn)寫,建議設(shè)定為no

BOOTPROTO=static             引導(dǎo)協(xié)議:{none|static|dhcp|bootp}

                                      手動(dòng)  靜態(tài)  動(dòng)態(tài)  動(dòng)態(tài)

NETMASK=255.255.255.0

IPADDR=192.168.2.24

GATEWAY=192.168.2.1

USERCTL=no                 是否允許普通用戶管理接口,no為不

PEERDNS=yes                是否允許DHCP服務(wù)器提供的DNS服務(wù)器地址覆蓋本地/etc/resolv.conf 文件

 

IPV6INIT=no                是否使用IPV6

IPV6_AUTOCONF=yes          自動(dòng)配置IPV6


 

下面命令可以取出ip

# ifconfig eth0 | grep "inet addr"|awk -F[:" "]+ '{print $4}'

192.168.2.100

============================================================================

常用網(wǎng)絡(luò)方面命令:

1: host: 這個(gè)指令可以用來查出某個(gè)主機(jī)名的 IP 喔!舉例來說,我們想要知道 www.baidu.com 的 IP 時(shí),可以這樣做:

   host -a www.baidu.com

   host -a -v www.baidu.com

          -a:顯示所有DNS信息

          -v:顯示指定詳細(xì)信息

查的原理是根據(jù)本機(jī)/etc/resolv.conf里指定的DNS的ip 解析出來的


2:nslookup命令是常用域名查詢工具,就是查DNS信息用的命令。

nslookup有兩種工作模式,即“交互模式”和“非交互模式”。

在“交互模式”下,用戶可以向域名服務(wù)器查詢各類主機(jī)、域名的信息,或者輸出域名中的主機(jī)列表。進(jìn)入交互模式,直接輸入nslookup命令,不加任何參數(shù),則直接進(jìn)入交互模式

而在“非交互模式”下,用戶可以針對(duì)一個(gè)主機(jī)或域名僅僅獲取特定的名稱或所需信息。

# nslookup www.baidu.com

 此時(shí)nslookup會(huì)連接到默認(rèn)的域名服務(wù)器(即/etc/resolv.conf的第一個(gè)dns地址)


3:dig

dig [options] FQDN [@server]

選項(xiàng)與參數(shù):

   @server :如果不以 /etc/resolv.conf 的設(shè)定來作為 DNS 查詢,可在此填入其他的 IP

   options:相關(guān)的參數(shù)很多,主要有 +trace, -t type 以及 -x 三者最常用

      +trace :就是從 . 開始追蹤,

     -t type:查詢的數(shù)據(jù)主要有 mx, ns, soa 等類型

      -x     :查詢反解信息,非常重要的項(xiàng)目!


# dig linux.vbird.org

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 <<>> linux.vbird.org

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37415

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0


;; QUESTION SECTION:     <==提出的問題的部分

;linux.vbird.org.               IN      A


;; ANSWER SECTION:       <==主要的回答階段

linux.vbird.org.        600     IN      A       140.116.44.180


;; AUTHORITY SECTION:    <==其他與此次回答有關(guān)的部分

vbird.org.              600     IN      NS      dns.vbird.org.

vbird.org.              600     IN      NS      dns2.vbird.org.


;; Query time: 9 msec

;; SERVER: 168.95.1.1#53(168.95.1.1)

;; WHEN: Thu Aug  4 14:12:26 2011

;; MSG SIZE  rcvd: 86


# dig linux.vbing.org @114.114.114.114

# dig linux.vbird.org

# dig -t soa linux.vbird.org

反解:

# dig -x 120.114.100.20


QUESTION(問題):顯示所要查詢的內(nèi)容,因?yàn)槲覀兪遣樵?linux.vbird.org 的 IP,所以這里顯示 A (Address);

ANSWER(回答):依據(jù)剛剛的 QUESTION 去查詢所得到的結(jié)果,答案就是回答 IP ?。?/span>

AUTHORITY(驗(yàn)證):由這里我們可以知道 linux.vbird.org 是由哪部 DNS 服務(wù)器所提供的答案! 結(jié)果是 dns.vbird.org 及 dns2.vbird.org 這兩部主機(jī)管理的。另外,那個(gè) 600 是啥咚咚?圖 19.1-4 提到過的流程,就是允許查詢者能夠保留這筆記錄多久的意思 (快取),在 linux.vbird.org 的設(shè)定中,預(yù)設(shè)可以保留 600 秒。


4:ifconfig

# ifconfig {interface} {up|down}  <== 觀察與啟動(dòng)接口

# ifconfig interface {options}    <== 設(shè)定與修改接口

選項(xiàng)與參數(shù):

interface:網(wǎng)絡(luò)卡接口代號(hào),包括 eth0, eth2, ppp0 等等

options  :可以接的參數(shù),包括如下:

    up, down :?jiǎn)?dòng) (up) 或關(guān)閉 (down) 該網(wǎng)絡(luò)接口(不涉及任何參數(shù))

    mtu      :可以設(shè)定不同的 MTU 數(shù)值,例如 mtu 1500 (單位為 byte)

    netmask  :就是子屏蔽網(wǎng)絡(luò);

    broadcast:就是廣播地址啊!


# ifconfig -a   顯示所有接口,包括激活接口

# ifconfig eth0 192.168.100.100 netmask 255.255.255.128


5:ifup, ifdown

實(shí)時(shí)的手動(dòng)修改一些網(wǎng)絡(luò)接口參數(shù),可以利用 ifconfig 來達(dá)成,如果是要直接以配置文件, 亦即是在 /etc/sysconfig/network-scripts 里面的 ifcfg-ethx 等檔案的設(shè)定參數(shù)來啟動(dòng)的話, 那就得要透過 ifdown 或 ifup 來達(dá)成了

# ifup eth0

# ifdown eth0


6:route

# route [-nee]

# route add [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]

# route del [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]

觀察的參數(shù):

   -n  :不要使用通訊協(xié)議或主機(jī)名,直接使用 IP 或 port number;

   -ee :使用更詳細(xì)的信息來顯示

增加 (add) 與刪除 (del) 路由的相關(guān)參數(shù):

   -net    :表示后面接的路由為一個(gè)網(wǎng)域;

   -host   :表示后面接的為連接到單部主機(jī)的路由;

   netmask :與網(wǎng)域有關(guān),可以設(shè)定 netmask 決定網(wǎng)域的大?。?/span>

   gw      :gateway 的簡(jiǎn)寫,后續(xù)接的是 IP 的數(shù)值喔,與 dev 不同;

   dev     :如果只是要指定由那一塊網(wǎng)絡(luò)卡聯(lián)機(jī)出去,則使用這個(gè)設(shè)定,后面接 eth0 等

 

Destination, Genmask:這兩個(gè)玩意兒就是分別是 network 與 netmask 啦!所以這兩個(gè)咚咚就組合成為一個(gè)完整的網(wǎng)域啰!

 

Gateway:該網(wǎng)域是通過哪個(gè) gateway 連接出去的?如果顯示 0.0.0.0 表示該路由是直接由本機(jī)傳送,亦即可以透過局域網(wǎng)絡(luò)的 MAC 直接傳訊;如果有顯示 IP 的話,表示該路由需要經(jīng)過路由器 (通訊閘) 的幫忙才能夠傳送出去。

 

Flags:總共有多個(gè)旗標(biāo),代表的意義如下:

U (route is up):該路由是啟動(dòng)的;

H (target is a host):目標(biāo)是一部主機(jī) (IP) 而非網(wǎng)域;

G (use gateway):需要透過外部的主機(jī) (gateway) 來轉(zhuǎn)遞封包;

R (reinstate route for dynamic routing):使用動(dòng)態(tài)路由時(shí),恢復(fù)路由信息的旗標(biāo);

D (dynamically installed by daemon or redirect):已經(jīng)由服務(wù)或轉(zhuǎn) port 功能設(shè)定為動(dòng)態(tài)路由

M (modified from routing daemon or redirect):路由已經(jīng)被修改了;

! (reject route):這個(gè)路由將不會(huì)被接受(用來抵擋不安全的網(wǎng)域!) 

iface:這個(gè)路由傳遞封包的接口。

-----------------------------------------------------------------------

7:traceroute [選項(xiàng)與參數(shù)] IP

選項(xiàng)與參數(shù):

-n :可以不必進(jìn)行主機(jī)的名稱解析,單純用 IP ,速度較快!

-U :使用 UDP 的 port 33434 來進(jìn)行偵測(cè),這是預(yù)設(shè)的偵測(cè)協(xié)議;

-I :使用 ICMP 的方式來進(jìn)行偵測(cè);

-T :使用 TCP 來進(jìn)行偵測(cè),一般使用 port 80 測(cè)試

-w :若對(duì)方主機(jī)在幾秒鐘內(nèi)沒有回聲就宣告不治...預(yù)設(shè)是 5 秒

-p 埠號(hào):若不想使用 UDP 與 TCP 的預(yù)設(shè)埠號(hào)來偵測(cè),可在此改變埠號(hào)。

-i 裝置:用在比較復(fù)雜的環(huán)境,如果你的網(wǎng)絡(luò)接口很多很復(fù)雜時(shí),才會(huì)用到這個(gè)參數(shù);

         舉例來說,你有兩條 ADSL 可以連接到外部,那你的主機(jī)會(huì)有兩個(gè) ppp,

         你可以使用 -i 來選擇是 ppp0 還是 ppp1 啦!

-g 路由:與 -i 的參數(shù)相仿,只是 -g 后面接的是 gateway 的 IP 就是了。


# 范例一:偵測(cè)本機(jī)到 www.xx.com 去的各節(jié)點(diǎn)聯(lián)機(jī)狀態(tài)

[root@www ~]# traceroute -n www.xx.com

traceroute to www.xx.com (119.160.246.241), 30 hops max, 40 byte packets

 1  192.168.1.254  0.279 ms  0.156 ms  0.169 ms

 2  172.20.168.254  0.430 ms  0.513 ms  0.409 ms

 3  10.40.1.1  0.996 ms  0.890 ms  1.042 ms

 4  203.72.191.85  0.942 ms  0.969 ms  0.951 ms

 5  211.20.206.58  1.360 ms  1.379 ms  1.355 ms

 6  203.75.72.90  1.123 ms  0.988 ms  1.086 ms

 7  220.128.24.22  11.238 ms  11.179 ms  11.128 ms

 8  220.128.1.82  12.456 ms  12.327 ms  12.221 ms

 9  220.128.3.149  8.062 ms  8.058 ms  7.990 ms

10  * * *

11  119.160.240.1  10.688 ms  10.590 ms 119.160.240.3  10.047 ms

1、記錄按序列號(hào)從1開始,每個(gè)紀(jì)錄就是一跳 ,每跳表示一個(gè)網(wǎng)關(guān),我們看到每行有三個(gè)時(shí)間,單位是 ms,其實(shí)就是-q的默認(rèn)參數(shù)。探測(cè)數(shù)據(jù)包向每個(gè)網(wǎng)關(guān)發(fā)送三個(gè)數(shù)據(jù)包后,網(wǎng)關(guān)響應(yīng)后返回的時(shí)間;如果您用 traceroute -q 4 www.xx.com ,表示向每個(gè)網(wǎng)關(guān)發(fā)送4個(gè)數(shù)據(jù)包。

2、有時(shí)我們traceroute 一臺(tái)主機(jī)時(shí),會(huì)看到有一些行是以星號(hào)表示的。出現(xiàn)這樣的情況,可能是防火墻封掉了ICMP的返回信息,所以我們得不到什么相關(guān)的數(shù)據(jù)包返回?cái)?shù)據(jù)。

3、有時(shí)我們?cè)谀骋痪W(wǎng)關(guān)處延時(shí)比較長,有可能是某臺(tái)網(wǎng)關(guān)比較阻塞,也可能是物理設(shè)備本身的原因。當(dāng)然如果某臺(tái)DNS出現(xiàn)問題時(shí),不能解析主機(jī)名、域名時(shí),也會(huì) 有延時(shí)長的現(xiàn)象;您可以加-n 參數(shù)來避免DNS解析,以IP格式輸出數(shù)據(jù)。

4、如果在局域網(wǎng)中的不同網(wǎng)段之間,我們可以通過traceroute 來排查問題所在,是主機(jī)的問題還是網(wǎng)關(guān)的問題。如果我們通過遠(yuǎn)程來訪問某臺(tái)服務(wù)器遇到問題時(shí),我們用到traceroute 追蹤數(shù)據(jù)包所經(jīng)過的網(wǎng)關(guān),提交IDC服務(wù)商,也有助于解決問題;

由于目前 UDP/ICMP 的***層出不窮,因此很多路由器可能就此取消這兩個(gè)封包的響應(yīng)功能。所以我們可以使用 TCP 來偵測(cè)呦! 例如使用同樣的方法,透過等待時(shí)間 1 秒,以及 TCP 80 埠口的情況下,可以這樣做:

# traceroute -n -T www.xx.com


8:netstat 命令
常見參數(shù)

-a (all)顯示所有選項(xiàng),默認(rèn)不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)

-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴(kuò)展信息,例如uid
-s 按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì)
-c 每隔一個(gè)固定時(shí)間,執(zhí)行該netstat命令。

 

列出所有端口 netstat -a

 列出所有 tcp 端口   netstat -at

列出所有 udp 端口    netstat -au

只顯示監(jiān)聽端口             netstat -l

只列出所有監(jiān)聽 tcp 端口    netstat -lt

只列出所有監(jiān)聽 udp 端口    netstat -lu

只列出所有監(jiān)聽 UNIX 端口   netstat -lx

顯示所有端口的統(tǒng)計(jì)信息      netstat -s

顯示 TCP UDP 端口的統(tǒng)計(jì)信息 netstat -st netstat -su

顯示核心路由信息   netstat -r

顯示目前已經(jīng)啟動(dòng)的網(wǎng)絡(luò)服務(wù)   netstat -tunlp

顯示目前所有已經(jīng)啟動(dòng)的網(wǎng)絡(luò)服務(wù)   netstat  -atunp

 

netstat  -an參數(shù)中stat(狀態(tài))的含義如下:

LISTEN:偵聽來自遠(yuǎn)方的TCP端口的連接請(qǐng)求;
SYN-SENT:在發(fā)送連接請(qǐng)求后等待匹配的連接請(qǐng)求;
SYN-RECEIVED:在收到和發(fā)送一個(gè)連接請(qǐng)求后等待對(duì)方對(duì)連接請(qǐng)求的確認(rèn);
ESTABLISHED:代表一個(gè)打開的連接,我們常用此作為并發(fā)連接數(shù);
FIN-WAIT-1:等待遠(yuǎn)程TCP連接中斷請(qǐng)求,或先前的連接中斷請(qǐng)求的確認(rèn);
FIN-WAIT-2:從遠(yuǎn)程TCP等待連接中斷請(qǐng)求;
CLOSE-WAIT:等待從本地用戶發(fā)來的連接中斷請(qǐng)求;
CLOSING:等待遠(yuǎn)程TCP對(duì)連接中斷的確認(rèn);
LAST-ACK:等待原來發(fā)向遠(yuǎn)程TCP的連接中斷的確認(rèn);
TIME-WAIT:等待足夠的時(shí)間以確保遠(yuǎn)程TCP連接收到中斷請(qǐng)求的確認(rèn);
CLOSED:沒有任何連接狀態(tài);

 

在日常工作中,我們可以用shell組合命令來查看服務(wù)器的TCP連接狀態(tài)并匯總,命令如下:

netstat -an|awk '/^tcp/{++S[$NF]}END{for (a in S)print a,S[a]}'

 參數(shù)說明:

CLOSED 沒有連接活動(dòng)或正在進(jìn)行的;
LISTEN  服務(wù)器正在等待的進(jìn)入呼叫;
SYN_RECV:一個(gè)連接請(qǐng)求已經(jīng)到達(dá),等待確認(rèn);
SYN_SENT:應(yīng)用已經(jīng)開始,打開一個(gè)連接;
ESTABLISHED:正常數(shù)據(jù)傳輸狀態(tài),也可以近似的理解為當(dāng)前服務(wù)器的并發(fā)數(shù);
FIN_WAIT1:應(yīng)用已經(jīng)完成;
FIN_WAIT2:另一邊同意釋放;
ITMED_WAIT:等待所有分組死掉;
CLOSING:兩邊同時(shí)嘗試關(guān)閉;
TIME_WAIT:另一邊已初始化一個(gè)釋放;
LAST_ACK:等待所有分組死掉;

 

統(tǒng)計(jì) TCP連接數(shù) 命令:

netstat -an |grep 'ESTABLISHED' |grep 'tcp' |wc -l

 

[root@centos ~]# vim /etc/security/limits.conf

*                hard    nofile  65535

*                soft    nofile  65535

 

/etc/rc.local

ulimit -SHn  65535   直接寫入/etc/rc.local



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI