【问题标题】:Using network services when disconnected in Mac OS X在 Mac OS X 中断开连接时使用网络服务
【发布时间】:2010-09-09 02:50:25
【问题描述】:

我有时会使用 Macbook Pro 在完全断开的环境中工作。出于测试目的,我需要在 VMWare 会话中运行本地 DNS 服务器。我已经将查找系统配置为使用 DNS 服务器(/etc/resolve.conf 并通过网络配置面板,它在下面使用 configd),并且像“dig”和“nslookup”这样的命令可以工作。例如,我的 DNS 服务器配置为将 www.example.com 解析为 127.0.0.1,这是“dig www.example.com”的输出:

; <<>> DiG 9.3.5-P1 <<>> www.example.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64859
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.example.com.               IN      A

;; ANSWER SECTION:
www.example.com.        86400   IN      A       127.0.0.1

;; Query time: 2 msec
;; SERVER: 172.16.35.131#53(172.16.35.131)
;; WHEN: Mon Sep 15 21:13:15 2008
;; MSG SIZE  rcvd: 49

很遗憾,如果我尝试在浏览器中 ping 或设置连接,则无法解析 DNS 名称。这是“ping www.example.com”的输出:

ping: cannot resolve www.example.com: Unknown host

似乎那些更集成在 Mac OS X 10.4(及更高版本)中的工具不再使用“/etc/resolv.conf”系统。通过 scutil 配置它们没有任何帮助,因为如果无线或内置以太网接口不活动,基本的网络功能似乎不起作用。

在 Linux(例如 Ubuntu)中,可以关闭无线适配器,而无需关闭网络功能。所以在 Linux 中,我似乎可以完全断开连接工作。

解决方案可能是使用以太网环回连接器,但我更喜欢软件解决方案,因为 Windows 和 Linux 都没有这个问题。

【问题讨论】:

    标签: macos networking


    【解决方案1】:

    在从 10.4 开始的 OS X 上,/etc/resolv.conf 不再是 DNS IP 地址的规范位置。一些 Unix 工具,如 dignslookup 将直接使用它,但任何使用 Unix 或 Mac API 进行 DNS 查找的工具都不会。相反,configd 维护一个提供更多选项的数据库,例如为不同的域使用不同的名称服务器。 (为了兼容性,此信息的一部分被镜像到/etc/resolv.conf。)

    您可以使用SCDynamicStore 从代码中编辑名称服务器信息,或者以交互方式或从脚本中使用scutil。我为这两种方法here 发布了一些示例脚本的链接。 This thread 从我试图弄清楚这些东西时开始可能也有一些用处。

    【讨论】:

      【解决方案2】:

      我不时在不同的笔记本电脑上遇到这种情况,我发现最简单的是一种技术含量低、非软件的解决方案——创建一个以太网环回连接器。您可以使用旧网线在 2 分钟内完成此操作,只需切断末端并将发送和接收对连接到 RJ45 连接器上方。 (显然你的接口需要一个静态 IP)

      老派,但完全独立于软件,适合在长途飞行的开发环境中工作...:)

      有一个简单的图表here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-15
        • 1970-01-01
        • 2010-09-10
        • 2012-06-27
        • 2016-05-07
        • 2016-11-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多