Linux管理员的系统和网络管理命令指南,每天就是个Ping?
Linux实用程序和命令的参考列表,可以使管理服务器和网络变得更加容易。如果你是系统管理员,那么你的日常任务包括管理服务器和数据中心的网络。以下Linux命令和实用程序(从基本到高级)将有助于简化网络管理。
在其中几个命令中,你将看到<fqdn>,它代表“完全限定的域名”。当你看到这个时,请根据具体情况替换你的网站URL或你的服务器(例如server-name.company.com)。
Ping
ping用于检查从系统到你尝试连接的系统的端到端连接。它使用ICMP echo数据包,当ping成功时,它会返回到你的系统。这也是检查系统/网络连接的第一步。你可以将ping命令与IPv4和IPv6地址一起使用。
句法:
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编号的虚拟LAN(VLAN)接口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>从路由表中删除特定的路由条目。
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(Domain Information Groper)实用程序。
句法:
nslookup <website-name.com>在“服务器”字段中显示DNS服务器的IP地址,并在其下方显示你尝试访问的网站的IP地址。
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标志提供了在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服务器域。