一、网络不通:

1. 链路是否连通: ethtool ethN

2.网卡是否正常工作: ifconfig ethN
* 基于Debian的Linux的(永久)网络配置文件在/etc/network/interfaces,
* 基于Red Hat的Linux的(永久)网络配置文件在/etc/sysconfig/network_scripts/ifcfg-<interface>

3. 是否正确设置网关: route -n和 ping配合使用
route -n 以IP而不是主机名的形式显示网关等信息,一方面更快,另一方面不涉及DNS,通过route命令查看内核路由,检验具体的网卡是否连接到目标网路的路由,之后就可以尝试ping 网关,排查与网关之间的连接。
如果无法ping通网关,可能是网关限制了ICMP数据包,或者交换机设置的问题

4. DNS工作状况
dig www.baidu.com
nslookup www.baidu.com

DNS配置文件/etc/resolv.conf ,也可以写在网络配置文件中(网络重启后会发现/etc/resolv.conf中的映射关系就是网络配置文件中DNS映射关系)

5. 是否可以正常路由到远程主机:traceroute
traceroute www.baidu.com
想要查看网络连接,最直接最常用的命令是ping,ping得通,说明路由工作正常,但是如果ping不通,traceroute命令可以查看从当前主机到目标主机的全部“跳”的过程。traceroute和ping命令都是使用ICMP协议包。

6. 远程主机是否开放端口:telnet或者nmap
telnet 查看远程主机有没有开放某个端口
nmap 查看远程主机的端口号是否开放或者是被过略(防火墙屏蔽)
telnet 220.181.111.188 80
nmap -p 80 220.181.111.188

7. 本机查看监听端口netstat -lnp | grep :PORT 或者 lsof -i:PORT
netstat常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

 

8. 查看防火墙规则
iptables -L

 

9.Selinux:一般不会用到,如果有最好关掉,省心
getenforce、setenforce

二、网络较慢的排查

1. traceroute

前面提到的traceroute不仅可以查看路由的正确性,还可以查看网络中每一跳的延时,从而定位延时最高的网络区段。

2. iftop
iftop命令类似于top命令,查看哪些网络连接占用的带宽较多

3. tcpdump

当一切排查手段都无济于事时仍然不能找到网络速度慢、丢包严重等原因时,往往祭出杀手锏——抓包。抓包的最佳手段是在通信的双方同时抓取,这样可以同时检验发出的数据包和收到的数据包,tcpdump是常用的抓包工具。