几个月来,我一直遇到连接电脑的问题,现在终于收集了足够的信息,希望有人能帮助我。我不确定问题出在我的笔记本电脑还是路由器上;笔记本电脑是 2010 年初的 Macbook Pro,运行 Mavericks,路由器是 Verizon 的,型号名称MI424WR-GEN3I
,固件版本40.21.10.3
。
一开始我无法使用 AirPlay 从我的 Macbook Pro 连接到我的 Apple TV——在我的 iPad 上一切正常,但在我的 Macbook 上总是出现连接错误。尝试通过本地 wifi 网络将我的 iPad 无线连接到我的 Macbook 的应用程序(如 AirDisplay)都不起作用。后来我意识到我无法通过 VNC 连接到我的笔记本电脑。现在,我试图将路由器上的端口转发到我的笔记本电脑,但这也不起作用。我今天试图从路由器 ping 我的笔记本电脑,但所有请求都没有通过,所以我想只是尝试从本地 IP 地址连接到我的笔记本电脑时出了问题。
我不确定问题出在路由器还是笔记本电脑上,但也许有人以前遇到过这个问题。3000
例如,如果我在端口上启动本地服务器,我可以在localhost:3000
或上正常连接到它127.0.0.1:3000
。但是,尝试在本地 IP 地址上连接到它,192.168.1.16:3000
根本不起作用。我从路由器转发的端口也不起作用,尝试连接到外部 IP 地址上的同一端口也不会将请求传递到我的笔记本电脑。
答案1
这可能是笔记本电脑上的安全设置。现代操作系统不再像以前那样开放。例如,VNC(即 OS X 中的屏幕共享)默认情况下未启用。如果您想启用屏幕共享,可以尝试此命令
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -off -restart -agent -privs -all -allowAccessFor -allUsers
因此,您可能希望查看您的应用正在使用哪些网络端口(使用位于 /System/Library/CoreServices/Applications/ 文件夹中的 Network Utility 等工具),并查看这些端口是否被阻止。您可以从任何其他使用终端命令的计算机
telnet <your_Mac_hostname_or_IP> <port#_to_test>
假设你发现一个应用程序使用端口 4000,而你的 MacBook 名为 MyMac。如果它失败了,情况会是这样的
telnet MyMac 4000
Trying 192.168.1.2...
telnet: connect to address 192.168.1.2: Operation timed out
telnet: Unable to connect to remote host
但如果端口打开了,你会看到不同的结果,如下所示
telnet MyMac 4000
Trying 192.168.1.2...
Connected to MyMac.
Escape character is '^]'.
(此时您可以按 CTRL+] 然后按“q”退出 telnet)
如果你想打开一个没有响应的端口,你可以使用这个pfctl
命令。这里有一篇很好的文章链接使用pf
命令。
希望这可以帮助。