一 查看及测试网络
1 查看网络配置
1. ifconfig
查看所有活动的网络接口信息
- 执行ifconfig命令
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 20.0.0.11 netmask 255.255.255.0 broadcast 20.0.0.255
inet6 fe80::4b1d:3458:3504:efee prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:96:0c:a6 txqueuelen 1000 (Ethernet)
RX packets 41 bytes 5352 (5.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 57 bytes 8599 (8.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 340 bytes 29480 (28.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 340 bytes 29480 (28.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:69:04:83 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 查看指定网络接口信息
2. route命令
查看或设置主机中路由表信息
-n 选项将路由记录中的地址信息显示为数字形式
3. netstat命令
查看系统的网络连接状态、路由表、接口统计等信息
netstat [选项]
它是了解网络状态及排除网络服务故障的有效工具。以下是netstat命令常用的几个选项:
-a:显示主机中所有活动的网络连接信息(包括监听,非监听状态的服务端口) ##常用
-n:以数字的形式显示相关的主机地址,端口等信息 ##常用
-r:显示路由信息
-l:显示处于监听(listening)状态的网络连接及端口信息
-t:显示TCP协议相关信息 ##常用
-u:显示UDP协议相关的信息 ##常用
-p:显示与网络连接相关联的进程号,进程名称信息(‘该选项需要root权限’) ##常用
[root@localhost ~]# netstat -aupt
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:sunrpc 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 localhost.locald:domain 0.0.0.0:* LISTEN 1520/dnsmasq
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 1203/sshd
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN 1200/cupsd
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN 1485/master
tcp 0 0 localhos:x11-ssh-offset 0.0.0.0:* LISTEN 1843/sshd: root@pts
tcp 0 0 localhost.localdoma:ssh 20.0.0.1:57911 ESTABLISHED 1843/sshd: root@pts
tcp6 0 0 [::]:sunrpc [::]:* LISTEN 1/systemd
tcp6 0 0 [::]:ssh [::]:* LISTEN 1203/sshd
tcp6 0 0 localhost:ipp [::]:* LISTEN 1200/cupsd
tcp6 0 0 localhost:smtp [::]:* LISTEN 1485/master
tcp6 0 0 localhos:x11-ssh-offset [::]:* LISTEN 1843/sshd: root@pts
udp 0 0 localhost.locald:domain 0.0.0.0:* 1520/dnsmasq
udp 0 0 0.0.0.0:bootps 0.0.0.0:* 1520/dnsmasq
udp 0 0 0.0.0.0:37958 0.0.0.0:* 796/avahi-daemon: r
udp 0 0 0.0.0.0:mdns 0.0.0.0:* 796/avahi-daemon: r
udp 0 0 localhost:323 0.0.0.0:* 811/chronyd
udp6 0 0 localhost:323 [::]:* 811/chronyd
[root@localhost ~]#
通常使用“-anpt”组合选项,以数字形式显示当前系统中所有TCP连接信息,同时显示对应的进程信息。结合管道命令使用“grep”命令,还可以在结果中过滤出所需要的特点记录。
例如查看本机中是否有监听“TCP 22”端口(标准 Web 服务)的服务程序:
输出信息中包括 PID 号和进程名称
[root@localhost ~]# netstat -anpt | grep 22
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1520/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1203/sshd
tcp 0 36 20.0.0.11:22 20.0.0.1:57911 ESTABLISHED 1843/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 1203/sshd
4. ss命令
查看系统的网络连接情况,获取socket统计信息
ss [选项]
除了netstat,ss命令也可以查看网络连接情况,它是Socket Statistics 的缩写,
主要用于获取socket统计信息,它可以显示和netstat命令类似输出内容。但ss的优势
在于它能够显示更多更详细的有关TCP和连接状态信息,而且比netstat更快速更高效要想使用
ss命令,首先确认iproute程序包已被安装,可以通过yum方式进行安装。以下是常用选项:
-h:通过选项获取更多的使用帮助
-V:显示软件版本号
-t:显示TCP协议的sockets
-u:显示UDP协议的sockets
-n:不解析服务名称,如“22”端口不会显示成“sshd”
-l:只显示处于监听状态的端口
-p:显示监听端口的进程
-a:对TCP协议来说,既包含监听的端口,也包含建立的连接
-r:把IP解释为域名,把端口解释为协议名称
[root@localhost ~]# ss -t state established
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 20.0.0.11:ssh 20.0.0.1:57911
2.测试网络连接
1. ping命令
测试网络连通性
2. traceroute命令
跟踪数据包的路由途径
测试从当前主机到目的主机之间经过的网络节点
3. nslookup命令
测试DNS域名解析
二、设置网络地址参数
- 在Linux主机中,手动修改网络配置包括两种最基本的方法:
临时配置——使用命令调整网络参数(一般都是做维护的时候使用)
简单,快速,可直接修改运行中的网络参数
一般只适合在调试网络的过程中使用
系统重启以后,所做的修改将会直接失效 - 固定设置——通过配置文件修改网络参数
修改各项网络参数的配置文件
适合对服务器设置固定参数时使用
需要重载网络服务或者重启以后才会生效
1.使用网络配置命令
-
ifconfig——设置网络接口参数
-
route命令——设置路由记录
-
hostname命令——修改主机名
2.修改网络配置文件
- 网络接口配置文件
网络接口的配置文件默认位“/etc/sysconfig/network-scripts/”中,文件名格式为“ifcfg-xxx”,其中xxx是网络接口的名称。回环接口lo的配置文件是“ifcfg-lo”。
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static ##########将DHCP修改为static,设置网络接口的配置方式
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6b99c397-5ff0-4378-ab03-ec018e4b658e
DEVICE=ens33
ONBOOT=yes #######NO修改为yes,设置网络接口是否在系统启动时激活
IPADDR=20.0.0.11 #######设置IP地址
NETMASK=255.255.255.0 ############设置子网掩码
GATEWAY=20.0.0.2 ############设置网关
- 启用、禁用网络接口配置
- 主机名称配置文件
- 域名解析配置文件
- 本地主机映射文件