10

У меня была серьезная задержка с разрешением адреса сайта, и иногда вещи просто не загружались; страницы продолжают загружаться в течение 5+ минут без ошибки тайм-аута. Поэтому я настроил локальный DNS-сервер / кэш с помощью BIND в Mac OS X 10.5 (Leopard) и Mac OS X 10.6 (Snow Leopard).

Теперь, когда у меня есть Mac OS X 10.7 (Lion), у меня та же проблема, но инструкции больше не применяются к Mac OS X 10.7, и я не могу найти способ сделать это.

Кто-нибудь пытался это сделать? Существуют ли приемлемые альтернативы для DNS-серверов в Mac OS X 10.7?

Для тех, кому интересно, я уже пробовал использовать несколько внешних DNS-серверов. Только мой компьютер имеет эту проблему в сети.

4 ответа4

1

У вас явно есть проблемы с транзакциями DNS на вашем локальном компьютере. Если вы решите запустить DNS-сервер для их разрешения, вы можете столкнуться с точно такой же проблемой - когда вы будете запрашивать запись DNS, которая не разрешается вашим DNS-сервером, этот сервер должен будет запросить запись у внешнего DNS - и здесь вы идете, с той же проблемой.

Если вы решите не запускать свой собственный DNS-сервер на своем настольном компьютере (что я считаю наилучшей практикой), есть несколько шагов, которые вы можете попытаться исследовать с помощью DNS. Некоторые из них будут:

  • Попробуйте использовать 8.8.8.8 и 8.8.4.4 в качестве DNS-серверов
  • Используйте программное обеспечение для захвата пакетов для захвата DNS-трафика во время отправки DNS-запросов - углубленный анализ пакетов очень часто освещает проблему. Наблюдайте за транзакциями DNS и пытайтесь определить узкое место

Вы можете использовать Wireshark для любого анализа сетевых пакетов.

Посмотрите f9 или UDP-соединение с портом SRC 53.

С Уважением,

http://catcher.hdcs.cz

0

Если вы готовы или нуждаетесь в обновлении маршрутизатора, вы можете рассмотреть возможность приобретения маршрутизатора, который поддерживает DD-WRT или Tomato или аналогичный. Затем вы можете перехватывать все DNS-запросы в вашей сети и отправлять их на сервер кэширования привязки на вашем маршрутизаторе. Позвольте маршрутизатору сделать всю работу за вас, вместо того, чтобы нести на своем рабочем столе демон BIND или виртуальную машину.

0

Я удивлен, что никто не рекомендовал это, возможно, в той конкретной версии OS X это не работает, но вы можете вручную сопоставить IP-адреса с именами хостов (по крайней мере, обычно) с помощью /private /etc /hosts или /etc /hosts.

-1

Один из супер простых способов решить эту проблему - использовать виртуальную машину. Виртуальная машина, или сокращенно ВМ, - это, по сути, виртуальный компьютер, который будет работать вместе с Mac OS X. Вы должны установить Linux на ВМ, а затем обслуживать DNS-сервер из Linux, что тривиально.

Плюсы:

  • Это быстро и легко настроить. (Установка Ubuntu на современном Mac занимает менее 15 минут.)
  • ВМ дают вам большую гибкость. Например, если вам понадобятся какие-либо дополнительные сервисы в будущем, вероятно, будет проще просто добавить их на виртуальную машину Linux, чем пытаться установить их на OS X.

Минусы:

  • Некоторые считают это неуклюжим решением. Само собой разумеется, что не нужно прибегать к переключению операционных систем, чтобы получить что-то столь же простое, как DNS-сервер. Это смягчается тем фактом, что нам не нужно переключаться с OS X - мы можем просто запустить Linux и OS X бок о бок.
  • Для размещения всего компьютера требуется больше системных ресурсов, чем для того, чтобы OS X работала с DNS-сервером. Это смягчается тем фактом, что для размещения виртуальной машины Linux не требуется столько ресурсов, и мы можем ограничить использование виртуальной машиной большего количества ресурсов, чем необходимо для ее функционирования.

Убеждены и готовы начать? Вот краткое руководство по началу работы.

1) Загрузите и установите VirtualBox, бесплатное программное обеспечение, позволяющее создавать и запускать виртуальные машины в OS X.

2) Загрузите файл ISO для Ubuntu Server, который является самой популярной версией Linux.

3) Запустите VirtualBox. Создайте новую виртуальную машину. Не стесняйтесь оставлять все настройки по умолчанию, если хотите, или настраивать их - это не имеет значения. Тем не менее, одна важная вещь состоит в том, чтобы изменить режим сети по умолчанию (который является NAT) и установить его в мостовой режим. Это даст вашей виртуальной машине IP-адрес в вашей локальной сети.

4) Включите новую виртуальную машину. VirtualBox должен запросить у вас расположение ISO-файла, который нужно "вставить" в виртуальный привод CD-ROM, поэтому выберите ISO-сервер Ubuntu, который вы только что загрузили.

5) Теперь просто следуйте инструкциям по установке Ubuntu. Это довольно просто и очень похоже на установку OS X или Windows - вы просто продолжаете нажимать дальше.

6) После завершения вы можете войти в систему и встретить (надеюсь, знакомую) командную строку Linux. Первое, что вы, вероятно, захотите сделать, это загрузить все исправления безопасности и исправления ошибок:

sudo apt-get update && sudo apt-get upgrade -y

7) Установите BIND, который является самым популярным DNS-сервером для Ubuntu:

sudo apt-get install bind9 -y

8) Отредактируйте основной файл конфигурации BIND по своему вкусу:

sudo nano /etc/bind/named.conf

(nano - программа для редактирования текста)

https://help.ubuntu.com/community/BIND9ServerHowto

9) Запустите сервер, выполнив

sudo service bind9 start

10) Узнайте IP-адрес вашей виртуальной машины, выполнив:

ifconfig

11) Теперь, когда вы знаете IP-адрес, вы можете установить его в качестве своего DNS-сервера на OS X. И вы закончили!

Для получения дополнительной информации о содержимом файла конфигурации или о том, как настроить автоматический запуск BIND при включении виртуальной машины, ознакомьтесь с официальной документацией по Ubuntu BIND. Если вы посчитаете, что это слишком сухо, в Google также есть множество дополнительных руководств, которые могут быть немного более удобными для пользователя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .