如果您是系统管理员,您的日常任务包括管理服务器和数据中心的网络。以下 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 是一个用于管理网络连接、配置等的良好实用工具。它可用于控制 Network Manager 并修改任何设备的网络配置详细信息。
语法
- 
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 条评论