CentOS7下使用rmcli配置IP地址詳解及網絡連接狀態查看工具和進程管理工具的使用

一、在CentOS7中推薦使用nmcli工具來管理網卡配置,nmcli是NetworkManager Command-Line Interface(網絡管理命令行接口)的簡稱,可以通過它以命令行的方式管理網卡。也可以使用nmtui管理工具,nmtui是NetworkManager Text-User Interface(網絡管理文本用戶接口)的簡稱,它提供的是圖形化管理工具,相當于CentOS6下的system-config-network工具。以下著重介紹nmcli的使用。

1、查看所有網卡的詳細信息,device指正在使用的網卡接口

]# nmcli device show

2、查看所有網卡的連接狀態信息

]# nmcli device status

3、查看所有服務于網卡接口的連接,connection指一組關于網卡的配置信息,對于一個單一的網卡設備可以有多個連接,并且可以在多個連接之間切換,但一個網卡接口一次只能對應一個連接生效

]# nmcli connection show

4、查看所有活動的連接,即對應網卡生效的連接

]# nmcli connection show –active

5、添加一個新的連接并綁定網卡,添加完之后會在/etc/sysconfig/network-scripts目錄下自動生成一個網卡的配置文件(如下,新建一個名為test的連接,并綁定網卡eno33554984)

]# nmcli connection add con-name test type ethernet ifname eno33554984 

    con-name:需要指定連接名

    type:需要指定網卡的類型,如 bond、adsl、team、ethernet等

    ifname:需要指定要綁定的網卡接口

6、使用modify命令可以修改連接的配置,如修改ip地址,修改網關gw,修改DNS、修改BOOTPROPO類型等,如下,修改test的配置為靜態IP:1.1.1.10/24,GW:1.1.1.1、DNS:8.8.8.8,并且不讓自動連接

]# nmcli connection modify test ipv4.method manual ipv4.addresses 1.1.1.10/24 ipv4.gateway 1.1.1.1 ipv4.dns 8.8.8.8 connection.autoconnect no

IP地址的修改可以使用加減號([+|-]ipv4.addresses),表示追加一個IP或刪除一個IP,而不是覆蓋修改原來的IP。DNS的修改也一樣可以使用加減號([+|-]ipv4.dns);

常用的修改參數以及對應配置文件修改項如下:

ipv4.method manual:表示修改BOOTPROTO=none

ipv4.method auto:表示修改BOOTPROTO=dhcp

ipv4.addresses 192.0.2.100/24 :表示修改IPADDR0=192.0.2.100 PREFIX0=24

ipv4.gateway 192.0.2.1:表示修改GATEWAY=192.0.2.1

ipv4.dns 8.8.8.8:表示修改DNS1=8.8.8.8

+ipv4.dns 8.8.4.4:表示修改DNS2=8.8.4.4(有時候也表示DNS3或DNS1,主要看配置文件中已有DNS數量)

ipv4.dns-search example.com :表示修改DOMAIN=example.com

ipv4.ignore-auto-dns true:表示修改PEERDNS=no

connection.autoconnect yes:表示修改ONBOOT=yes

connection.id eth0:表示修改NAME=eth0

connection.interface-name eth0:表示修改DEVICE=eth0

802-3-ethernet.mac-address . . .:表示修改HWADDR= . . .

Examples:
nmcli con mod home-wifi wifi.ssid rakosnicek
nmcli con mod em1-1 ipv4.method manual ipv4.addr "192.168.1.2/24, 10.10.1.5/8"
nmcli con mod em1-1 +ipv4.dns 8.8.4.4
nmcli con mod em1-1 -ipv4.dns 1
nmcli con mod em1-1 -ipv6.addr "abbe::cafe/56"
nmcli con mod bond0 +bond.options mii=500
nmcli con mod bond0 -bond.options downdelay

7、修改連接配置后需要重新加載配置,重新加載配置后不用重啟服務也可立即生效

]# nmcli connection reload

也可以使用下面命令手動指定激活某個連接配置,這種方式經常用于不同連接之間的切換

]# nmcli connection up test

也可以使用如下命令斷開某個連接,如果該鏈接所綁定的網卡有多個連接配置,則會自動切換到下一個連接上,這種方式斷開后還會自動激活該鏈接

]# nmcli connection down test

8、刪除某個連接配置可以使用delete命令,刪除時自動將/etc/sysconfig/network-scripts下的相關配置文件一并刪除,如下,刪除test連接

]# nmcli connection delete test

