У меня есть роутер и ноутбук. На моем ноутбуке я установил WAMP, который включает в себя Apache. Я настроил Apache для предоставления доступа через интранет. Используя IP-адрес, я могу получить доступ к серверу с любого другого ПК / мобильного устройства в моей внутренней сети. Я не хочу использовать IP-адрес, но какое-то легко запоминающееся имя, например http://free.goodies, открывает веб-страницу, которую я создал.

ПРИМЕЧАНИЕ. Маршрутизатор WiFi не будет иметь доступа к Интернету, это будет чисто внутренняя сеть, а на ноутбуке установлена операционная система Windows.

Можно ли это сделать, и если да, то как это сделать?

1 ответ1

0

Я не хочу использовать IP-адрес, но какое-то легко запоминающееся имя, например http://free.goodies, открывает веб-страницу, которую я создал.

Это можно сделать, разместив свой собственный DNS-сервер.

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


Примечание. Описанные ниже шаги относятся к Windows 7, но Windows 10 должен быть практически идентичным процессом. Кроме того, хотя эти шаги могут показаться немного утомительными, если вы правильно настроили BIND, вам редко придется возиться с ним.


Установка BIND

Сначала вам нужно будет загрузить программное обеспечение DNS-сервера. Мы будем использовать последнюю стабильную копию ISC BIND. На момент написания статьи это версия 9.10.6 (следует избегать любых нестабильных или ранних версий развертывания ).

  • Нажмите на знак +, чтобы развернуть параметры ISC BIND.

  • Нажмите "Скачать".

  • При появлении запроса в диалоговом окне выберите 32-разрядную или 64-разрядную версию (синяя кнопка / строка является ссылкой).

По завершении загрузки извлеките ZIP-файл и найдите файл с именем BINDInstall.exe. Вы должны "Запустить эту программу от имени администратора" (Свойства → Совместимость), поскольку для установки службы "ISC BIND" необходимы повышенные привилегии.

  • Установите "Целевой каталог" (где вы хотите установить BIND). Это может быть любой каталог, который вам нравится.

  • Установите учетную запись службы как «NT AUTHORITY\LocalService» (без кавычек). Не используйте "named" в качестве учетной записи службы.

  • Оставьте поля пароля пустыми.

  • Убедитесь, что "Автоматический запуск" установлен. Это обеспечит запуск BIND при запуске сервера.

  • "Сохранить файлы конфигурации после удаления" может быть проверен автоматически. Это отлично. Два оставшихся поля должны быть сняты ("Только инструменты" и "Начать привязку после установки").

  • Нажмите "Установить". Это должно зарегистрировать службу "ISC BIND" в Windows и создать две новые директории ("bin" и "etc") в "Target Directory".

BIND 9 Пример установки

Обратите внимание, что если вы использовали прямую / косую черту (т. Е. NT AUTHORITY / LocalService) вместо правильной обратной косой черты \ (т. Е. NT AUTHORITY \ LocalService), BINDInstall выдаст ошибку, указав, что поля пароля не могут быть пустыми. Вы должны использовать обратную косую черту.

Если после первого нажатия кнопки "Установить" вам будет предложено установить распространяемые файлы Visual C++, вам следует это сделать. Однако, если установщик распространяемых файлов Visual C++ говорит "Восстановить", а не "Установить", у вас уже есть нужные файлы и вы можете нажать "Отмена".

После установки необходимо дважды проверить, что служба "ISC BIND" была успешно создана в меню "Пуск" → "Администрирование" → "Службы" (поочередно меню "Пуск" → «Поиск / Выполнить» → «services.msc»).

Если служба не была успешно установлена ("ISC BIND" не отображается в окне "Службы"), перезапустите BINDInstall.exe и выберите "Удалить". Вам не нужно изменять какие-либо значения при удалении.

Повторите шаги установки, описанные выше (начиная с первого пункта "Целевой каталог"), пока служба не зарегистрируется успешно.

BIND 9: пример успешной установки службы


Настройка BIND

Вы не должны пытаться запустить BIND еще, так как у нас есть немного конфигурации, чтобы сделать.

В вашем установочном каталоге (например, C:\ISC BIND 9) у вас должно быть две папки, как упомянуто ранее ("bin" и "etc"). В этом же каталоге вручную создайте третью папку, называемую "зоны".

