处理每个问题必然可按具体问题进行分类,根据每一类按对应的解决思路来执行。
但像处理一个网络问题的时候,上至系统防火墙的配置、下至硬件故障。如果处理一个问题都按固定流程来进行的话,那必然效率将非常低下。下为处理网络故障的一般流程。
1、网络硬件问题检查。 (机率较低)
2、检查网卡能否正常工作。 (较高、主要表现为人为配置错误)
3、检查局域网之间联机是否正常。(非常高)
4、检查DNS是否设定正确。 (较低)
5、服务是否正常打开。 (低)
6、检查访问权限是否打开。 (较高)
假如从1至6是标准的处理网络问题的流程,这样的处理方式效率低下。处理问题可以有整体的流程,但是实际 *** 作中可先对出现机率更高的步骤进行检查、或采取2分法缩小产生问题的范围,虽然上述较的两个方法不一定对所有问题都试用,但对于大多数的网络问题来说处理效率有者显著的提升。
个人总结的情况如下。
1、lsmod | grep ip 查看相关的网卡模块是否已加载
2、ifconfig -a 能使用该命令查找到对应网卡配置信息,则说明网卡驱动程序正常
3、使用ping命令、依次ping自己、ping局域网主机、ping网关
ping自己异常,问题:服务异常、网卡配置未生效
ping局域网主机异常,问题:配置文件有误、网卡配置未生效、网线损坏
ping网关异常,问题:配置文件有误、网卡配置未生效
4、当前3步还不能正常上外网的话。所有route查看默认路由表。
处理方法:删除不必要的路由信息,并保证默认路由是从对应网关地址出去的。
5、临时停止iptables服务、SELinux服务、NetworkManager服务
6、如能上网但访问域名有异常时,那将需要检查/etc/hosts、/etc/resolv.conf两个配置
7、假如以上6步检查完毕之后,还发现不能上网。有如下可能。
7.1、主机MAC地址被路由器禁止上网
7.2、外网服务异常。如宽带账号欠费、光纤被挖断等物理攻击。
linux查看网络链接状况命令netstat 参数如下:
-a
显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
1. netstat -an | grep LISTEN
0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。
2. netstat -tln
用来查看linux的端口使用情况
3. /etc/init.d/vsftp start
是用来启动ftp端口~!
4. netstat
查看已经连接的服务端口(ESTABLISHED)
5. netstat -a
查看所有的服务端口(LISTEN,ESTABLISHED)
6. sudo netstat -ap
查看所有的服务端口并显示对应的服务程序名
7. nmap <扫描类型><扫描参数>
例如:
nmap localhost
nmap -p 1024-65535 localhost
nmap -PT 192.168.1.127-245
当我们使用 netstat
-apn 查看网络连接的时候,会发现很多类似下面的内容:
Proto Recv-Q Send-Q Local Address
Foreign Address State PID/Program name
tcp 0 52 218.104.81.152:7710
211.100.39.250:29488 ESTABLISHED 6111/1
显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢?
我们可以使用 lsof -i :7710 命令来查询:
COMMAND PID USER FD TYPE DEVICE SIZE
NODE NAME
sshd 1990 root 3u IPv4 4836 TCP *:7710
(LISTEN) 54com.cn
这样,我们就知道了7710端口是属于sshd程序的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)