無法ping通遠端伺服器;如何調試本地網路配置錯誤與我的 IP 被阻止?
我在 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 ~]$
現在問題很明顯了。
您的網路介面設置了錯誤的前綴。
它設置為 /8(或舊的網路遮罩表示法,255.0.0.0),它告訴您的作業系統從 104.0.0.0 到 104.255.255.255(包括在內)的每個地址都與您的 VPS 在同一個 LAN 上。
顯然情況並非如此。這個範圍的大部分被細分為分佈在美洲各地的非常小的網路。
因此,您的電腦不知道它是用來路由數據包的,並嘗試聯繫同一 LAN 上任何以 104. 開頭的地址,但無法找到該地址。
要解決此問題,您需要為正確的網路遮罩或 CIDR 範圍重新配置網路。您可以從您的 VPS 提供商處獲取此資訊。