查看及测试网络
查看网络配置
查看网络接口地址
使用ifconfig可以查看网络接口的地址配置信息。
yum -y install net-tools #安装net-tools软件包以使用ifconfig命令
[root@localhost ~]$ ifconfig
[root@localhost ~]$ ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.4.255
inet6 fe80::9106:d38b:670d:1a89 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:3a:81:cc txqueuelen 1000 (Ethernet)
RX packets 4625 bytes 428860 (418.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2302 bytes 344920 (336.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#inet:表示网络接口的IP地址
#netmask:表示网络接口的子网掩码
#broadcast:表示网络接口所在网络的广播地址
#ether:表示网络接口的物理地址(MAC 地址)
查看主机名称
[root@localhost ~]$ hostname
localhost.localdomain
查看路由表条目
[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.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
查看网络连接情况
使用netstat命令可以查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具,常用选项包括:
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n:以数字的形式显示相关的主机地址、端口等信息。
-r:显示路由表信息。
-l:显示处于监听(Listening)状态的网络连接及端口信息。
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。
通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息。结合管道命令使用“grep”命令,还可以在结果中过滤出所需要的特定记录。
[root@localhost ~]$ netstat -anpt | grep ":80"
tcp60 0 :::80 :::* LISTEN 20563/httpd
ss命令也可以查看网络连接情况,是Socket Statistics的缩写,主要用于获取socket统计信息,可以显示与netstat 命令类似的输出内容。和netstat相比能够显示更多更详细的有关TCP和连接状态的信息。而且比netstat更加快速高效。使用之前需要先安装iproute软件包
yum -y install iproute #安装iproute软件包确保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 解释为域名,把端口号解释为协议名称。
[root@localhost ~]$ ss -t state established
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 96 192.168.8.10:ssh 192.168.8.1:55213
测试网络连接
测试网络连通性
使用ping命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 Ctrl +C 组合键后中止测试,并显示最终统计结果。例:
PING 192.168.4.110 (192.168.4.110) 56(84) bytes of data. 64 bytes from 192.168.4.110: icmp_seq=1 ttl=64 time=0.313 ms
64 bytes from 192.168.4.110: icmp_seq=2 ttl=64 time=0.213 ms
^C //按 Ctrl+C 组合键中止执行
--- 192.168.4.110 ping statistics --- 8 packets transmitted, 8 received, 0% packet loss, time 8085ms
rtt min/avg/max/mdev = 0.213/0.236/0.313/0.035 ms
跟踪数据包的路由路径
yum -y install traceroute #安装traceroute软件包以使用traceroute命令
[root@localhost ~]$ traceroute 192.168.7.7
traceroute to 192.168.7.7 (192.168.7.7), 30 hops max, 40 byte packets
1 (192.168.4.1) 7.740 ms 15.581 ms 15.881 ms
2 (192.168.7.7) 19.652 ms 19.995 ms 19.942 ms
测试DNS域名解析
yum -y install nslookup #安装nslookup软件包以使用nslookup命令
例:
[root@localhost ~]$ nslookup www.google.com
Server: 202.106.0.20 #所使用的 DNS 服务器
Address: 202.106.0.20#53
Non-augthoritavite answer: #以下为DNS解析的反馈结果
Name: www.l.google.com
Address:173.194.127.51
…………
//报错信息:
#表示不能连接指定的DNS服务器
…… no servers could be reached
#表示要查找的域名不存在
…… can’t find xxx.yyy.zzz: NXDOMAIN
dig命令也可以用来测试域名解析,相对于 nslookup 命令,dig 可以得到更多的域名信息。
[root@localhost ~]$ dig baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> baidu.com // dig 的版本及输入参数
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51884
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
//以上显示服务器返回的信息,status 为 NOERROR 状态说明查询成功
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;baidu.com. IN A //显示通过 A 记录要查询的域名
;; ANSWER SECTION:
baidu.com. 585 IN A 220.181.38.148
baidu.com. 585 IN A 39.156.69.79
//经 DNS 返回后的查询结果
;; Query time: 13 msec
; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sun Sep 08 19:06:46 CST 2019
;; MSG SIZE rcvd: 70
//查询后的一些统计信息,比如用了 13 毫秒,查询 DNS 服务器的 IP 地址,查询的时间等等
[root@localhost ~]# dig @202.106.0.20 baidu.com //使用指定的 DNS 服务器来解析
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> @202.106.0.20 baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48077
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 5, ADDITIONAL: 6
//省略后续输出
设置网络地址参数
使用网络配置命令
1.修改网卡的地址、状态
ifconfig命令不仅可以用于查看网卡配置,还可以修改网卡的 IP 地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。
(1)修改网卡的IP地址和子网掩码
ifconfig 网络接口名称 IP地址 [netmask 子网掩码] 或
ifconfig 网络接口名称 IP地址[/子网掩码长度]
[root@localhost ~]$ ifconfig ens37 down
(3)为网卡绑定虚拟接口
在对服务器网络进行调试的过程中,有时需要在同一个网卡上使用一个新的IP地址,但又不能覆盖原有的IP地址导致服务程序不可用。这时可以为网卡绑定一个虚拟 的网络接口,然后为虚拟接口设置新的 IP 地址(相当于一块网卡配多个 IP 地址)。
[root@localhost ~]$ ifconfig ens33:0 172.17.17.17
[root@localhost ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.12.255
inet6 fe80::9106:d38b:670d:1a89 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:3a:81:cc txqueuelen 1000 (Ethernet)
RX packets 8791 bytes 811759 (792.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4459 bytes 584948 (571.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.17.17 netmask 255.255.0.0 broadcast 172.17.255.255
ether 00:0c:29:3a:81:cc txqueuelen 1000 (Ethernet)
2.添加、删除静态路由记录
[root@www ~]$ route add -net 192.168.3.0/24 gw 192.168.4.254 //添加静态路由
[root@www ~]$ route -n //确认添加的路由条目
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
192.168.3.0 192.168.4.254 55.255.255.0 UG 0 0 0 ens33
192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@www ~]$ route del -net 192.168.3.0/24
[root@www ~]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@www ~]$ route -n | grep "192.168.4.1" //查看原路由表中的默认网关记录
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
[root@www ~]$ route del default gw 192.168.4.1 //删除默认网关记录 192.168.4.1
[root@www ~]$ route -n | grep "192.168.4.1" //确认删除结果(检索时无输出)
[root@www ~]$ route add default gw 192.168.4.254 //添加新的默认网关记录 192.168.4.254
[root@www ~]$ route -n | grep "192.168.4.254" //确认新的默认网关记录
0.0.0.0 192.168.4.254 0.0.0.0 UG 100 0 0 ens33
3.修改主机的名称
临时修改
[root@localhost ~]$ hostname aaa
[root@localhost ~]$ bash #启动新的Shell会话,查看变化
永久修改方法1:
[root@localhost ~]$ vim /etc/hostname #进入文件删除现有的文字,然后把想要起的名字输入进去
永久修改方法2:
[root@localhost ~]$ hostnamectl set-hostname bbb
[root@localhost ~]$ bash
[root@bbb ~]$
修改网络配置文件
网络接口配置文件
网络接口的配置文件默认位于目录/etc/sysconfig/network-scripts/中,文件名格式为 “ifcfg-XXX”,其中“XXX”是网络接口的名称。
打开网卡的配置文件可以看到IP地址的部分内容如下:
TYPE=Ethernet #TYPE:设置网卡类型,“Ethernet”表示以太网。
BOOTPROTO=static #BOOTPROTO:设置网络接口的配置方式,值为“static”时表示使用静态指定的 IP地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址。
DEVICE=ens33 #DEVICE:设置网络接口的名称。
ONBOOT=yes #ONBOOT:设置网络接口是否在 Linux 操作系统启动时激活
IPADDR=192.168.4.11 #IPADDR:设置网络接口的 IP 地址
NETMASK=255.255.255.0 #NETMASK:设置网络接口的子网掩码。
GATEWAY=192.168.4.1 #GATEWAY:设置网络接口的默认网关地址。
启用、禁用网络接口配置
[root@localhost ~]$ systemctl restart network
[root@localhost ~]# ifdown ens33 #禁用ens33接口
[root@localhost ~]# ifup ens33 #启用ens33接口
4.域名解析配置文件
[root@localhost ~]$ vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1
[root@localhost ~]¥ vi /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifcfg-rh
dns=none
[logging]
#level=DEBUG
#domains=ALL
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4. localdomain4 …… //省略部分内容
119.75.218.70 www.baidu.com