воскресенье, 23 октября 2011 г.

Проблемы с DNS resolving в 10.7 Lion

В четверг подключил кабельный интернет по технологии docsis (в Москве этим Акадо занимается, в Брно мой дом подключен к upc.cz). А за пару дней до этого обновил 10.7.1 до 10.7.2. Не знаю в 10.7.2 или еще раньше, но поломался dns resolving. Куча сайтов открывалось с огромными задержками. Использование nslookup показало, что очень долго происходит разрешение имен, а некоторый dns запросы вообще заканчивались не успешно. Поиски в гугле показали наличие проблем с Lion и dns. Но они другого характера были у людей, но все же в одном из постов на всякий случай поставили кеширующий dns сервер (dnsmasq). Я у себя его тоже поставил, и проблема исчезла. Все работает как надо.
Как ставить dnsmasq на Lion (я использую homebrew (http://mxcl.github.com/homebrew/)):
  1. ставим dnsmasq: brew install dnsmasq
  2. выполняем те команды, которые homebrew выведет на экран терминала
  3. на всякий случай говорим dnsmasq использовать не /etc/resolv.conf, а свой файл со списком dns сервером:
    1. cp /etc/resolv.conf /etc/resolv.dnsmasq.conf . В нем указываем пару публичный сервером (я использую 8.8.8.8 и 8.8.4.4)
    2. редактируем /usr/local/etc/dnsmasq.conf и добавляем туда строку "resolv-file=/etc/resolv.dnsmasq.conf"
  4. перезапускаем dnsmasq: для этого в Activity Monitor убиваем процесс dnsmasq, после чего он перезапускается автоматически.
  5. в System Preferences в сетевых настройках прописываем в качестве dns сервера адрес 127.0.0.1
UPD: Откатываю все назад, так как оказалось все проще. Оказывается все это время у меня был доступ к веб-инетрфейсу цисковского модема. Сегодня защел на него и проверил логи, а там куча сообщений о том что мой макбук флудит в сторону dns сервером, поэтому давайте заблочим их. Вырубил проверку флудинга и все заработало.