Когда закончите, войдите в папку "bin". Из командной строки в той же папке (Shift + щелчок правой кнопкой мыши → открыть окно командной строки здесь) выполните следующие две команды:

rndc-confgen -a
rndc-confgen > ..\etc\rndc.conf

RNDC Confgen Пример

Возвращаясь к папке "etc", должны появиться два новых файла - «rndc.key» и «rndc.conf». Пропустив их на мгновение, создайте новый файл с именем «named.conf» в "etc", например, следующим образом:

ех. C:\ISC BIND 9\etc\named.conf

# Anything with a hash (#) is a comment.

# Our basic options -- where do we find our zone files?
# This should be changed to correspond with the path to
# your zones folder.

options {
    directory "C:\ISC BIND 9\zones";
    allow-transfer { none; };

# Tack down the edges a little regarding security.

#   allow-recursion {192.168.1.0/24;}; // change IPs as required

    allow-recursion {"localnets";};

# The option below sets up DNS forwarding to outside servers.
# In this case, we route through BIND which then passes certain 
# requests to Google DNS. This is unnecessary for intranets. 

    # forwarders { 8.8.8.8; 8.8.4.4; };

};

# Local domains

zone "free.goodies" IN {
    type master;
    file "free.goodies.txt";
    allow-transfer { none; };
};

Примечание: для раздела выше, вы можете просто скопировать и вставить. Но убедитесь, что вы указали правильный путь к "зонам", как указано выше.

Сохраняя "named.conf" открытым, теперь также откройте "rndc.conf". Скопируйте весь закомментированный (#) раздел внизу файла и вставьте его в конец файла named.conf. Убедитесь, что вы раскомментировали все, что вы только что вставили в named.conf, кроме # End of named.conf.

ех. C:\ISC BIND 9\etc\named.conf (продолжение)

# This section needs the correct "secret". You will have to substitute 
# the proper rndc.conf section you generated earlier.

# Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
    algorithm hmac-md5;
    secret "2diZ8TosQlmJc15Nw3+ISh==";
};

controls {
    inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndc-key"; };
};

# End of named.conf

Создать локальный домен

Теперь, когда у нас есть базовая конфигурация BIND ("named.conf"), мы можем создать запись, подробно описывающую связь между "free.goodies" и самим сервером WAMP.

В папке "zone" создайте новый файл с именем «free.goodies.txt» (или любой другой файл, который вы положили в файл «named.conf») и сделайте так, чтобы он выглядел следующим образом:

; Enables use of e.g. http://free.goodies/
; Anything with a semi-colon is a comment

$TTL 3600               ; Default TTL
@   IN SOA  ns.free.goodies.    candyman.free.goodies. (
        2017081001  ; serial
        10800       ; Refresh period
        3600        ; Retry interval
        604800      ; Expire time
        86400 )     ; Negative caching TTL

@      NS   ns.free.goodies.

ns                  IN A        10.0.0.10       ; This entry is necessary - Use the IP of the BIND server

free.goodies.       IN A        10.0.0.10       ; A Record for the WAMP server - we're assuming its on the same server as BIND
cool                IN A        10.0.0.10       ; A Record for a subdomain on the same machine e.g. cool.free.goodies

Примечание: для раздела выше, вы можете просто скопировать и вставить снова, если хотите. Но не забудьте указать правильные IP-адреса.

