目录
一、ifconfig——查看网络配置
1、查看网络接口信息
1.1、查看所有网络接口
- ifconfig :显示已启用的网络接口,不包括禁用的设备
ifconfig
ifconfig -a
1.2、查看具体的网络接口
ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。lo:“回环”网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试
(1)第一行:以太网卡的名字不是常见的eth0,变成了ens33。
其中en代表以太网卡
ens33代表PCI接口的物理位置为(0,3), 其中横座标代表bus,纵座标代表slot
UP:代表此网络接口为启用状态(down为关闭状态)
RUNNING:代表网卡设备已连接
MULTICAST:表示支持组播
MTU:为数据包最大传输单元
(2)第二行:网卡的IP地址、子网掩码、广播地址
(3)第三行:IP v6地址
(4)第四行:Ethernet(以太网)表示连接类型;
ether:表示为网卡的MAC地址
(5)第五行:接受数据包个数、大小统计信息
(6)第六行:异常接受包的个数、如丢包量、错误等
(7)第七行:发送数据包个数、大小统计信息
(8)第八行:发送包的个数、如丢包量、错误等
2、修改网络配置
- 网络接口的配置文件默认位于/etc/sysconfig/network-script/ifcfg-ens33
cat /etc/sysconfig/network-scripts/ifcfg-ens33 #查看网络接口信息
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改网络接口信息
- TYPE=Ethernet #设置网卡类型,“Ethernet”表示以太网。
- BOOTPROTO=static #设置网络接口的配置方式,
- DEVICE=ens33 #设置网络接口的名称
- NAME=ens33 #网络接口的名称
- UUID=01f717ed-f7ac-4ac0-a209-c7c5889e3635 #设备ID
- ONBOOT=yes #设置网络接口是否在 Linux 操作系统启动时激活。
- IPADDR=172.16.88.22 # IP 地址。
- NETMASK=255.255.255.0 #子网掩码。
- GATEWAY=172.16.88.2 #默认网关地址
- DNS1=114.114.114.114 #域名解析
3、添加网络接口
添加一个网络适配器
vim ifcfg-ens36 #编辑网卡
systemctl restart network #重启网卡
ifconfig ens36 #查看网卡信息
修改配置参数
ifconfig ens37:0 192.168.10.20 netmask 255.255.255.0 #临时配置网卡的ip地址
4、禁用/激活网卡
- 禁用
ifconfig 网卡名称 down # 禁用网络
ifdown 网卡名称 #断开网卡
- 开启
ifconfig 网卡名称 up #激活网卡
ifup 网卡名称 #激活网卡
二、hostname——查看主机名称
1、查看主机名称
hostname
2、临时修改主机名称
hostname 名称
3、永久修改主机名称
hostnamectl set-hostname 名称
vim /etc/hostname
4、查看本主机ip
hostname -i
三、route——查看路由条目
- 路由表:Linux 操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。
- 直接执行“route”命令可以查看当前主机中的路由表信息
1、查看路由表信息
route -n #查看路由表
- Destination 列对应目标网段的地址
- Gateway 列对应下一跳路由器的地址
- Iface 列对应发送数据的网络接口
2、添加路由
route add -net 172.16.80.0/24 gw 172.16.88.2
#表示可以通过172.16.88.2到172.16.80.0/24网络
3、删除路由
route del -net 172.16.80.0 #删除路由
4、添加默认网关记录
route add default gw 网关ip #添加默认网关
5、删除默认网关记录
route del default gw 网关ip
四、查看网络连接情况
1、netstat
查看当前操作系统的网络连接状态、路由表、接口统计等信息。
选项 | 描述 |
---|---|
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-l | 显示处于监听(Listening)状态的网络连接及端口信息 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限) |
用法:通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息,也可以配合管道符grep过滤出特定的记录。
2、ss
- 查看网络连接情况,主要用于获取 socket 统计信息
ss 命令:它可以显示和 netstat 命令类似的输出内容。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
-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 解释为域名,把端口号解释为协议名称 |
3、查看并发连接数ss和netstat对比
time ss -o state established | wc -l
time netstat -anpt |grep EST | wc -l
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
五、ping——测试网络连通性
ping #测试网络连通性
ping 目标主机IP地址/域名
ping -c (次数)目标主机 #ping的次数
ping -c 6 172.16.88.66 #ping 6次
ping -c +(次数)-i + (秒数 )目标主机 #ping的次数和秒数
ping -c 6 -i 2 172.16.88.66 #ping 5次,每2秒发送一个包
ping -w + 秒数 目标主机 #只ping几秒
ping -w 5 172.16.88.66
- 若看到“Destination Host Unreachable”的反馈信息, 则表示目的主机不可达,可能目标地址不存在或者主机已经关闭;
- 若看到“Network is unreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机 所在的网络。
- 当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到 “Request timeout”的反馈结果
六、traceroute——跟踪数据包
traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”
traceroute 目标主机IP
七、nslookup——域名解析
nslookup 目标主机地址
域名解析配置文件
①、进入 vim /etc/resolv.conf
②、修改
当访问主机“localhost”时,就相当于访问“localhost.localdomain”。