网络管理员的日常职责(如管理、监控、配置和故障排除)不需要你学习复杂的第三方工具。相反,你可以使用大多数 Linux 发行版预装的现成工具来执行所有这些任务。

本文重点介绍网络管理员职责中的网络故障排除部分,并涵盖在不同类别下解决这些问题的工具。它进一步介绍了这些实用程序如何在实际场景中提供帮助。

1.ifconfig

ifconfig 是一个命令行实用程序,用于 Linux/Unix 操作系统中的接口配置。网络管理员还可以使用它在配置脚本的帮助下查询和管理接口参数。

它可以帮助你启用或禁用网络接口,并允许你将 IP 地址和网络掩码分配给选定的接口。你还可以查看所有可用接口、IP 地址、硬件地址和活动接口的最大传输单元大小。

你可以使用 up/down 参数激活/停用任何接口,如下所示:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo ifconfig up eth0
linuxmi@linuxmi:~/www.linuxmi.com$ sudo ifconfig down eth0

为接口分配 IP 地址:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo ifconfig eth0 192.168.120.5 netmask 255.255.255.0

但是,此实用程序在 Linux 发行版中并不容易使用,你可能会收到错误“ ifconfig: command not found ”。你可以通过使用发行版的包管理器安装net-tools包来解决此问题。

在 Ubuntu/Debian 上:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install net-tools

在 Fedora、CentOS 和其他基于 RPM 的发行版上:

linuxmi@linuxmi:~/www.linuxmi.com$ yum install net-tools

在 Arch Linux 上:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo pacman -S net-tools

2. ip

ip 是旧的ifconfig的替代品。但是,它的功能范围涵盖了两层 TCP/IP 协议,即数据链路层和网络层。

它显示网络接口并配置网络设备,就像 ifconfig 实用程序一样。它还通过添加/删除 ARP 缓存条目来显示和修改内核路由表。

要显示所有接口及其详细信息:

linuxmi@linuxmi:~/www.linuxmi.com$ ip addr show

添加和删​​除接口:

linuxmi@linuxmi:~/www.linuxmi.com$ ip a add 192.168.120.174 dev eth0
linuxmi@linuxmi:~/www.linuxmi.com$ ip a del 192.168.120.174 dev eth0

要启用/禁用接口的 ARP 协议,请使用 on/off 选项:

linuxmi@linuxmi:~/www.linuxmi.com$ ip link set dev eth0 arp on
linuxmi@linuxmi:~/www.linuxmi.com$ ip link set dev eth0 arp off

3. ping

ping 实用程序可帮助你识别网络和主机的可用性。它检查主机是否可访问或服务是否正在运行。你还可以使用 ping 命令检查网络连接问题,例如高延迟和包丢失。

ping 发送 ICMP(Internet 控制消息协议)回显请求消息并等待 ICMP 回显应答数据包以检查主机可用性。输出包含发送和接收的消息总数以及数据包到达目的地所需的时间。

linuxmi@linuxmi:~/www.linuxmi.com$ ping 8.8.8.8

4. netstat

netstat是一个命令行实用程序,可帮助发现已连接和正在侦听的 TCP、UDP 和 UNIX 套接字。它显示有关路由表、侦听端口和信息统计信息的信息。

你可以通过键入以下内容列出侦听或关闭的连接:

linuxmi@linuxmi:~/www.linuxmi.com$netstat -a

仅列出侦听 TCP 连接:

linuxmi@linuxmi:~/www.linuxmi.com$netstat -tl

它还允许你使用 TCP 连接列出进程的 PID 和程序名称:

root@linuxmi:/home/linuxmi/www.linuxmi.com# netstat -ptl 

5.host

host 是一个最小但最强大的 CLI 实用程序,它执行 DNS 查找并将主机名解析为 IP 地址,反之亦然。除了解决 DNS 服务器问题外,它还显示和验证 NS 和 MX DNS 记录类型以及 ISP DNS 服务器。

要在 Google 网站上查找 NX:

linuxmi@linuxmi:~/www.linuxmi.com$ host -t ns google.com

你还可以通过运行以下命令查找 MX 记录:

linuxmi@linuxmi:~/www.linuxmi.com$ host -n -t mx google.com

6. ARP

arp 命令通过添加/删除地址并显示它们来操作系统 ARP 表的缓存。ARP 代表地址解析协议,并将 IP 地址映射到机器的 MAC 地址。因此,arp 命令执行任务并属于net-tools包中可用的工具。

不带任何参数运行命令查看表格内容:

linuxmi@linuxmi:~/www.linuxmi.com$ arp 

你还可以通过提供 IP 地址找到映射到特定 IP 的 MAC 地址:

linuxmi@linuxmi:~/www.linuxmi.com$ arp 192.168.174.254

7.traceroute

一旦 ping 实用程序提供了有关网络连接和数据包到达目的地所需总时间的信息,你就可以使用traceroute命令深入了解数据包到达目标主机的路径并解决该问题。

输出显示数据包路由以及源和目标之间的所有中间主机及其响应时间。

例如,以下命令将所有跃点从本地计算机输出到目标主机 8.8.8.8 (Google):

linuxmi@linuxmi:~/www.linuxmi.com$ traceroute 8.8.8.8

该实用程序使用 IP 数据包的生存时间 (TTL) 字段,当数据包到达跃点时,它会减少一个数字,从而说明其在网络中的寿命。

该实用程序还使用往返时间 (RTT) 的概念,可确保每个中间节点丢弃数据包并发送回 ICMP 错误消息,这有助于 traceroute 测量数据包到达沿途每一跳所需的时间。

此功能可帮助网络管理员确定 Internet 连接问题的根本原因并解决路由中的确切问题。

8. dig

dig 是 Domain Information Groper 的首字母缩写词,用于收集与 DNS 相关的信息并解决 DNS 问题。

dns 命令输出显示包含 DNS 记录的文件中的可用信息,并帮助网络管理员验证主机到 IP 地址名称解析是否正常工作。

你可以按如下方式执行 DNS 查找查询:

linuxmi@linuxmi:~/www.linuxmi.com$ dig google.com

同样,你可以借助ANY选项查询与域关联的所有类型的 DNS 记录:

linuxmi@linuxmi:~/www.linuxmi.com$ dig google.com ANY

9. Wireshark

Wireshark 是一款功能强大且用途广泛的开源数据包分析工具。它实时捕获来自你选择的接口卡的流量。它允许网络管理员根据协议/端口捕获流量,以进行监控和故障排除。

除了捕获过滤器外,它还有一个显示过滤器,其中包含各种选项,可帮助你查看关注的流量。

相关:Wireshark 3.6.0 发布,功能强大的网络嗅探器 https://www.linuxmi.com/wireshark-3-6-0.html

Linux 上的网络故障排除

网络故障排除是网络管理员日常活动的一部分。知道在没有一个工具或具有更广泛功能的情况下使用哪种工具对于有效排除各种网络状况的故障同样重要。

发表回复