目录
查看网络配置
查看网络接口地址
使用 ifconfig 命令可以查看网络接口的地址配置信息(Interface Configuration)。默认是没有 ifconfig 命令的,需要先通过 yum方式安装 net-tools 软件包,才有 ifconfig 命令。
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.4.255
…… //省略部分内容
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
…… //省略部分内容
“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。
lo:“回环”网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试。
查看指定的网络接口信息
当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为 ifconfig 命令的参数(不论该网络接口是否处于激活状态)。例如,执行“ifconfig ens33”命令后可以只查看网卡 ens33 的配置信息
[root@localhost ~]# ifconfig ens33
ens33: flags=4163 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
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 地址,如“192.168.4.11”。
netmask:表示网络接口的子网掩码,如“255.255.255.0”。
broadcast:表示网络接口所在网络的广播地址,如“192.168.4.255”。
ether:表示网络接口的物理地址(MAC 地址),如“00:0c:29:3a:81:cc”。网络接的物理地址通常不能更改,是网卡在生产时确定的全球唯一的硬件地址。
查看主机名称
在 Linux 操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。使用 hostname 命令可以查看当前主机的主机名,不用添加任何选项或参数
[root@localhost ~]# hostname
localhost.localdomain
查看路由表条目
直接执行“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.4 .0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
查看网络连接情况
通过 netstat 命令可以查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具。以下是 netstat 命令常用的几个选项。
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n:以数字的形式显示相关的主机地址、端口等信息。
-r:显示路由表信息。第 5 页 共 16 页
-l:显示处于监听(Listening)状态的网络连接及端口信息。
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。
除了 netstat,ss 命令也可以查看网络连接情况,它是 Socket Statistics 的缩写,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。要想使用 ss 命令,首先确保 iproute 程序包已被安装,可以通过 yum 方式进行安装。以下是 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 解释为域名,把端口号解释为协议名称。
ss 命令的输出结果,可以提供 TCP 和 UDP 的 socket 信息,以及各种服务建立的持久连结,熟悉这个命令有助于更好的发现与解决系统性能问题。例如,执行以下操作可以显示TCP 协议下已经建立的连接,“Local Address:Port”表示本地监听的 IP 和端口,“PeerAddress:Port”表示远端连接的 IP 和端口,具体 ss 的操作命令如下。
[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
测试网络连接
测试网络连通性
[root@localhost ~]# ping 192.168.4.110
跟踪数据包的路由途径
[root@localhost ~]# traceroute 192.168.7.7
测试 DNS 域名解析
nslookup 命令是用来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可。若在执行过程中提示无法找到nslookup命令,可通过yum安装bind-utils程序包的方式来解决。
[root@localhost ~]# nslookup baidu.com
root@localhost ~]# dig baidu.com
//dig和nslookup作用一致,dig可以获取更多的信息
使用网络配置命令
修改网卡的地址、状态
ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的 IP 地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。
(1)修改网卡的 IP 地址、子网掩码
需要设置网卡的地址时,命令格式如下:
ifconfig 网络接口名称 IP 地址 [ netmask 子网掩码 ]
或者
ifconfig 网络接口名称 IP 地址[/子网掩码长度]
(2)禁用、激活网络接口
需要临时禁用或者重新激活指定的网络接口时,需要结合“down”和“up”开关选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。例如,执行以下操作将会禁用网卡 ens37。
[root@localhost ~]# ifconfig ens37 down
(3)为网卡绑定虚拟接口在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的 IP地址,但是又不能覆盖原有 IP 地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的 IP 地址(相当于一块网卡配多个 IP 地址)。
[root@localhost ~]# ifconfig ens33:0 172.17.17.17
添加、删除静态路由记录
(1)添加、删除到指定网段的路由记录
添加静态路由
[root@www ~]# route add -net 192.168.3.0/24 gw 192.168.10.254
[root@www ~]# route -n
以删除路由记录
[root@www ~]# route del -net 192.168.3.0/24
[root@www ~]# route -n
(2)添加、删除默认网关记录
[root@manager ~]# route add default gw 192.168.10.254
[root@manager ~]# route del default gw 192.168.10.254
3:修改主机的名称
临时修改
[root@localhost ~]# hostname www.bdqn.com
永久修改
[root@localhost ~]# vi /etc/hostname
添加:
www.bdqn.com
永久修改(方法二)
[root@localhost ~]# hostnamectl set-hostname www.bdqn.com
[root@localhost ~]# bash
[root@www ~]#hostname
修改网络配置文件
网络接口配置文件
网络接口的配置文件默认位于目录/etc/sysconfig/network-scripts/中,文件名格式为“ifcfg-XXX”,其中“XXX”是网络接口的名称。例如,网卡 ens33 的配置文件是“ifcfg- ens33”,回环接口 lo 的配置文件是“ifcfg-lo”。
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-lo
在网卡的配置文件 ifcfg- ens33 中,可以看到设置静态 IP 地址的部分内容如下:
TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.4.11
NETMASK=255.255.255.0
GATEWAY=192.168.4.1
上述各配置项的含义及作用如下。
TYPE:设置网卡类型,“Ethernet”表示以太网。
BOOTPROTO:设置网络接口的配置方式,值为“static”时表示使用静态指定的 IP
地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址。
DEVICE:设置网络接口的名称。
ONBOOT:设置网络接口是否在 Linux 操作系统启动时激活。
IPADDR:设置网络接口的 IP 地址。
NETMASK:设置网络接口的子网掩码。
GATEWAY:设置网络接口的默认网关地址。
域名解析配置文件
(1)指定为本机提供 DNS 解析的服务器地址
[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 ##在main区域添加此行
[root@localhost ~]# [root@manager ~]# systemctl restart NetworkManager
(2)本地主机映射文件
修改/etc/hosts文件
添加ip与域名的映射
启用、禁用网络接口配置
[root@localhost ~]# systemctl restart network
或
[root@localhost ~]# ifdown ens33
[root@localhost ~]# ifup ens33
临时子接口的添加和删除
ifconfig ens33:0 10.0.0.1
ifconfig ens33:0 down