vlambda博客
学习文章列表

Linux中排除网络故障时,必须要会的Linux命令有这些!运维必看!

来源:运维漫谈

接口信息

当您需要了解有关您登录的设备的网络接口的更多信息时使用接口信息命令。

IP 命令

ip a
ip -4 a
ip -6 a

查看网络信息的另一种方法是使用ifconfig,它比ip命令更容易阅读,显示的信息量没有太大差异,一个显着的区别是ifconfig显示一些基本的传输/接收统计信息,这些统计信息可能很有用,一目了然。

ifconfig

网络状态命令

添加多个选项时,可以将它们组合在一起,如下所示。

netstat -tul

如果要查看侦听端口的服务的进程 ID (pid),请使用该-p选项,需要使用sudo此命令来查看pid,否则,它不会显示。

sudo netstat -tulp

网络可用性

网络可用性命令可用于快速检查您是否可以访问网络上的主机或确定主机是否已打开电源(假设它已连接到网络)。

Ping 命令

最著名的网络命令是ping,可以快速查看是否可以通过网络访问设备,前提是它没有被防火墙阻止,由于流量不需要由路由器路由(流量保持本地),因此始终允许同一网络内的 Ping。

ping 192.168.1.10
ping thehostname

ping 将继续 ping 直到停止命令(取决于您使用的终端,可以使用键盘快捷键(例如“Ctrl + Shift + C”)关闭命令)

要指定 ping 数,请使用该-c选项以及要执行的 ping 数。

ping -c 3 192.168.1.10
ping -4 192.168.1.10
ping -6 192.168.1.10
ping -4 -c 3 192.168.1.10

跟踪路由命令

跟踪路由对于查看到达 Internet 上另一个网络所采用的路径很有用,除非您的网络中有多个路由器,否则它在您的本地网络上用处不大。

对于大多数家庭用户来说,情况并非如此,但一些家庭实验室可能会使用路由器来运行单独的内部网络,某些traceroute输出中有星号或问号,这是因为跟踪的整个路径可能并不总是显示,特别是如果防火墙配置为出于安全考虑丢弃 ICMP 流量。

traceroute 8.8.8.8
traceroute google.com

与 一样ping,可以指定 IPv4 和 IPv6。traceroute默认为 IPv4,不像ping需要指定该-4选项。

traceroute -4 google.com
traceroute -6 google.com

traceroute 还有许多其他选项,但基本命令可能对许多用户来说已经足够了。

域名系统

主机命令

host google.com

如果要指定用于 DNS 查找的 DNS 服务器。

host google.com 1.1.1.1

挖掘命令

如果希望获得更详细的 DNS 信息,该dig命令很有用,基本用法与host命令类似。

dig google.com

还可以指定用于查找的 DNS 服务器。

dig @8.8.8.8 google.com

如果想要一个域的所有 DNS 记录,可以使用该any选项。

dig google.com any

还可以指定其他 DNS 记录,例如 MX 记录。

dig google.com mx
dig -x 8.8.8.8

系统解析命令

systemd-resolve命令可用于检查当前的 DNS 服务器设置为什么,当我在设置新的内部网络或弄乱路由器上的 DNS 设置时对 DNS 问题进行故障排除时,我发现这很有帮助。如果运行以下命令,将看到一行Current DNS Server,DNS Servers其中列出了通过 DHCP 或手动设置的 DNS。

systemd-resolve --status
sudo systemd-resolve --flush-caches

该systemd-resolve命令仅对使用systemd.

DHCP

DHCP 命令非常有用,尤其是当您由于对路由器或交换机所做的更改而想要手动释放和更新 DHCP 租约时。

Dhclient 命令

如果不使用该命令,要么必须以物理方式或通过操作系统控制面板断开并重新连接到网络,要么等待 DHCP 租约到期。

要在您的设备上释放和续订 DHCP 租约,您必须按所示顺序输入以下两个命令,还需要sudo此命令的权限。

sudo dhclient -r
sudo dhclient

推荐阅读