Mac OS X (Lion): Локальный DNS в DHCP конфигурации

В предыдущей статье я писал о том, как поднять локальный DNS сервер на Mac OS. Однако есть небольшая проблема: если IP адрес получается по DHCP, то DNS заменяется на сервер провайдера. Поскольку для мобильных устройств такая конфигурация используется в 99% случаев, надо сказать Mac OS, чтобы она не получала адрес DNS сервера по DHCP. Делается это так:

# sudo bash
# cd /System/Library/SystemConfiguration/IPConfiguration.bundle/Contents
# cp Info.plist Info.plist.old
# nano Info.plist

Находим в файле следующие строки:

<key>DHCPRequestedParameterList</key>
<array>
<integer>1</integer>
<integer>3</integer>
<integer>6</integer>
<integer>15</integer>
<integer>119</integer>
<integer>95</integer>
<integer>252</integer>
<integer>44</integer>
<integer>46</integer>
<integer>47</integer>
</array>

И удаляем элементы номер 6, 15 и 119.

Сохраняем файл. Идем в настройки сети и добавляем DNS сервер 127.0.0.1. Перезапускаем компьютер. Теперь адреса серверов от DHCP будут игнорироваться и всегда будет использоваться локальный DNS. 

Если нужно использовать DNS провайдера, то можно либо восстановить исходный файл Info.plist, либо прописать его как форвардер в настройках локального DNS.  

Это решение работает для Lion. Для Snow Leopard нужно править другой файл, подробнее расписано здесь.

1 comment to Mac OS X (Lion): Локальный DNS в DHCP конфигурации

  • Короче — не обязательно это все. После коннекта мы просто входим в настройки сети и прописываем руками статичный DNS (127.0.0.1). Все, система будет его помнить для данной APN и не будет перезаписывать новый DNS.
    Когда нам понадобится все вернуть, то просто удаляем этот DNS и вуаля! У нас настройки APN по умолчанию.

Leave a Reply to Alexey Shtol Cancel reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>