监控网络状态
⚪查看系统网络情况 netstat
基本语法:
netstat [选项]
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用
应用案例:
查看服务名为sshd的服务的网络信息
netstat -anp | grep sshd
检测主机连接命令ping
是一种网络检测工具,它主要是用检测远程主机是否连接正常,或是两部主机间的网线或网卡故障。
⚪ss命令:(scocket statistics)网络状态查看
ss [选项]
-t : tcp协议
-u : udp协议
-w:sockets相关
-l : listen状态的链接
-a: 所有
-n : 显示数字IP和端口,不通过域名服务器
-p:相关程序以及pid
⚪NetworkManager和常用工具和基本用法
NetworkManger介绍
在Linux系统中传统的网络管理方法是通过network的服务来实现,在CentOS7中依然有这个服务的身影,但到了CentOS8中已经不使用network这个服务了,而是使用NetworkManager的服务,这个服务可以简化我们管理有线和无线连接的工作,除此之外它还能管理不同类型的网络,包括物理网卡,虚拟网卡,以太网,非以太网。
常用工具:
• nmcli: 命令工具
• nmtui : 文本图形界面工具
• cockpit : 基于web的管理工具
nmcli基本用法
nmcli命令的用法类似Linux中以前的IP命令,而且支持tab补全,另外也可以使用-h或者-help获取帮助
# nmcli -h
# nmcli connetion -h
可以看到,在不同的阶段获取到的帮助内容是不一样的。
nmcli这两个工具有两个常用的命令
1.nmcli connetion (nmcli c) 与连接相关的操作
[root@localhost131 ~]# nmcli connection
NAME UUID TYPE DEVICE
#设备名 通用唯一标识码 设备类型 设备名称
ens33 c6bff397-453a-4020-b295-7e34dfe02752 ethernet ens33
ens38 c3c695b8-9ffe-3d81-99e5-0318100c9ab6 ethernet --
virbr0 05706c58-83f5-4d13-a7d6-9063d0ad0c22 bridge virbr0
#在查看时,有颜色的字体标注的是处于活跃状态的网卡,连接
2.nmcli device (nmcli d) 与设备相关的操作
[root@localhost131 ~]# nmcli device
DEVICE TYPE STATE CONNECTION
#设备名 设备类型 状态 连接名
ens33 ethernet 连接的 ens33
virbr0 bridge 连接的 virbr0
ens38 ethernet 已断开 --
lo loopback 未托管 --
virbr0-nic tun 未托管 --
在日常使用中这两个命令互相配合,通过nmcli device 可以查看到有哪些设备是被NetworkManager托管的,通过nmcli connection控制网络设备的连接状态。
使用nmcli命令设置网卡信息
nmcli :查看网卡信息
[root@localhost131 ~]# nmcli
ens33: 连接的 to ens33
"Intel 82545EM"
ethernet (e1000), 00:0C:29:D0:A9:38, hw, mtu 1500
ip4 default
inet4 192.168.131.130/24
route4 192.168.131.0/24
route4 0.0.0.0/0
inet6 fe80::8edf:ecd1:e3d:2f1d/64
route6 fe80::/64
route6 ff00::/8
设置静态IP地址
[root@localhost131 ~]# nmcli connection add type ethernet con-name ens-test1 ifname ens33 ipv4.addresses 192.168.131.130/24 ipv4.gateway 192.168.31.2 ipv4.method manual
连接“ens-test1” (da7fdc9a-e7cc-4a1c-8b2c-7751ed2fc4d2) 已添加成功
启用新添加的连接
[root@localhost131 ~]# nmcli connection up ens-test1
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnetcion/16)
为网卡设置动态IP
[root@localhost131 ~]# nmcli connection add type ethernet con-name ens-test2 ifname ens37 ipv4.method auto
连接“ens-test2”(0ab3f05e-8bb4-4b26-b62e-2cd5faf587d1) 已成功添加。
交互式设置IP地址
[root@localhost131 ~]# nmcli connection edit ens-test2
===| nmcli 交互式连接编辑器 |===
正在编辑已存的连接“802-3-ethernet”:“ens-test2”
对于可用的命令输入“help”或“?”。
输入“describe [<设置>.<属性>]”来获得详细的属性描述。
您可编辑下列设置:connection, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6, tc, proxy
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
编辑“addresses”值:192.168.131.122/24
您还要将 “ipv4.method” 设定为 “manual” 吗 [yes]:yes
nmcli ipv4.addresses> back
nmcli ipv4> save
成功地更新了连接 'ens-test2'(486f2306-bbce-426d-a78f-ba4008c24896)。
nmcli ipv4> activate
正在监控连接激活(按任意键继续)
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/12)
nmcli ipv4> quit
启用和停用
[root@localhost131 ~]# nmcli connection up ens-test2
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/13)
[root@localhost131 ~]# nmcli connection down ens-test2
成功取消激活连接 'ens-test2'(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/13)
删除连接
[root@localhost131 ~]# nmcli connection delete ens-test2
成功删除连接 'ens-test2'(486f2306-bbce-426d-a78f-ba4008c24896)
连接/断开网卡
[root@localhost131 ~]# nmcli device connect ens38
成功用 'ens38' 激活了设备 'c3c695b8-9ffe-3d81-99e5-0318100c9ab6'。
[root@localhost131 ~]# nmcli device disconnect ens38
成功断开设备 'ens38'。
开启/关闭无线功能
[root@localhost131 ~]# nmcli networking on/off
监控网络状态---- 虚拟机bug 显示不出来
[root@localhost131 ~]# nmcli monitor
ens38: 停用中
网络管理器现处于“已连接(仅本地)”状态
连接性现在是“受限”
ens38:已断开
询问NetworkManager网络连接状态
[root@localhost131 ~]# nm-online
正在连接............... 30s [online]
使用其他网络管理配置工具
[root@localhost131 ~]# nmtui
[root@localhost131 ~]# rpm -qa | grep cockpit