9、禁用某個網卡接口設備,但是系統重啟后還會自動激活該網卡

]# nmcli device disconnect eno33554984 

10、多個網卡綁定(bond),使用mode1(active-backup)

第1步:創建bond,并指定IP地址,網關等

]# nmcli connection add type bond mode active-backup miimon 100 ip4 10.10.20.78 gw4 10.10.20.1 

第2步,將網卡eno50332208和eno33554984加入到bond中(需要幾個網卡就添加幾個)

]# nmcli connection add con-name bond-eth1 type bond-slave ifname eno50332208 master nm-bond

]# nmcli connection add con-name bond-eth2 type bond-slave ifname eno33554984 master nm-bond

第3部,啟用bond、bond-eth1和bond-eth2

]# nmcli connection up bond

]# nmcli connection up bond-eth1 

]# nmcli connection up bond-eth2

二、網絡連接狀態查看工具

1、netstat命令的功能是顯示網絡連接、路由表和網絡接口信息,可以讓用戶得知有哪些網絡連接正在運作,一般用于檢驗本機各端口的網絡連接情況,使用時如果不帶參數,netstat顯示活動的 TCP 連接。

netstat命令常用的選項有:

    -a:顯示所有socket,包括正在監聽的

    -t:顯示TCP協議的連接情況

    -u:顯示UDP協議的連接情況

    -l:顯示處于 Listen (監聽) 狀態的服務

    -n:以數字顯示ip和端口而非解析過的主機名或用戶名

    -e:顯示擴展信息,包括用戶信息、Inode 信息

    -p:顯示相關進程及PID

    -r:顯示路由表

    -i:顯示所有網絡接口數據包收發情況

    -I:顯示某一個網卡接口數據包收發情況

    -s:顯示每種協議的統計信息

    常用的組合有:-tan、-uan、-tnl、-unl

