如果您是系统管理员,您的日常任务包括管理服务器和数据中心的网络。以下 Linux 实用程序和命令(从基本到高级)将帮助您更轻松地进行网络管理。
在其中几个命令中,您会看到 <fqdn>
,它代表“完全限定域名”。当您看到这个时,请替换您的网站 URL 或您的服务器(例如,server-name.company.com
),视情况而定。
Ping
顾名思义,ping
用于检查从您的系统到您尝试连接的系统的端到端连接。它使用 ICMP 回显数据包,当 ping 成功时,这些数据包会返回到您的系统。这也是检查系统/网络连接性的良好第一步。您可以将 ping
命令与 IPv4 和 IPv6 地址一起使用。(阅读我的文章“如何在 Linux 中查找您的 IP 地址”以了解有关 IP 地址的更多信息。)
语法
- IPv4:
ping <ip address>/<fqdn>
- IPv6:
ping6 <ip address>/<fqdn>
您还可以使用 ping
将网站名称解析为其对应的 IP 地址,如下所示

Traceroute
这是一个很好的实用程序,用于跟踪从您的系统到另一个系统的完整网络路径。ping
检查端到端连接,而 traceroute
实用程序告诉您到达终端系统、网站或服务器所经过路径上的所有路由器 IP。traceroute
通常是 ping
之后用于网络连接调试的第二步。
语法
traceroute <ip address>/<fqdn>
Telnet
语法
telnet <ip address>/<fqdn>
用于 telnet 到任何服务器。
Netstat
网络统计 (netstat
) 实用程序用于解决网络连接问题,并检查接口/端口统计信息、路由表、协议统计信息等。它是任何系统管理员必备的工具。
语法
netstat -l
显示处于侦听模式的所有端口的列表。netstat -a
显示所有端口;要仅指定 TCP,请使用-at
(对于 UDP,请使用-au
)。netstat -r
提供路由表。

netstat -s
提供每个协议的统计信息摘要。

netstat -i
显示每个接口的传输/接收 (TX/RX) 数据包统计信息。

Nmcli
nmcli
是一个用于管理网络连接、配置等的良好实用程序。它可用于控制网络管理器并修改任何设备的网络配置详细信息。
语法
-
nmcli device
列出系统上的所有设备。 -
nmcli device show <interface>
显示指定接口的网络相关详细信息。 -
nmcli connection
检查设备的连接。 -
nmcli connection down <interface>
关闭指定的接口。 -
nmcli connection up <interface>
启动指定的接口。 -
nmcli con add type vlan con-name <connection-name> dev <interface> id <vlan-number> ipv4 <ip/cidr> gw4 <gateway-ip>
向特定接口添加具有指定 VLAN 号、IP 地址和网关的虚拟 LAN (VLAN) 接口。

路由
您可以使用许多命令来检查和配置路由。以下是一些有用的命令
语法
ip route
显示为各个接口配置的所有当前路由。

route add default gw <gateway-ip>
向路由表添加默认网关。route add -net <network ip/cidr> gw <gateway ip> <interface>
向路由表添加新的网络路由。还有许多其他路由参数,例如添加默认路由、默认网关等。route del -net <network ip/cidr>
从路由表中删除特定的路由条目。

ip neighbor
显示当前的邻居表,可用于添加、更改或删除新的邻居。


arp
(代表地址解析协议)与ip neighbor
类似。arp
将系统的 IP 地址映射到其对应的 MAC(媒体访问控制)地址。

Tcpdump 和 Wireshark
Linux 提供了许多数据包捕获工具,如 tcpdump
、wireshark
、tshark
等。它们用于捕获传输/接收的数据包中的网络流量,因此对于系统管理员调试任何数据包丢失或相关问题非常有用。对于命令行爱好者,tcpdump
是一个很棒的工具,对于 GUI 用户,wireshark
是一个很棒的实用程序,用于捕获和分析数据包。tcpdump
是一个内置的 Linux 实用程序,用于捕获网络流量。它可用于捕获/显示特定端口、协议等的流量。
语法
tcpdump -i <interface-name>
显示来自指定接口的实时数据包。可以通过添加-w
标志和输出文件名到命令中来将数据包保存在文件中,例如:tcpdump -w <output-file.> -i <interface-name>
。

tcpdump -i <interface> src <source-ip>
从特定源 IP 捕获数据包。tcpdump -i <interface> dst <destination-ip>
从特定目标 IP 捕获数据包。tcpdump -i <interface> port <port-number>
捕获特定端口号(如 53、80、8080 等)的流量。tcpdump -i <interface> <protocol>
捕获特定协议(如 TCP、UDP 等)的流量。
Iptables
iptables
是一个类似防火墙的数据包过滤实用程序,可以允许或阻止某些流量。此实用程序的范围非常广泛;以下是一些最常见的用途。
语法
iptables -L
列出所有现有的iptables
规则。iptables -F
删除所有现有规则。
以下命令允许来自指定端口号到指定接口的流量
iptables -A INPUT -i <interface> -p tcp –dport <port-number> -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o <interface> -p tcp -sport <port-number> -m state – state ESTABLISHED -j ACCEPT
以下命令允许环回访问系统
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Nslookup
nslookup
工具用于获取网站或域的 IP 地址映射。它也可用于获取有关您的 DNS 服务器的信息,例如网站上的所有 DNS 记录(请参见下面的示例)。与 nslookup
类似的工具是 dig
(域名信息探测器)实用程序。
语法
nslookup <website-name.com>
在“服务器”字段中显示您的 DNS 服务器的 IP 地址,并在下面给出您尝试访问的网站的 IP 地址。nslookup -type=any <website-name.com>
显示指定网站/域的所有可用记录。
网络/接口调试
以下是用于排除接口连接性或相关网络问题所需的命令和文件的摘要。
语法
ss
是一个用于转储套接字统计信息的实用程序。nmap <ip-address>
,代表网络映射器,扫描网络端口、发现主机、检测 MAC 地址等等。ip addr/ifconfig -a
提供系统所有接口的 IP 地址和相关信息。ssh -vvv user@<ip/domain>
使您能够使用指定的 IP/域和用户名 SSH 连接到另一台服务器。-vvv
标志提供在 SSH 连接到服务器时正在进行的进程的“三重详细”信息。ethtool -S <interface>
检查特定接口的统计信息。ifup <interface>
启动指定的接口。ifdown <interface>
关闭指定的接口。systemctl restart network
重启系统的网络服务。/etc/sysconfig/network-scripts/<interface-name>
是一个接口配置文件,用于为指定的接口设置 IP、网络、网关等。可以在此处设置 DHCP 模式。/etc/hosts
此文件包含自定义主机/域到 IP 的映射。/etc/resolv.conf
指定系统的 DNS 名称服务器 IP。/etc/ntp.conf
指定 NTP 服务器域。
13 条评论