[书签] Linux网络工具的系统管理员备忘单

系统管理员的日常任务包括使用网络和与其连接的设备。 通常,管理员工作站的角色是由安装了某些Linux发行版的计算机扮演的。 Linux实用程序和命令将在材料中讨论,我们今天将发布其翻译版本,其中包括一系列复杂程度不一的工具-从简单到高级,这些工具旨在解决各种网络管理任务并诊断网络问题。



在此处讨论的一些示例中,您会遇到缩写<fqdn> (完全限定域名)。 满足要求后,根据情况,将其替换为您感兴趣的站点或服务器的地址,例如,使用server-name.company.com类的server-name.company.com


顾名思义, ping实用程序用于测试网络节点之间,启动它的计算机与另一个系统之间的连接。 该实用程序使用ICMP协议,将ping发送给接收它们的远程系统响应。 使用ping也是检查网络连接性的一种好方法,这是诊断网络是否存在问题的第一步。 ping命令可与IPv4和IPv6地址一起使用。 在这里,您可以阅读有关IP地址以及如何使用它们的更多信息。

▍例子


 IPv4: ping <ip address>/<fqdn> IPv6: ping6 <ip address>/<fqdn> 

另外,Ping可用于根据站点名称查找站点的IP地址。 这是它的外观。


使用ping通过站点名称查找站点的IP地址

跟踪路由


Traceroute是一个很好的实用程序,可让您浏览计算机之间的数据传输路由。 ping命令旨在确定是否可以在两个网络节点之间建立连接,而traceroute提供了有关路由器IP地址的信息,数据通过这些路由器从您的系统传递到最后一个(例如,到网站或服务器)。 在ping命令之后,通常在网络诊断的第二步中使用traceroute命令。

▍例子


 traceroute <ip address>/<fqdn> 

远程登录


telnet实用程序允许您使用Telnet协议与远程计算机进行通信,并使用适当的命令与其进行交互。

▍例子


要组织与另一台计算机的Telnet通信会话,请使用以下命令:

 telnet <ip address>/<fqdn> 

网络统计


此命令使您可以收集有关网络的信息,并用于查找和解决网络问题;它用于检查有关接口和端口的操作的数据,检查路由表以及研究有关协议的操作的信息。 当然,该命令必须存在于系统管理员的武库中。

▍例子


要获取处于侦听模式的所有端口的列表,请使用以下命令:

 netstat -l 

以下命令显示有关所有端口的信息。 为了仅限制TCP端口,您需要使用-at开关,为了获取有关UDP端口的数据,请使用-au

 netstat -a 

要查看路由表,请使用以下命令:

 netstat -r 

这是此命令的结果。


路由表信息

这是此命令的变体,显示有关协议的统计信息:

 netstat -s 


协议统计

以下netstat调用选项使您可以找到有关每个接口的已发送和已接收数据包的信息(传输/接收,TX / RX):


已发送和已接收包裹的数据

恩克里


nmcli实用程序非常适用于管理网络连接,进行设置以及解决其他类似任务。 借助它的帮助,您可以控制NetworkManager程序并修改各种设备的网络参数。

▍例子


这是使用nmcli列出网络接口的方法:

 nmcli device 

因此,您可以在特定的界面上显示信息:

 nmcli device show <interface> 

以下命令调用选项可让您检查设备的网络连接:

 nmcli connection 


Nmcli示例

此命令允许您禁用指定的接口:

 nmcli connection down <interface> 

这允许您启用接口:

 nmcli connection up <interface> 

这是一个命令示例,该命令将具有给定VLAN号,IP地址和网关的VLAN接口添加到指定接口:

 nmcli con add type vlan con-name <connection-name> dev <interface> id <vlan-number> ipv4 <ip/cidr> gw4 <gateway-ip> 

路由选择


有许多命令可用于验证和配置路由规则。 考虑其中最有用的。

▍例子


以下命令显示为各个接口配置的所有当前路由:

 ip route 


为接口配置的路由

此命令允许您将默认网关添加到路由表:

 route add default gw <gateway-ip> 

以下命令将新的网络路由添加到路由表。 还有许多其他参数可让您执行操作,例如添加路由和默认网关等。

 route add -net <network ip/cidr> gw <gateway ip> <interface> 

使用此命令,可以从路由表中删除有关给定路由的条目:

 route del -net <network ip/cidr> 

