文章目录
- 一、查看网络配置
- 永久修改网卡
- 临时修改网卡
- 二、查看主机名称 hostname
- 三、查看路由表条目 route
- 四、查看网络连接情况netstat
- 五、获取socket统计信息ss
- 六、查看当前系统中打开的文件和进程的工具lsof
- 七、测试网络连通性ping
- 八、跟踪数据包 traceroute
- 九、域名解析 nslookup
- 十、域名解析配置文件
- 十一、本地主机映射文件
一、查看网络配置
查看所有活动的网络接口信息
ifconfig
ifconfig -a 显示所有网络接口信息
ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。
lo:“回环”网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”,子网掩码为8位,表示本机。一般用来测试。
virbr0:是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)
查看指定网络接口信息
ifconfig ens33
ens33:第一块网卡的名称(33是网卡编号)
inet:IP地址
netmask:子网掩码
broadcast:广播地址
inet6:ipv6地址
第四行:Ethernet(以太网)表示连接类型;
ether:表示为网卡的MAC地址
第五行:接受数据包个数、大小统计信息
第六行:异常接受包的个数、如丢包量、错误等
第七行:发送数据包个数、大小统计信息
第八行:发送包的个数、如丢包量、错误等
永久修改网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #在这个文件中进行配置
systemctl restart network
在 CentOS 7 操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效, 可以重新启动 network 服务或者重启主机
systemctl restart network
注:建议关闭NetworkManager服务,否则有时启动network会报错(NetworkManager图形界面的网络配置文件)
systemctl stop NetworkManager
systemctl disable NetworkManager
临时修改网卡
1.新添加一块网卡,用于实验
2.ip -a 查看到新网卡为ens36,复制ens33的内容创建一个新网卡ens36
cd /etc/sysconfig/network-scripts/
ip a
cp ifcfg-ens33 ifcfg-ens36
3.把ens36里面的配置作出修改
vim /ifcfg-ens36
NAME=ens36
DEVICE=ens36
IPADDR=192.168.44.11 #ip不能一样
4.对新建网卡进行设置
ifconfig ens36 192.168.44.11/24 #设置临时IP
ifdown ens36 #关闭ens36网卡
ifup ens36 #开启ens36网卡
ifconfig ens36:1 192.168.44.12 #1 是ens36的虚拟接口
ifconfig ens36:1 down #关闭虚拟接口,虚拟接口无法主动开启,只能重新配置
二、查看主机名称 hostname
主机名:在 Linux 操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障
临时修改hostname
hostname yy
bash #刷新主机
永久设置主机名
hostnamectl set-hostname root
三、查看路由表条目 route
route 查看主机中路由表信息
当目标网段为“default”时,表示此行是默认网关记录;
当下一跳为“gateway”时,表示目标网段是与本机直接相连的。
但是,直接执行“route”命令无法直接看出默认网关地址
route -n #查看路由,使用-n可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度
Destination 列对应目标网段的地址
Gateway 列对应下一跳路由器的地址
Iface 列对应发送数据的网络接口
ip route #查看路由配置
route add -net 192.168.200.0/24 gw 192.168.44.10 #临时添加静态路由
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口
route del -net 192.168.200.0/24 # 删除静态路由条目
添加、删除默认网关记录,需要注意的是,在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障。
四、查看网络连接情况netstat
查看系统的网络连接状态、路由表、接口统计等信息
常用参数
netstat命令 | 查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具 |
---|---|
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-l | 显示处g)于监听(Listenin状态的网络连接及端口信息。 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限 |
Proto显示连接使用的协议,
RefCnt表示连接到本套接口上的进程数量,
Types显示套接口的类型,
State显示套接口当前的状态,
Path表示连接到套接口的其它进程使用的路径名
netstat -anpt | grep sshd #显示所有 TCP 连接,以及对应的进程信息
五、获取socket统计信息ss
可以显示和 netstat 命令类似的输出内容,但是效率更高
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
-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 解释为域名,把端口号解释为协议名称。
Netid:
网络标识符,unix 或 u_str表示本地通信。
State:
连接状态。ESTAB 表示已建立的连接,即两个进程正在通过套接字通信。
Recv-Q:
接收队列,显示接收到但尚未被读取的数据量。
Send-Q:
发送队列,显示已发送但尚未确认的数据量。
Local Address:Port:
本地地址和端口,*代表本地。
Peer Address:Port:
对端地址和端口,*代表本地。
ss -tn|grep -w 22 #显示tcp协议中与端口 22 相关的信息
ss -t state established #显示所有当前处于已建立状态的 TCP 连接
ss -tnl sport le 500 #显示所有本地端口号小于或等于 500 且处于监听状态的 TCP
六、查看当前系统中打开的文件和进程的工具lsof
lsof #列出当前系统中所有进程打开的文件和文件描述符。
lsof -p #根据PID列出指定进程的文件
lsof -u #列出指定用户打开的文件:
lsof /path/to/file #列出当前打开该文件的进程
lsof -i #列出所有当前系统上的网络连接信息,包括TCP、UDP等
lsof -U #列出Unix域套接字
七、测试网络连通性ping
ping 192.168.40.20
2.
ping -c 2 192.168.40.20 # -c代表ping的次数
3.
ping -i 0.5 192.168.40.20 -i秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
4.
-w表示ping的超时时间为5s,意思是只ping5秒,5秒后结束
若看到"Destination Host Unreachable"的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭
若看到"Network is unreachable"的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。
当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到Request timeout”的反馈结果
八、跟踪数据包 traceroute
测试从当前主机到目的主机之间经过的网络节点
traceroute 192.168.44.20
traceroute命令能够比 ping 命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比 ping 命令稍慢。在网络测试与排错过程中,通常会先使用 ping 命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用traceroute命令跟踪查看是在哪个中间结点存在故障。
九、域名解析 nslookup
1.测试DNS域名解析
Server: 8.8.8.8 #当前的上连DNS服务器
Address: 8.8.8.8#53 #当前的上连DNS服务器的IP地址和端口
Non-authoritative answer: #以下为 DNS 解析的反馈结果
Name: www.google.com
Address: 199.59.148.96 #解析的IP地址
2.建议关闭NetworkManager服务,否则有时启动network会报错
systemctl stop NetworkManager
systemctl disable NetworkManager
十、域名解析配置文件
vim /etc/resolv.conf #进入域名解析配置文件
/etc/resolv.conf 文件中记录了本机默认使用的 DNS 服务器的地址信息,对该文件所做 的修改将会立刻生效。Linux 操作系统中一行一个DNS,最多可以指定 3 个(第 3 个以后的将被忽略)不同 的 DNS 服务器地址,优先使用第一个 DNS 服务器。
十一、本地主机映射文件
vim /etc/hosts
etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
若在/etc/hosts 文件中添加“192.168.233.9 www.lichen.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 192.168.223.9www.lichen.com 发送 Web 请求。
hosts文件和DNS服务器的比较
默认情况下,系统首先从hosts文件查找解析记录
hosts文件只对当前的主机有效
hosts文件可减少DNS查询过程,从而加快访问速度