AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 752021
Accepted
Jeff Widman
Jeff Widman
Asked: 2016-01-27 21:51:03 +0800 CST2016-01-27 21:51:03 +0800 CST 2016-01-27 21:51:03 +0800 CST

无法ping通远程服务器;如何调试本地网络配置错误与我的 IP 被阻止?

  • 772

我在 104.143.14.103 管理一个 KVM VPS,由于某种原因无法访问http://pecl.php.net。

当我ping输入 PECL 服务器的 IP 地址(104.236.228.160)时,确保它不是 DNS 问题,并且每次我得到Destination Host Unreachable.

如何调试根本原因是我的服务器配置错误,还是目标服务器拒绝 ping?

我从我管理的各种其他服务器中获取 PECL 没有任何问题ping,所以我知道 PECL 不会阻止所有 ping。

ping我从我的 VPS 尝试的任何其他站点也没有问题,问题仅出在 PECL 服务器上。

我使用了我的 VPS 主机 ( http://lg.las1.ultravps.net/ )的镜子,它在 ping PECL 时没有问题。我还向主机提交了支持票,他们登录到该节点的管理程序并说他们可以成功 ping PECL。

我traceroute从另一台服务器运行到 PECL 服务器以查找倒数第二跳的 IP 地址。我可以从我的 VPS 成功地 ping 那个 IP (162.243.188.222)。

当我traceroute从 VPS 运行时,我得到:

[jeffwidman@ultravps ~]$ traceroute pecl.php.net
traceroute to pecl.php.net (104.236.228.160), 30 hops max, 60 byte packets
 1  ultravps.jeffwidman.com (104.143.14.103)  3005.478 ms !H  3005.400 ms !H  3005.270 ms !H
[jeffwidman@ultravps ~]$ traceroute 104.236.228.160
traceroute to 104.236.228.160 (104.236.228.160), 30 hops max, 60 byte packets
 1  ultravps.jeffwidman.com (104.143.14.103)  3005.916 ms !H  3005.877 ms !H  3005.867 ms !H
[jeffwidman@ultravps ~]$

我检查了多个黑名单站点,只是为了确保我没有继承错误的 IP 地址……它们都没有列出我的 IP。我也不经常点击 PECL,而且这个问题已经发生了好几天,所以如果我遇到速率限制,我会感到非常惊讶。

我还能做些什么来调试 PECL 是否阻止了我的 IP 地址,或者我的 VPS 上是否有错误配置?

输出ip route:

[jeffwidman@ultravps ~]$ ip route
default via 104.143.14.1 dev eth0  proto static  metric 100
104.0.0.0/8 dev eth0  proto kernel  scope link  src 104.143.14.103  metric 100

输出ip addr:

[jeffwidman@ultravps ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3c:d1:49:f6 brd ff:ff:ff:ff:ff:ff
    inet 104.143.14.103/8 brd 104.255.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3cff:fed1:49f6/64 scope link
       valid_lft forever preferred_lft forever
[jeffwidman@ultravps ~]$
networking
  • 2 2 个回答
  • 2283 Views

2 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2016-01-27T22:33:38+08:002016-01-27T22:33:38+08:00

    现在问题很明显了。

    您的网络接口设置了错误的前缀。

    它设置为 /8(或旧的网络掩码表示法,255.0.0.0),它告诉您的操作系统从 104.0.0.0 到 104.255.255.255(包括在内)的每个地址都与您的 VPS 在同一个 LAN 上。

    显然情况并非如此。这个范围的大部分被细分为分布在美洲各地的非常小的网络。

    因此,您的计算机不知道它是用来路由数据包的,并尝试联系同一 LAN 上任何以 104. 开头的地址,但无法找到该地址。

    要解决此问题,您需要为正确的网络掩码或 CIDR 范围重新配置网络。您可以从您的 VPS 提供商处获取此信息。

    • 11
  2. dotancohen
    2016-01-28T03:05:43+08:002016-01-28T03:05:43+08:00

    由于您正在针对一个公开可用的网站进行测试,因此为每个人或仅我个人提供恰当命名的Web 服务非常有帮助。只需将相关站点的地址输入到他们的 Web 表单中,他们就会从几个位置 ping 该地址。我还没有遇到过服务器启动但他们无法访问它的情况,即使在一些配置错误的非洲和中东地区也是如此。

    您也可以从 CLI 中使用它,只需 grep 输出span以使其更易于阅读:

    $ curl -s http://www.downforeveryoneorjustme.com/serverfault.com | grep span
      It's just you.  <a href="http:&#x2F;&#x2F;serverfault.com" class="domain">http:&#x2F;&#x2F;serverfault.com</a></span> is up.
    
    • 0

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve