系统管理员网络管理指南

Linux 实用工具和命令的参考列表使服务器和网络管理更加容易。
357 位读者喜欢这篇内容。
open network

Opensource.com

如果您是系统管理员,您的日常任务包括管理服务器和数据中心的网络。以下 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 地址,如下所示

screenshot

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 提供路由表。

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

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

netstat-i command

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) 接口。

nmcli

路由

您可以使用许多命令来检查和配置路由。以下是一些有用的命令

语法

  • ip route 显示为各个接口配置的所有当前路由。

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

adds or deletes a new network route to the routing table
  • ip neighbor 显示当前的邻居表,可用于添加、更改或删除新的邻居。

ip neighbor

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

arp

Tcpdump 和 Wireshark

Linux 提供了许多数据包捕获工具,如 tcpdumpwiresharktshark 等。它们用于捕获传输/接收的数据包中的网络流量,因此对于系统管理员调试任何数据包丢失或相关问题非常有用。对于命令行爱好者,tcpdump 是一个很棒的工具,对于 GUI 用户,wireshark 是一个很棒的实用工具,用于捕获和分析数据包。tcpdump 是一个内置的 Linux 实用工具,用于捕获网络流量。它可以用于捕获/显示特定端口、协议等的流量。

语法

  • tcpdump -i <interface-name> 显示来自指定接口的实时数据包。可以通过添加 -w 标志和输出文件名到命令中来将数据包保存在文件中,例如:tcpdump -w <output-file.> -i <interface-name>

tcpdump -i
  • 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 条评论

文章不错,但您应该考虑使用 “ss” 而不是即将被弃用的 “netstat”。

对于 ping/traceroute 工具,别忘了 mtr,它真的很好用。

为了方便起见,host 和 dig 也非常有用,与 nslookup 一起使用。

不确定为什么还有这么多人仍然痴迷于 iptables,而 nftables 就在眼前,并且在任何合理更新的发行版中都可用。

您好,我正在尝试访问“更多 Linux 资源”中“高级 Linux 命令速查表”文章的 URL,但返回了错误代码 404。有人可以解决这个问题吗?

使用或鼓励使用 nslookup 是一种告诉其他人您实际上是一位 Windows 管理员,只是涉足 Linux 管理的好方法。该工具已被弃用大约 10 年了,现在推荐使用 dig。

据我所知,nslookup 已恢复,没有被弃用,dig 是一个非常强大的工具,尽管两者都有其优点和缺点

回复 ,作者 foobrew (未验证)

如今,默认情况下应该在所有 *nix 机器上禁用 telnet 服务器。ssh 是更好的选择。无论如何,您实际上可以使用它做更多的事情,而不是 telnet。

话虽如此,但 telnet 客户端有一件事可以做,而 ssh 做不到。它对于将手工制作的命令传递给其他服务以查看它们的响应非常有用。但是,如今的调试选项如此广泛,以至于几乎没有人费心为此目的使用 telnet。

rsync 对于抓取各种文件以进行离线分析也非常方便。它应该在每个系统管理员的故障排除工具包中。

说到这里,diff 对于比较配置文件与基线文件以查找更改非常方便。

感谢分享,我尝试包含大多数内置选项,即使我从未使用过 telnet,ssh FTW!

回复 ,作者 sgtrock

我会说 wireshark 和 tshark。

是的,两者都是很棒的实用工具!

回复 ,作者 Edmundo (未验证)

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.