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

Use*_*841 10 networking internet ping

我无法打开特定网站。这是一个由我们公司托管的网站,我知道它已经上线了。但是,这些是我的症状:

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
Run Code Online (Sandbox Code Playgroud)
  • 如果我转到浏览器并打开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
Run Code Online (Sandbox Code Playgroud)

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

  • traceroute 也会惨遭失败:
$ 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
Run Code Online (Sandbox Code Playgroud)

我已经检查了以下内容:

  • 该网站可以从我们网络中的任何其他计算机上正常访问
  • 如果我尝试直接ping或traceroute 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
Run Code Online (Sandbox Code Playgroud)

2bc*_*2bc 5

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

鉴于您已完成所有这些测试,下一步将是在两者之间使用中间跃点并从您的计算机转到网站。

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

Fail2ban 具有在指定时间内阻止 IP 的能力。

如果您可以从 Internet 代理到达那里,请使用更近的一跳。在您网络内的另一个系统上设置转发,或通过 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


Nil*_*ils 1

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

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.
Run Code Online (Sandbox Code Playgroud)

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