以下是使用route命令的示例。


使用路由命令

这是用于显示邻居的当前表的命令。 此外,它还可用于添加,修改或删除有关邻居的信息:

 ip neighbor 

看一下其用法示例。


使用ip neighbor命令获取的数据

这是ip neigh命令的ip neigh


ip neigh团队详细信息

arp命令(ARP代表地址解析协议)类似于ip neighborarp实用程序显示有关IP地址与MAC地址的对应关系的数据。 使用方法如下:

 arp 

这是她打个电话的例子。


调用arp命令

Tcpdump和Wireshark


Linux为管理员提供了许多用于捕获和分析软件包的工具。 其中,例如, tcpdumpwiresharktshark等。 它们用于捕获系统传输的数据包或系统接收的数据包中的网络流量。 这使它们成为非常有价值的管理工具,可帮助您确定各种网络问题的原因。 那些比命令行更喜欢与计算机通信的命令行的人会喜欢tcpdump 。 对于喜欢图形界面的人来说, wireshark是捕获和分析软件包的绝佳工具。 tcpdump实用程序是用于捕获网络流量的基于Linux的工具。 它可以用于捕获和输出流量,并通过端口,协议和其他符号进行过滤。

▍例子


这样的命令实时显示来自给定接口的数据包:

 tcpdump -i <interface-name> 

可以使用-w标志并指定文件名将软件包保存到文件中:

 tcpdump -w <output-file.> -i <interface-name> 

这是使用tcpdump的示例。


使用tcpdump

以下版本的命令用于捕获来自源系统给定IP的数据包:

 tcpdump -i <interface> src <source-ip> 

因此,您可以捕获到达接收器系统给定地址的数据包:

 tcpdump -i <interface> dst <destination-ip> 

这是使用tcpdump捕获给定端口号的数据包的示例,例如,它可以是端口53、80、8080,依此类推:

 tcpdump -i <interface> port <port-number> 

这显示了如何使用tcpdump捕获给定协议(例如TCP,UDP或其他协议)的数据包:

 tcpdump -i <interface> <protocol> 

iptables


iptables实用程序类似于防火墙,它支持数据包过滤,它允许您通过跳过或阻止来控制流量。 该实用程序的功能范围非常广泛。 考虑一些最常见的用例。

▍例子


以下命令显示所有现有的iptables规则:

 iptables -L 

此命令删除所有现有规则:

 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 (域信息Groper)。

▍例子


以下命令在“服务器”字段中显示DNS服务器的IP地址,并在下面显示您要查找的站点的IP地址:

 nslookup <website-name.com> 

此命令显示给定网站或域的所有可用记录:

 nslookup -type=any <website-name.com> 

故障排除


这是一组命令和用于识别网络问题的重要文件的列表。

▍例子


  • ss用于显示有关套接字的统计信息的实用程序。
  • nmap <ip-address> -此命令名称是Network Mapper的缩写。 它扫描网络端口,发现主机,找出MAC地址并执行许多其他任务。
  • ip addr/ifconfig -a此命令提供有关系统所有接口上的IP地址和其他数据的信息。
  • ssh -vvv user@<ip/domain> -此命令允许您使用指定的IP地址或计算机的域名和用户名,通过SSH连接到另一台计算机。 -vvv标志使-vvv可以获取有关正在发生的事情的详细信息。
  • ethtool -S <interface> -此命令允许您在给定接口上显示统计信息。
  • ifup <interface> -此命令启用指定的接口。
  • ifdown <interface> -此命令禁用指定的接口。
  • systemctl restart network使用此命令可以重新启动系统网络子系统。
  • /etc/sysconfig/network-scripts/<interface-name> -这是接口配置文件,用于指定指定接口的IP地址,网络,网关和其他参数。 在这里,您可以指定接口是否使用DHCP模式。
  • /etc/hosts此文件包含有关主机或域与管理员配置的IP地址的对应关系的信息。
  • /etc/resolv.conf设置存储在此文件中。
  • /etc/ntp.conf此文件存储NTP设置。

总结


在这个简短的备忘单中,我们讨论了面向系统管理员的Linux网络工具。 我们希望您发现这些工具有用。

亲爱的读者们! 您使用什么来管理网络并找出网络问题的原因?

Source: https://habr.com/ru/post/zh-CN417485/


All Articles