Если вы когда-нибудь захотите внести изменения в этот файл, помните ...

  • не входящие в субдомен записи требуют завершающего периода "."
  • Вам необходимо обновить серийный номер (увеличить его, например, увеличить на 1).
  • Например, candyman.free.goodies может быть любым, что вы пожелаете (это адрес электронной почты с "." Для "@").
  • Ваша запись для основного домена, например, free.goodies. должен соответствовать записи зоны "named.conf", например, zone "free.goodies" IN { .
  • Вы должны перезагрузить свой сервер, чтобы увидеть любые изменения (это также относится к изменениям в named.conf)

Начиная BIND

Теперь вы можете запустить BIND в окне "Службы". Найдите службу "ISC BIND" в меню "Пуск" → "Администрирование" → "Службы" (или, опять же, меню "Пуск" → «Поиск / Выполнить» → services.msc) и нажмите "Пуск".

Если ошибок нет, служба BIND должна запуститься. Если он не запускается, в вашем файле конфигурации ("named.conf") или файле локальной доменной зоны ("free.goodies.txt") произошла ошибка.

BIND 9 Сервисный пример

Брандмауэр сервера

Для доступа к сети убедитесь, что порты 53 и 953 (как TCP, так и UDP) открыты на брандмауэре DNS-сервера для входящего и исходящего трафика. Это стандартные DNS-порты.

Настройка вашего роутера

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

Если вы хотите, чтобы этот сервер был общедоступным, вы должны убедиться, что маршрутизатор правильно перенаправляет порты 53 и 953.

Настройки маршрутизатора BIND


Успех! (Может быть)

После запуска службы ISC BIND и правильной настройки маршрутизатора вы сможете перейти, например, к http://free.goodies/ в своем браузере и получить страницу сервера WAMP.

Если ты не можешь ...

  • Дважды проверьте настройки маршрутизатора.

  • Дважды проверьте файл зоны «named.conf» и, например, «free.goodies.txt».

  • Убедитесь, что ваш сервер WAMP настроен правильно (т . Е. Он настроен на обработку http://free.goodies/ и что нет проблем с брандмауэром на сервере WAMP или BIND).

  • В браузерах на основе Chrome (Chrome, Firefox, Opera и т.д.) Обязательно используйте «/» в конце адреса вашего локального домена. Из-за встроенных функций http://free.goodies , скорее всего, вызовет ошибку, а http://free.goodies/ - нет.

  • Дважды проверьте, что BIND работает. BIND также может (в крайне редких случаях) перестать отвечать на запросы. В любом случае вы можете использовать окно "Службы", чтобы остановить и запустить BIND по мере необходимости.

Обратите внимание, что, поскольку вы (вероятно) включили управление RNDC в своей конфигурации (по крайней мере, если вы выполнили все шаги), вы можете использовать, например:

@echo off
"C:\ISC BIND 9\bin\rndc" reload
pause 

в пакетном файле (.bat), чтобы быстро перезагрузить сервер во время его работы. Это гораздо проще, чем останавливать и запускать BIND через окно "Службы", если вам нужно внести изменения в конфигурацию «named.conf» или файла вашей зоны.


Настройка виртуального хоста в WAMP

Согласно этой статье, это шаг, который вам необходимо выполнить для настройки виртуального хоста в WAMP для обработки free.goodies:

  1. Откройте httpd.conf в C:\wamp\bin\Apache#.#.#\conf\httpd.conf . Вы можете сделать копию этого для резервного копирования, прежде чем вносить какие-либо изменения.

  2. Раскомментируйте следующие строки (уберите # перед ними):

    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    

    а также

    Include conf/extra/httpd-vhosts.conf
    
  3. Сохраните httpd.conf .

  4. Теперь откройте httpd-vhosts.conf в C:\wamp\bin\Apache#.#.#\conf\httpd.conf\extra . Опять же, вы можете сделать копию этого для резервного копирования, прежде чем вносить какие-либо изменения.

  5. В конце httpd-vhosts.conf добавьте следующее:

        # Virtual host entry for the free.goodies local domain.
        # Anything beginning with a # are comments.
    
        <VirtualHost *:80>
    
            ServerName free.goodies
            #ServerAlias www.free.goodies
    
            # DocumentRoot should correspond to wherever the HTML files
            # for your free.goodies site are located. This is an example.
    
            DocumentRoot "C:/wamp/www/free-goodies"
    
            #ErrorLog "logs/free.goodies-error.log"
            #CustomLog "logs/free.goodies-access.log" common
    
            # If you have any problems with "Forbidden", try uncommenting
            # the following. You may have to alter the directory to match
            # your DocumentRoot above.
    
            #<Directory "/">
                #AllowOverride None
                #Options None
                #Require all granted
            #</Directory>
    
       </VirtualHost> 
    
  6. Сохраните httpd-vhosts.conf . Вы можете скопировать и вставить вышеизложенное непосредственно в httpd-vhosts.conf, но не забудьте указать правильные пути для вашей установки WAMP.

  7. Перезапустите все службы. Предполагая, что с вашими изменениями все в порядке, WAMP должен нормально перезапуститься и обслуживать любые запросы на http://free.goodies из соответствующего каталога.

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