不能ping自己

我在我的Mac上安装了无线networking连接。 (v10.5.6)连接到互联网,一切运行顺利。 我最近在设置Apache web服务器的时候发现了一个古怪的行为。 当我在网页浏览器中input我的dynamicIP( http://117.254.149.11/ )来访问我的网站页面时,它只是超时。 在terminal,我试图ping本地主机,它的工作。

$ ping localhost

PING本地主机(127.0.0.1):56个数据字节

来自127.0.0.1的64字节:icmp_seq = 0 ttl = 64时间= 0.063ms

来自127.0.0.1的64字节:icmp_seq = 1 ttl = 64时间= 0.056ms

来自127.0.0.1的64字节:icmp_seq = 2 ttl = 64时间= 0.044ms

但是,如果我ping我的IP它只会超时。

$ ping 117.254.149.11

PING 117.254.149.11(117.254.149.11):56个数据字节

^ C

— 117.254.149.11 ping统计—

发送10个数据包,接收0个数据包,100%丢包

Pinging任何其他网站虽然工作。

我完全难住了。 任何帮助将不胜感激。

  1. 确保Apache正在侦听您的WLAN卡的IP地址: LISTEN ... (其中…是Network Preferences – > AirPort – > Advanced … – > TCP / IP – > IPv4 Address的地址)。 您可以在Apache的configuration文件中configuration它 – 它们在文件系统中的位置取决于您的Apache安装(searchhttpd.conf,configuration文件应位于该目录及其子目录中)。

  2. http://117.254.149.11/您的路由器的dynamicIP或您的Mac的dynamicIP? 如果它是你的路由器,你必须configurationNAT转发到你的Mac。

确保OSX防火墙已禁用

愚蠢的问题,但你从哪里得到的IP地址? networking控制面板? 你加倍和三重检查这不是一个错字?

该地址看起来不像一个典型的内部地址。 检查Mac的networking设置,仔细检查接口的IP地址是什么。 如果这是一个外部地址,则需要启用端口转发才能工作。

您遇到了一个最stream行的networking问题,称为“数据包循环”。 你有几个select:

  • 在网关上设置路由表(需要技能)
  • /etc/hosts Linux / c:\windows\system32\drivers\etc\hosts添加几个条目,或者为每个将使用域名连接到您的服务器的工作站添加/private/etc/hosts

    192.168.1.100 xxx.com
    192.168.1.100 http://www.xxx.com

    ,其中192.168.1.100是您的服务器的本地地址(如果服务在本地机器上运行,则replace为127.0.0.1)。 这样,您的工作站将把域名翻译成本地地址(而不是查询DNS并获得外部地址)。