Examples:
#查看路由表,不跟-n的情況下
[root@localhost ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.20.0      *               255.255.255.0   U         0 0          0 bond0
link-local      *               255.255.0.0     U         0 0          0 bond0
default         10.10.20.1      0.0.0.0         UG        0 0          0 bond0
#查看路由表,跟上-n選項是以數字的形式顯示ip和端口
[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.20.0      0.0.0.0         255.255.255.0   U         0 0          0 bond0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 bond0
0.0.0.0         10.10.20.1      0.0.0.0         UG        0 0          0 bond0
#查看網卡接口數據包收發情況
[root@localhost ~]# netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777  1500     4782      0      0 0          4172      0      0      0 BMRU
...
#查看TCP協議下已連接的端口
[root@localhost ~]# netstat -tn
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0     52 192.168.99.101:22       192.168.99.1:55726      ESTABLISHED
#查看TCP協議下的所有監聽端口
[root@localhost ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN
#查看所有狀態下并且使用TCP協議的應用程序端口,包括監聽狀態、已連接狀態等
[root@localhost ~]# netstat -tan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0     52 192.168.99.101:22       192.168.99.1:55726      ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN 
#查看所有狀態下并且使用TCP協議的應用程序端口及進程PID
[root@localhost ~]# netstat -tanp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1497/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1594/master         
tcp        0     52 192.168.99.101:22       192.168.99.1:55726      ESTABLISHED 10924/sshd: root@pt 
tcp6       0      0 :::22                   :::*                    LISTEN      1497/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1594/master  
#查看所有狀態下并且使用TCP協議的應用程序端口及進程PID ,以及用戶信息和Inode信息
[root@localhost ~]# netstat -tanpe
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          19087      1497/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          19217      1594/master         
tcp        0     52 192.168.99.101:22       192.168.99.1:55726      ESTABLISHED 0          40072      10924/sshd: root@pt 
tcp6       0      0 :::22                   :::*                    LISTEN      0          19097      1497/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      0          19218      1594/master

    2、ss是Socket Statistics的縮寫。ss命令可以用來獲取socket統計信息,它可以顯示和netstat類似的內容。但ss的優勢在于它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。ss命令的用法以及選項跟netstat的基本一樣,這里不做過多解釋,推薦使用ss命令。

三、進程管理工具

進程的狀態有:

D,interruptible sleeping— 不可中斷睡眠

R ,running— 運行狀態

S ,interruptible sleeping— 可中斷睡眠

T ,stopped— 停止狀態,暫停與內存中,但不會被調度,除非手動停止

Z ,zombie— 僵死狀態,父進程結束前,子進程不關閉

+:前臺進程

l:多線程進程

N:低優先級進程

<:高優先級進程

s:session leader,會話(子進程)發起者

   

1、ps命令,ps命令用來列出系統中當前運行的進程。ps命令列出的是當前進程的快照,就是執行ps命令時的那些進程,不能實時的動態列出進程。使用PS命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。

ps不跟選項的默認情況下只顯示當前終端上的進程,ps常用的選項有:

BSD風格的選項,不用跟“-”號

a:顯示所有終端上的進程

x:顯示所有與終端無關的進程,即不需要連接終端的進程

u:顯示進程所有者的信息,aux是常用的組合

f:用ASCII字符顯示樹狀結構,表達進程間的關系

o:常與ax結合使用,可定制顯示某些信息,如pid、comm、%cpu、%mem、state、tty、euser、ruser

[root@localhost ~]# ps axo pid,comm,%cpu,%mem,state,tty,euser,ruser 
   PID COMMAND         %CPU %MEM S TT       EUSER    RUSER
     1 systemd          0.0  0.3 S ?        root     root
     2 kthreadd         0.0  0.0 S ?        root     root
[root@localhost ~]# ps aux  
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 192104  7300 ?        Ss   15:01   0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root          2  0.0  0.0      0     0 ?        S    15:01   0:00 [kthreadd]

UNIX風格的常用組合,跟一個“-”號

-ef:-e表示顯示所有進程,等同于-A,-f表示顯示完整格式程序信息

-fFH:-F表示更完整格式的進程信息,-H表示以層級格式顯示進程相關信息

-eo:o表示可定制顯示某些信息,如pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm

2、uptime 可以顯示當前時間、系統已啟動的時間、當前上線人數、系統平均負載(1、5、10分鐘的平均數,一般不會超過1)

[root@localhost ~]# uptime 
 20:42:32 up  5:41,  1 user,  load average: 0.00, 0.01, 0.05

3、top命令,top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。

wKiom1fQDJOBPxqrAABbF6KwrUE478.png

第一行:顯示的信息與uptime顯示的一樣;

第二行:顯示的是任務(進程)信息,具體包括系統現在共有344個進程,其中處于運行狀態的有1個,處于可中休眠狀態的有343個,處于停止狀態的有0個,處于僵死狀態的有0個;

第三行:顯示的是關于CPU的信息,具體解釋如下

    sy:表示用戶運行程序占用CPU的百分比

    sy:表示用于運行內核占用CPU的百分比

    ni:用戶進程空間所改變過優先級的進程占用CPU的百分比

    id:空閑CPU百分比

    wa:IO等待占用CPU的百分比

    hi:硬中斷占用CPU的百分比

    si:軟中斷占用CPU的百分比

    st:被虛擬機“偷走”的百分比

第四行:顯示的是物理內存使用情況

第五行:顯示的是交換內存使用情況

第六行:默認是空白行,當在top程序中輸入命令時,顯示狀態的地方,在這里可以輸入的命令有:

    P:以占據CPU的百分比大小排序

    M:以占據內存空間大小排序

    T:以CPU累積占用時間排序

    l:是否顯示系統負載行(第一行信息)

    t:是否顯示進程摘要信息及CPU負載狀態(第二行和第三行信息)

    1(數字):平均或單獨顯示CPU的負載狀態

    m:是否顯示內存相關的狀態信息(第四行和第五行信息)

    s:修改刷新時間間隔

    k:終止指定進程

    q:退出命令

第七行:各個進程的狀態監控信息,沒列的含義如下:

    PID:每個進程ID

    USER:進程的所有者

    PR:進程的優先級,值越小優先級越高

    NI:Nice的簡寫,與priority有關,也是值越小優先級越高

    VIRT:進程需要的虛擬內存大小,而非使用的虛擬內存大小

    RES:進程當前使用的內存大小,不包括swap

    SHR:進程與其他進程共享的內存大小

    S:進程的狀態

    %CPU:CPU的使用率

    %MEM:內存的使用率

    TIME+:CPU使用時間的累加

4、htop命令,htop是top的增強版,功能更強大,系統默認情況下是沒有安裝的,需要epel源來進行安裝。

wKioL1fQG8rQzEcMAADq254DjsA842.png

htop與top不同的是最下面有操作提示,可以根據提示進行更多更能的操作,例如可以設置CPU、內存的顯示風格等。

5、pgrep命令,根據指定的內容從運行進程隊列中查找進程,并顯示查找到的進程ID。

用法:pgrep [options] <pattern>

常用選項:

-U:顯示指定用戶(真正發起者)的進程

-u:顯示指定用戶(真正生效者)的進程

-G:顯示指定用戶組(真正發起者)的進程

-g:顯示指定用戶組(真正生效者)的進程

-t:顯示指定終端上的進程

-P,顯示指定進程的子進程

-l:顯示進程名稱

-a:顯示完整格式的進程名

6、pidof命令,顯示指定命令所自動的進程ID。

例如要顯示sshd命令進程的ID:  #]pidof sshd

7、kill命令,向進程發送控制信號,以實現對進程管理

顯示當前系統可以信號:#] kill -l

其中常用的信號有:

1)SIGHUP: 通知進程重讀配置文件已讓新的配置生效,無須重新啟動進程

2)SIGINT: 打斷正在運行中的進程;相當于Ctrl+c

9)SIGKILL: 強行中止正在運行的進程

