主机无法访问,我不明白为什么

主机无法访问,我不明白为什么

我无法打开特定网站。这是我们公司主办的一个网站,我知道它已经上线了。然而,这些是我的症状:

VARIABLES:
host.com - the website I can not open
x.x.x.x - the IP of host.com
192.168.0.121 - the IP of my local machine
192.168.0.1 - the gateway IP that gives access to internet
  • 如果我转到浏览器并打开http://host.com,则会出现错误(无法在 Firefox 中连接;页面在 Chrome 中不可用)
  • 如果我运行ping host.com,它会返回:
PING host.com (x.x.x.x) 56(84) bytes of data.
From 192.168.0.121 icmp_seq=1 Destination Host Unreachable
From 192.168.0.121 icmp_seq=2 Destination Host Unreachable
From 192.168.0.121 icmp_seq=3 Destination Host Unreachable

请注意这192.168.0.121是我自己机器的IP。

  • 跟踪路由也会严重失败:
$ traceroute host.com 
traceroute to host.com (x.x.x.x), 30 hops max, 52 byte packets  
1  192.168.0.121 (192.168.0.121)  3008.068 ms !H  3007.312 ms !H  3009.967 ms !H

我已经检查了以下内容:

  • 该网站可以从我们网络中的任何其他计算机上正常访问
  • 如果我尝试直接 ping 或跟踪 IP,结果是相同的
  • 该IP或网站未在我的列表中列出/etc/hosts
  • 没有防火墙规则干扰。我什至刷新了所有规则并再次尝试;相同的结果。

会是什么?

编辑:

与该特定 IP 的连接刚刚恢复。我现在可以再次连接到该网站。但以前也发生过这样的情况:我可以连接,然后就无法连接。它来来去去,而对于网络中的其他计算机和公众中的所有其他人来说,该站点始终在线。

编辑2:

问题又回来了。我们刚刚遇到了互联网故障并重置了路由器,并且在所有计算机上互联网都工作正常。在我的电脑上,互联网本身也很好。这只是这个特定的域名。我预计这会在半小时左右的时间内再次神秘地起作用,但与此同时我尝试调试这个问题。这是根据要求提供的一些数据:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0


$ nslookup host.com
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   host.com
Address: x.x.x.x (this is the right IP)

$ ip route get x.x.x.x
x.x.x.x dev eth0  src 192.168.0.121
    cache  ipid 0xc740 rtt 1.71s rttvar 1.025s cwnd 10

$ ip route get 192.168.0.121
local 192.168.0.121 dev lo  src 192.168.0.121
    cache <local>  ipid 0xf209

答案1

您的 IP 有可能在网络上重复吗?

鉴于您已完成所有这些测试,下一步将是使用中间跃点并从您的计算机访问该网站。

使用免费proxy在线。有几种可用。我以前见过这个问题,结果发现该 IP 被blacklisted blackholed目标系统占用了一段时间。

Fail2ban能够在指定时间内阻止 IP。

如果您可以通过互联网代理到达那里,那么请使用更近的一跳。在网络内的另一个系统上设置转发,或通过 SSH 连接到另一个系统并尝试访问该站点。如果仍然不能,那么剩下的唯一变量就是目标计算机或中间的路由器。

注意:我不是网络人士。但是,可能是缓存的 arp 列表包含您的 IP 和不同的 mac,或者具有您的 IP 的路由器上的其他内容由于某种原因阻止了它?

编辑:

值得尝试的事情:

  1. 互联网代理
  2. 中间跳
  3. 检查/清除您的arp缓存
  4. 从 Live CD 启动并尝试该站点
  5. ----这将把你的操作系统排除在外
  6. ----如果 Live CD 正常工作 - 将您的 IP 设置为与正常情况相同
  7. 更改您的 MAC 地址
  8. 设置虚拟接口 eth0:1

更改您的 MAC:(
ifconfig -a | grep -i hwaddr
ifconfig eth0 down
ifconfig eth0 hw ether 00:00:00:00:00:00更换为不同的 MAC)
ifconfig eth0 up

答案2

我遇到过同样的问题。在我的例子中,安装的是 Docker,它有一个docker0 IP 地址为 172.17.0.1 的网络。

docker0就我而言,我使用命令关闭接口

sudo ifconfig docker0 down

一切都很顺利。

答案3

如果你没有改变任何东西,那一定是你无法控制的东西——我猜这是一个路由器干扰或改变了通往你目标的路线。

ip route get 192.168.1.121也会很有趣。您的错误消息似乎表明本地路由问题。

更新:这在您的计算机上看起来很“正常”。

我只是有与“LinuxlyChallenged”相同的想法:重复的IP或重复的MAC。

要检查重复的 IP:

ifconfig eth0 0.0.0.0
arping -D -c 3 -I eth0 192.168.1.121
[ $? -ne 0 ] && echo Bad luck - your IP is in use.

如果这没有返回“运气不好...” - 即没有其他人回答您的 RARP,请将您的 IP 重新配置为 eth0 并继续更改您的 MAC(请参阅 LinuxlyChallenged 的​​答案 - “更改您的 MAC”部分)。

答案4

在我的例子中,该机器是 proxmox 虚拟机管理程序中的虚拟机,并且网卡的虚拟 LAN (vlan) 配置设置为标记 30。删除此标记(无标记)后,我可以成功 ping 另一台机器。

相关内容