六大Linux命令诊断网络连通性

几乎所有Linux实例都需要网络连接以提供服务。如果网络连接失败,服务也会失败,用户将面临连续性中断。因此,管理员必须拥有合适的工具和命令来分析与解决网络连接问题。

下面有六个可用的Linux网络命令来确认连通性。

ip

Linux网络命令中的瑞士军刀,ip命令,旨在配合子命令工作,如ip link管理和监控网络连接,ip addr 管理IP地址,以及ip route 管理路由表。你可以使用ip link show、ip addr show或ip route show来查看目前的连接状态、地址配置和路由配置。更进一步,可以使用 ip addr add dev eth0 10.0.0.10/24 来临时分配一个IP地址到eth0网络接口上。

ip 命令还提供了更高级的选项。例如,ip link set promisc on 临时设置网络接口为混杂模式,允许其捕捉所有网络上收到的数据包——不止那些注明了属于自己媒体访问控制地址(MAC地址)的数据包。ip命令与其子命令适合用于排除网络连接问题,但在重启服务器后,之前这些配置都会失效。

tcpdump

tcpdump是个Linux网络命令,可以让数据中心管理员分析网络活动。这个包嗅探工具可以捕获通过特定网口的流量。如果不带任何参数,如tcpdump -i eth0,命令将显示大量路过的数据包。另一种常见选项是使用 -w,如 tcpdump -i eth0 -w packets.pcap,可以将结果写入文件,管理员后期可以使用Wireshark应用程序进行分析。

Wireshark

Wireshark是款图形化工具,管理员可以用来分析和嗅探网络数据包。tcpdump能够通过标准输出显示捕获的网络流量,管理员可以使用Wireshark的提供的图形用户界面通过鼠标点击的方式,查看网络通信流。这个多用途工具可以执行实时数据包捕获,也可以阅读由其他工具创建的数据文件,如tcpdump。

ethtool

如果你还在使用传统的物理网卡,不是虚拟机,你会喜欢ethtool的。这个工具允许管理员监控和设置网卡的不同属性。例如,使用ethtool -i eth0 查看eth0接口的硬件信息,或者通过 ethtool -S eth0 获得关于eth0接收包的状况统计。命令 ethtool -p eth0可以让网卡上的指示灯闪烁,可以用来指示需要与eth3口交换线缆的网口,是个很好的技巧。但在此之前,请确认在用的是eth3,而不是其他网络接口。

使用ethtool时,请牢记你不可能始终都得到有用的信息,因为网卡驱动决定你能看到的内容。

ncat

一般来说,管理员会使用telnet来确认特定端口的连接,验证服务的某个特定端口是否可用。Ncat——是netcat古老工具的现代替代品。

举例来说,可以通过ncat 某主机地址 80 命令来建立往某主机80端口的连接,ncat同样还有更多高级功能,如建立两主机之间的连接。使用ncat -l 4444可以用ncat在主机上监听4444端口,接着在另外一台主机上使用 ncat某主机地址4444 来创建两台主机之间的连接。工具本身而言,不是很有用,但利用管道命令,可以实现更多选项。例如,在一台主机上使用命令 ncat -l 4444 >somefile ,在另一台主机上输入 echo hello | ncat hostname 4444,可以将其他主机上通过网络传来的命令写入本主机的文件中。

dhclient

如果你使用动态主机配置协议来获得网络上的IP地址,每个结点都需要在启动后能够联网。但是,如果DHCP服务器在客户端启动时无法访问,你会获得一个169.254范围的无效地址,而且不会自动尝试获取新地址。为避免此问题,使用dhclient命令立即申请新地址。例如可以使用Linux网络命令dhclient eth0 立即更新主以太网设备IP地址。

一些Linux网络命令已经发生了巨大的变化,但还有一些,如ifconfig,没有变化。该工具已经有些过时,而且不再显示相关信息。要解决网络连接问题,请考虑上述六项命令。
本文转自d1net(转载)

上一篇:centos下升级git版本的操作记录


下一篇:PgSQL · 最佳实践 · CPU满问题处理