15)SIGTERM:安全中止正在運行的進程

18)SIGCONT:繼續運行指定進程

19)SIGSTOP:暫停進程,后臺休眠

向進程發送信號的語法為:kill [-SIGNAL] PID

原創文章,作者:苦澀咖啡,如若轉載,請注明出處:http://www.www58058.com/44535

(1)
苦澀咖啡苦澀咖啡
上一篇 2016-09-07
下一篇 2016-09-08

相關推薦

  • liunx文本處理三劍客及文本處理工具的使用與練習。

    linux文本處理三劍客: grep ==擅長過濾,把想要的或者不想要的分離開。linux三劍客 老三  -A: 除了顯示匹配的一行之外,并顯示該行之前的num行;-B:除了顯示匹配的一行之外,并顯示該行之后的num行;-C:除了顯示匹配的一行之外,并顯示該行之前后各num行     sed==擅長取行、替換。三劍客老…

    2017-07-28
  • HAProxy

    HAProxy簡介 HAProxy是免費、極速且可靠的用于為TCP和基于HTTP應用程序提供高可用、負載均衡和代理服務的解決方案,尤其適用于高負載且需要持久連接或7層處理機制的web站點。HAProxy還可以將后端的服務器與網絡隔離,起到保護后端服務器的作用。HAProxy的負載均衡能力雖不如LVS,但也是相當不錯,而且由于其工作在7層,可以對http請求報…

    2017-05-17
  • 阿里云2G2C的ECS部署LNMP性能瓶頸到底在多少

    服務器詳細配置 Project message System info LSB Version:      :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch Distributor ID: CentOS Description: &n…

    Linux干貨 2015-04-16
  • linux文件系統(ext2\ext3\ext4,xfs,btrfs…)的介紹[轉載]

    ext2\ext3\ext4,xfs,btrfs 都是針對服務器系統越來越高效實用的日志文件系統 日志文件系統:    日志文件系統是一種即使在斷電或者是操作系統崩潰的情況下保證文件系統一致性的途徑。XFS對文件系統元數據提供了日志支持。當文件系統更新時,元數據會在實際的磁盤塊被更新之前順序寫入日志。XFS的日志被保存在磁盤塊的…

    Linux干貨 2017-01-31
  • hadoop安全模式

    hadoop安全模式在分布式文件系統啟動的時候,開始的時候會有安全模式,當分布式文件系統處于安全模式的情況下,文件系統中的內容不允許修改也不允許刪除,直到安全模式結束。安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,同時根據策略必要的復制或者刪除部分數據塊。運行期通過命令也可以進入安全模式。在實踐過程中,系統啟動的時候去修改和刪除文…

    Linux干貨 2015-04-13
  • 10分鐘學會理解和解決MySQL亂碼問題

    本文將詳細介紹MySQL亂碼的成因和具體的解決方案。在閱讀本文之前,強烈建議對字符集編碼概念還比較模糊的同學 閱讀下博主之前對相關概念的一篇科普:十分鐘搞清字符集和字符編碼 MySQL出現亂碼的原因 要了解為什么會出現亂碼,我們就先要理解:從客戶端發起請求,到MySQL存儲數據,再到下次從表取回客戶端的過程中,哪些環節會有編碼/解碼的行為。為了更好的解釋這個…

    2015-03-17

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-10 11:23

    內容寫的很詳細,面面俱到了,對于標題可以進行一些簡化。

欧美性久久久久