从昨天开始,我无法加载多个网站,这些网站似乎都依赖于 Akamai CDN。未受影响的网站运行正常,速度或其他方面均无问题。
我无法加载的网站是:
- www.spiegel.de
- www.facebook.com
- www.linkedin.com
- www.ebay.de
- www.amazon.de
如果我查看 Dev Tools 的网络面板,就会发现问题与 CDN 有关。我列出了一小部分存在延迟的 CDN-URL - 每个案例一个 URL。
http://cdn1.spiegel.de/images/image-668350-hpcolumnright-qdcx.jpg
https://fbstatic-a.akamaihd.net/rsrc.php/v2/ym/r/Wgh7Dplbxhi.js
http://s.c.lnkd.licdn.com/scds/common/u/img/icon/icon_bullet_grey2_4x4.png
http://rtm.ebaystatic.com/0/RTMS/Image/MERC-Electronics_HP_Flyouts_Q313-Explore-550x270.jpg
http://z-ecx.images-amazon.com/images/G/01/browser-scripts/navbarCSSDE-beacon/navbarCSSDE-beacon-min-957729118._V1_.css
现在如果我 ping 列出的域,我会得到以下结果:
raffael@raffael-GT60 ~> ping cdn1.spiegel.de
PING a1983.g.akamai.net (92.226.0.216) 56(84) bytes of data.
raffael@raffael-GT60 ~> ping fbstatic-a.akamaihd.net
PING a1168.dsw4.akamai.net (92.226.0.214) 56(84) bytes of data.
raffael@raffael-GT60 ~> ping s.c.lnkd.licdn.com
PING a1111.g.akamai.net (92.226.0.215) 56(84) bytes of data.
raffael@raffael-GT60 ~> ping rtm.ebaystatic.com
PING a1166.g.akamai.net (92.226.0.207) 56(84) bytes of data.
raffael@raffael-GT60 ~> ping z-ecx.images-amazon.com
PING a1248.g.akamai.net (92.226.0.215) 56(84) bytes of data.
就是这样 - ping 卡在一行 - 所以 ping 没有返回。但显然这不是 DNS 问题,因为域名已解析。
由于 CDN 具有位置感知功能,我与您分享我位于德国慕尼黑的情况 - 使用 O2 作为 ISP,我的 IP 一分钟前是 92.229.240.223。此外,我使用 Ubuntu 13.10,但问题也妨碍了我的 Windows 7 计算机。
我怎样才能缩小范围并调查正在发生的事情,甚至解决问题或至少提出一个临时的解决方案?
更新:
cdn1.spiegel.de 的 IP 跟踪路由结果:
raffael@raffael-GT60 ~> traceroute 92.226.0.214
traceroute to 92.226.0.214 (92.226.0.214), 30 hops max, 60 byte packets
1 o2.box (192.168.1.1) 6.701 ms 17.272 ms 22.302 ms
2 * * *
...
30 * * *
更新 #2:
我的一个朋友住在慕尼黑附近的一个小镇,他帮我 ping 了一些域名,并按预期获得了 CDN 主机的不同 IP 地址 - 因为他没有遇到任何问题:
对 cdn1.spiegel.de 执行 ping 操作可得到 IP 85.183.195.131,对 sclnkd.licdn.com 执行 ping 操作可得到 IP 85.183.195.115。我也可以毫无问题地 ping 这些 IP。
我觉得奇怪的是,Twitter 上还没有出现任何抗议——因为人们无法使用这些网站——这让我认为这个问题只是我所遇到的特定情况,并不影响整个慕尼黑。
(一个经过验证的临时解决方案是通过 Tor 进行虚拟迁移。)
答案1
这很简单,只需编辑/etc/dhcp/dhclient.conf
和替换我的 ISP 的 DNS 即可将其更改为 Google 的 DNS
#prepend domain-name-servers 127.0.0.1;
和
prepend domain-name-servers 8.8.8.8,8.8.4.4;
稍后重新启动,更改完成,可以通过以下方式确认:
nmcli dev list iface wlan0 | grep IP4
cdn1.spiegel.de 现已解析为 IP 2.16.216.113。
有关 Google DNS 的更多详细信息,请参阅这里。