1.1查看及测试网络
1.1.1 查看网络配置
1.查看网络接口地址
主机的网络接口卡通常称为网络接口。在LInux操作系统中,使用ifconfig命令可以查看网络接口的地址配置信息。
(1)查看活动的网络接口设备
若采用mini版CenOS7安装的系统,默认是没有ifconfig命令的,需要通过ifconfig命令方式安装net-tools软件包,才有ifconfig命令。
[root@localhost ~]# yum -y install net-tools #安装软件包
[root@localhost ~]# ifconfig #查看网卡配置
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.10.101 netmask 255.255.255.0 broadcast 192.168.10.255inet6 fe80::20c:29ff:fe8e:c83d prefixlen 64 scopeid 0x20<link>ether 00:0c:29:8e:c8:3d txqueuelen 1000 (Ethernet)RX packets 192 bytes 21584 (21.0 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 151 bytes 19286 (18.8 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 64 bytes 5568 (5.4 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 64 bytes 5568 (5.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
下面是每段的意思
接口名称 | 标志 | MTU | IPv4 地址 | 子网掩码 | 广播地址 | IPv6 地址 | 前缀长度 | 作用域 | MAC 地址 | 传输队列长度 | 类型 | 接收统计 | 发送统计 |
ens33 | UP, BROADCAST, RUNNING, MULTICAST | 1500 | 192.168.10.101 | 255.255.255.0 | 192.168.10.255 | fe80::20c:29ff:fe8e:c83d | 64 | link | 00:0c:29:8e:c8:3d | 1000 | Ethernet | RX packets 192, RX bytes 21584 | TX packets 151, TX bytes 19286 |
lo | UP, LOOPBACK, RUNNING | 65536 | 127.0.0.1 | 255.0.0.0 | - | ::1 | 128 | host | - | 1000 | Local Loopback | RX packets 64, RX bytes 5568 | TX packets 64, TX bytes 5568 |
需要注意以下几个情况:
- "接收统计"和"发送统计"中的"RX packets"和"TX packets"表示接收和发送的数据包数量,"RX bytes"和"TX bytes"表示接收和发送的字节数。
- 对于lo接口,没有MAC地址,因为它是一个逻辑接口,不是物理接口。
- 对于ens33接口,没有列出具体的接收和发送错误、丢弃、溢出等统计信息,但原始信息中包含了这些字段。如果需要更详细的统计信息,可以使用ifconfig(在旧系统中)或ip -s link show ens33(在新系统中)命令来获取。
- 广播地址对于lo接口不适用,因此显示为"-"
(2)查看指定的网络接口信息
当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig命令的参数。
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.10.101 netmask 255.255.255.0 broadcast 192.168.10.255inet6 fe80::20c:29ff:fe8e:c83d prefixlen 64 scopeid 0x20<link>ether 00:0c:29:8e:c8:3d txqueuelen 1000 (Ethernet)RX packets 425 bytes 37697 (36.8 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 273 bytes 29734 (29.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[root@localhost ~]#
上面命令显示的结果中,可以获知ens33网卡的一些基本信息,如下。
段落 | 作用 |
inet | 表示网络接口的IP地址 |
netmask | 表示网络接口的子网掩码 |
broadcast | 表示网络接口所在网络的广播地址 |
ether | 表示网络接口的物理地址 |
2.查看主机名称
查看主机名称可以使用hostname命令查看主机的主机名不用添加任何参数或选项,操作如下:
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]#
3.查看路由表条目
Linux操作系统中的路由表决定着从本机向其他主机,其他网络发送数据的去向,是排除网络故障的关键信息。直接执行“route”命令可以查看当前主机中路由表信息。
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]#
若结合“-n”选项使用,可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能加快执行速度。
4.查看网络连接情况
通过 netstat 命令可以查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具。以下是netstat 命令常用的几个选项。
选项 | 描述 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听(Listening)状态的网络连接及端口信息 |
-t | 查看TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
除了netstat,ss命令也可以查看网络连接情况,以下是ss命令常用的几个选项
选项 | 描述 |
-h或--help | 通过该选项获取更多的使用帮助。 |
-V或--version | 显示软件的版本号。 |
-t或--tcp | 显示 TCP 协议的 sockets。 |
-u或--udp | 显示 UDP 协议的 sockets。 |
-n或--numeric | 不解析服务的名称,如"22"端口不会显示成"ssh"。 |
-l或--listening | 只显示处于监听状态的端口。 |
-p或--processes | 显示监听端口的进程。 |
-a或--all | 对 TCP 协议来说,既包含监听的端口,也包含建立的连接。 |
-r或--resolve | 把 IP 解释为域名,把端口号解释为协议名称(注意:此选项可能需要配合其他选项如-t或-u(使用)。 |
1.1.2测试网络连接
1.测试网络连通性
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=3 ttl=128 time=27.4 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=4 ttl=128 time=35.9 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=5 ttl=128 time=34.0 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=6 ttl=128 time=29.0 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=7 ttl=128 time=29.5 ms
1.2设置网络地址参数
1.修改网卡的地址,状态
ifconfig命令不仅可以用于查看网卡配置,还可以修改网卡IP地址,子网掩码,也可以绑定虚拟网络接口,激活或禁用网络接口。
(1)修改网卡的IP地址,子网掩码
需要设置网卡的IP地址,命令格式如下:
ifconfig 网络接口名称 IP地址 【netmask 子网掩码】 或
ifconfig 网络接口名称 IP地址[/子网掩码长度]
(2)禁用,激活网络接口
需要临时禁用或者重新激活指定的网络接口时,需要结合"down"和"up"开关选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。例如,执行以下操作将会禁用网卡 ens37.
[root@localhost ~]# ifconfig ens37 down
(3)为网卡绑定虚拟接口
[root@localhost ~]# ifconfig ens33:0 172.17.17.17
[root@localhost ~# ifconfig
2.添加,删除情态路由记录
route 命令不仅可以用于查看路由表信息,还可用来添加、删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)。
(1)添加,删除到指定网段的路由记录
可以通过route add操作可以添加路由记录,结合“-net”选项指定目标网段的地址,结合“gw”选项指定下一条路由器的IP地址。
[root@localhost ~]# route add -net 192.168.10.0/24 gw 192.168.3.254
[root@localhost ~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 gateway 0.0.0.0 UG 100 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.3.0 192.168.10.254 255.255.255.0 UG 0 0 0 ens 33
[root@localhost ~]# route del -net 192.168.3.0/24
3.修改主机的名称
hostname 命令不仅可以用于显示当前主机的名称,还可以修改当前主机的名称。在新登录的用户会话(She环境)中,命令提示符中的主机名部分也会出现相应的变化。
[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# hostname aaaa
[root@localhost ~]# bash
[root@aaaa ~]# hoatname[root@aaaa ~]# hostname
aaaa
[root@aaaa ~]#