Использование сетевых служб при отключении в Mac OS X - PullRequest
0 голосов
/ 15 сентября 2008

Время от времени я работаю в совершенно отключенной среде с Macbook Pro. В целях тестирования мне нужно запустить локальный DNS-сервер в сеансе VMWare. Я настроил систему поиска для использования 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

К сожалению, если я пытаюсь пропинговать или настроить соединение в браузере, DNS-имя не разрешается. Это вывод "ping www.example.com":

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

Кажется, что те инструменты, которые более интегрированы в Mac OS X 10.4 (и выше), больше не используют систему "/etc/resolv.conf". Настройка их с помощью scutil не поможет, поскольку кажется, что если беспроводной или встроенный Ethernet-интерфейс неактивен , основные сетевые функции не работают.

В Linux (например, Ubuntu) можно отключить беспроводной адаптер, не отключая возможности сети. Так что в Linux кажется, что я могу работать полностью отключенным.

Решением может быть использование петлевого соединителя Ethernet, но я бы предпочел программное решение, так как в Windows и Linux такой проблемы нет.

Ответы [ 2 ]

1 голос
/ 16 сентября 2008

В OS X, начиная с 10.4, /etc/resolv.conf больше не является каноническим расположением для IP-адресов DNS. Некоторые инструменты Unix, такие как dig и nslookup, будут использовать его напрямую, но все, что использует API Unix или Mac для поиска DNS, не будет. Вместо этого configd поддерживает базу данных, которая предоставляет гораздо больше опций, например, использование разных серверов имен для разных доменов. (Подмножество этой информации отражается в /etc/resolv.conf для совместимости.)

Вы можете редактировать информацию о сервере имен из кода с помощью SCDynamicStore или использовать scutil в интерактивном режиме или из сценария. Я разместил несколько ссылок на примеры сценариев для обоих методов здесь . Эта тема того времени, когда я пытался выяснить это, также может быть полезна.

0 голосов
/ 16 сентября 2008

Время от времени я сталкиваюсь с этим на разных ноутбуках, и я обнаружил, что самое простое - это не высокотехнологичное, не программное решение - создание петлевого соединителя Ethernet. Вы можете сделать это за 2 минуты со старым сетевым кабелем, просто отрежьте конец и присоедините пару отправки и получения чуть выше разъема RJ45. (очевидно, вашему интерфейсу нужен статический IP)

Старая школа, но полностью независимая от программного обеспечения и подходящая для работы в среде разработчиков на дальних рейсах ...:)

здесь есть простая диаграмма

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...