我在 Mac 上设置了无线互联网连接。(v10.5.6)我已连接到互联网,一切运行顺利。我最近在设置 Apache Web 服务器时发现了一个奇怪的行为。当我输入我的动态 IP(http://117.254.149.11/) 来访问我的网站页面时,它刚刚超时。在终端中,我尝试 ping 本地主机,并且成功了。
$ ping 本地主机
PING 本地主机(127.0.0.1):56 个数据字节
来自 127.0.0.1 的 64 字节:icmp_seq=0 ttl=64 时间=0.063 毫秒
来自 127.0.0.1 的 64 字节:icmp_seq=1 ttl=64 时间=0.056 毫秒
来自 127.0.0.1 的 64 字节:icmp_seq=2 ttl=64 时间=0.044 毫秒
但是如果我 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%
但 Ping 任何其他站点均有效。
我完全不知所措。如能得到任何帮助我将不胜感激。
答案1
确保 Apache 正在监听您的 WLAN 卡的 IP 地址:(
LISTEN ...
其中 ... 是来自网络偏好设置 -> AirPort -> 高级... -> TCP/IP -> IPv4 地址的地址)。您可以在 Apache 的配置文件中配置此项 - 它们在文件系统中的位置取决于您的 Apache 安装(搜索 httpd.conf,配置文件应该位于该目录及其子目录中)。您的路由器的动态 IP还是
http://117.254.149.11/
Mac 的动态 IP?如果是来自路由器的 IP,则必须配置 NAT 以转发到 Mac。
答案2
确保 OSX 防火墙已禁用
答案3
愚蠢的问题,但你从哪里获得 IP 地址?网络控制面板?你再三检查过这不是打字错误吗?
该地址看起来不像是典型的内部地址。检查 Mac 的网络设置,仔细检查接口的 IP 地址。如果这是外部地址,则需要启用端口转发才能使其正常工作。
答案4
您遇到了最常见的网络问题之一,称为“数据包循环”。您有几种选择:
- 在网关上设置路由表(需要技能)
为每个将使用域名连接到服务器的工作站添加几个
/etc/hosts
适用于 Linux 或c:\windows\system32\drivers\etc\hosts
Windows 或OSX 的条目:/private/etc/hosts
192.168.1.100 xxx.com
192.168.1.100 www.xxx.com,其中 192.168.1.100 是服务器的本地地址(如果服务在本地机器上运行,请替换 127.0.0.1)。这样您的工作站就会将域名转换为本地地址(而不是查询 DNS 并获取外部地址)。