您的位置:首页 > 理论基础 > 计算机网络

CentOS7下使用rmcli配置IP地址详解及网络连接状态查看工具和进程管理工具的使用

2016-09-07 23:17 1611 查看
一、在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 noIP地址的修改可以使用加减号([+|-]ipv4.addresses),表示追加一个IP或删除一个IP,而不是覆盖修改原来的IP。DNS的修改也一样可以使用加减号([+|-]ipv4.dns);常用的修改参数以及对应配置文件修改项如下:ipv4.method manual:表示修改BOOTPROTO=noneipv4.method auto:表示修改BOOTPROTO=dhcpipv4.addresses 192.0.2.100/24 :表示修改IPADDR0=192.0.2.100 PREFIX0=24ipv4.gateway 192.0.2.1:表示修改GATEWAY=192.0.2.1ipv4.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.comipv4.ignore-auto-dns true:表示修改PEERDNS=noconnection.autoconnect yes:表示修改ONBOOT=yesconnection.id eth0:表示修改NAME=eth0connection.interface-name eth0:表示修改DEVICE=eth0802-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 test8、删除某个连接配置可以使用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的任务管理器。

第一行:显示的信息与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源来进行安装。

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+c9)SIGKILL: 强行中止正在运行的进程15)SIGTERM:安全中止正在运行的进程18)SIGCONT:继续运行指定进程19)SIGSTOP:暂停进程,后台休眠向进程发送信号的语法为:kill [-SIGNAL] PID
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  netstat nmcli nmtui
相关文章推荐