在本地测试远程主机
到了这里,摆在我们面前的就有两种可能性:要么将故障范围缩小为网络问题,要么认定毛病出在主机自身。如果大家认定毛病出在主机自身,我们可以通过一系列操作检查端口80是否可用。
侦听端口测试
我们在web1上要做的第一件事就是测试端口80是否处于侦听状态。大家可以使用netstat -lnp命令来列出所有打开且处于侦听状态的端口。我们当然可以直接运行这条命令并从输出结果中筛选出自己想要的结论,但效率更高的方式则是利用grep指定显示端口80的侦听状态:
$ sudo netstat -lnp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 919/apache
第一列内容显示出端口所使用的传输协议。第二及第三列则显示接收及发送队列(这里两者都被设置为0)。现在我们要注意的是第四列,因为它列出了主机所侦听的本地地址。此处的0.0.0.0:80告诉我们该主机正侦听所有端口80流量中与其IP有关的数据。如果Apache只侦听web1的以太网地址,我们将在输出结果中看到10.1.2.5:80。
最后一列显示的是哪个进程令端口处于开放状态。这里我们看到是运行中的Apache正在进行侦听。如果大家在自己的netstat输出结果中没有看到这部分内容,则需要启动Apache服务器。
防火墙规则
如果进程正在运行且侦听端口80,那就说明可能是web1中某种形式的防火墙导致了问题的发生。利用iptables命令列出全部现有防火墙规则。如果我们的防火墙已被禁用,那么输出结果应如下所示:
$ sudo /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
请注意,默认政策被设置为ACCEPT。尽管规则本身没有问题,但防火墙仍然有可能默认弃用所有数据包。如果属于这类情况,大家会看到如下所示的输出内容:
$ sudo /sbin/iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
另一方面,如果某条防火墙规则阻断了端口80,那么输出结果则应如下所示:
$ sudo /sbin/iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with(
icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
在后一种情况下,我们显然需要修改防火墙规则,以允许服务器接收来自端口80的主机数据流量。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
Linux服务器故障排查指南7:网络缓慢状况
本文帮助大家追踪导致网络速度缓慢的各种原因:排查网络缓慢状况的故障以及DNS问题。并利用traceroute解决网络缓慢问题。
-
Linux服务器故障排查指南5:远程端口打开了吗?
现在我们已经能够路由至目标设备,但仍然无法在端口80上访问web服务器。接下来的测试意在检查端口是否打开。
-
Linux服务器故障排查指南4:我能路由至远程主机吗?
在排除了DNS问题并看到web1被正确解析为IP 10.1.2.5之后,大家需要测试自己能否路由至远程主机。假如我们的网络启用了ICMP,那么最快捷的测试办法是ping web1。
-
Linux服务器故障排查指南8:出是谁占用了带宽
有时候我们的网络缓慢并不是由远程服务器或路由器所引起,而只是因为系统中的某些进程占用了太多可用带宽。本文利用iftop找出是谁占用了带宽。