Модераторы: Warderer, Модераторы разделов
-
monterovod
- Сообщения: 4
- ОС: Debian
Помогите найти все DNS сервера в сети
Сразу , я новичок, не пинайте сильно, начинаю разбираться и копать.
Появилась задача, находясь подключеным во внутренюю сеть через DNS, мне необходимо найти ещё все существующие DNS внутри этой сети.
Заранее спасиба
-
monterovod
- Сообщения: 4
- ОС: Debian
Re: Помогите найти все DNS сервера в сети
Сообщение
monterovod » 18.02.2015 10:32
Bizdelnick писал(а): ↑
18.02.2015 10:22
Что Вы понимаете под DNS?
P. S. См. подпись.
Хорошо, так попробую, в винде в протоколах интернета есть закладка- использовать следующие адреса DNS-серверов, IP адрес получен автоматически,
Предпочитаемый DNS-сервер я знаю, благодоря которому я попал во внутреннюю сеть, но я так же знаю, что есть ещё один DNS-сервер, вот мне и надо найти его адрес.
-
Bizdelnick
- Модератор
- Сообщения: 20328
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Помогите найти все DNS сервера в сети
Сообщение
Bizdelnick » 18.02.2015 12:03
А что, по DHCP Вы их адреса не получаете?
monterovod писал(а): ↑
18.02.2015 10:32
Предпочитаемый DNS-сервер я знаю, благодоря которому я попал во внутреннюю сеть
Какое отношение DNS имеет к “попаданию во внутреннюю сеть”? Вы точно знаете, что такое DNS? Если не особо хорошо, то лучше опишите, зачем Вам всё это понадобилось.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
-
monterovod
- Сообщения: 4
- ОС: Debian
Re: Помогите найти все DNS сервера в сети
Сообщение
monterovod » 18.02.2015 12:24
Bizdelnick писал(а): ↑
18.02.2015 12:03
А что, по DHCP Вы их адреса не получаете?
monterovod писал(а): ↑
18.02.2015 10:32
Предпочитаемый DNS-сервер я знаю, благодоря которому я попал во внутреннюю сеть
Какое отношение DNS имеет к “попаданию во внутреннюю сеть”? Вы точно знаете, что такое DNS? Если не особо хорошо, то лучше опишите, зачем Вам всё это понадобилось.
Задача чисто спортивная, есть виртуальный сервак на винде2003, ищем варианты его взлома, чтобы всё это дело закрыть, повторяюсь я не профи, Установил Дебиан, как задачу для изучения, раньше сталкивался исключительно поверхностно и вот мне как новичку поставили задачу, смогу ли я найти, как новичёк второй DNS сервер и на сколько быстро.
следующая задача, попробовать увидеть фаиловую структу например.
Что такое DNS я в общих чертах представляю.
ifconfig -a не отображает его
-
Bizdelnick
- Модератор
- Сообщения: 20328
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Помогите найти все DNS сервера в сети
Сообщение
Bizdelnick » 18.02.2015 12:34
Ну если задача стоит так, то надо сканировать 53 порт TCP и UDP всех машин подсети. nmap в помощь. Если опыта нет, zenmap для начала попробуйте. Лучше начать с TCP, это быстрее.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
-
monterovod
- Сообщения: 4
- ОС: Debian
Re: Помогите найти все DNS сервера в сети
Сообщение
monterovod » 18.02.2015 12:43
Bizdelnick писал(а): ↑
18.02.2015 12:34
Ну если задача стоит так, то надо сканировать 53 порт TCP и UDP всех машин подсети. nmap в помощь. Если опыта нет, zenmap для начала попробуйте.
Спасибо за совет, до nmap добрался и нашёл то что искал
Что есть сканировать 53 порт, если можно подскажите, как должна выглядеть эта команда. Да я вижу 192.168.0.1#53.
Nslookup (name server lookup) это утилита командной строки, которую можно использовать для диагностики службы DNS, проверки DNS записей и серверов и обнаружения проблем, связанных с разрешением имен в системе DNS. Утилита nslookup изначально разработана в составе пакета BIND и в дальнейшем портирована на Windows. На данный момент утилита Nslookup входит в состав всех поддерживаемых версий Windows.
Утилита Nslookup умеет отправлять запросы на DNS сервер, который указан в настройках вашего сетевого подключения. Этот адрес считается DNS севером по умолчанию (default server). Пользователь может указать адрес любого другого доступного DNS сервера, в результате чего все следующие DNS запросы будут выполнятся уже на нем.
С помощью утилиты nslookup вы можете узнать IP адрес любого сервера по его DNS имени, выполнить обратное преобразование, получить информацию о различных DNS записях домена.
Вы можете использовать утилиту nslookup в интерактивном или не-интерактивном режиме.
Чтобы выполнить DNS запрос с помощью nslookup в неинтерактивном режиме, откройте командную строку и выполните команду:
Nslookup vmblog.ru
В данном примере мы запросили IP адрес сервера vmblog.ru. Утилита nslookup обратилась к DNS серверу (указан в строке Server) и он вернул, что этому имени соответствует IP адрес 37.252.2.22.
Такой ответ говорит о том, что ваш DNS сервер доступен и работает штатно, выполняя запросы на разрешение DNS имен.
Если же вы получит ответ вида:
Server: dns1.someserver.com
Address: хх.хх.хх.хх
*** dns1.contoso.com can't find vmblog.ru: Non-existent domain
Это означает, что для данного имени не найдено записей в DNS зоне.
В том случае, если ваш DNS сервер недоступен или не отвечает, вы получите ошибки DNS request timed out.
В этом случае проверьте, указан ли у вас правильный адрес DNS сервера и нет ли проблем с сетевым подключением у провайдера.
Строка Non-authoritative answer (Не заслуживающий доверия ответ)означает, что DNS сервер, который выполнил запрос не является владельцем зоны vmblog.ru (в его базе нет записей об этом домене), а для выполнения разрешения имени использовался рекурсивный запрос к другому DNS серверу.
Можно обратиться к авторитетному серверу, указав его адрес непосредственно в параметрах утилиты nslookup. Например, чтобы выполнить разрешение имени на DNS сервере, который содержит данный домен (authoritative server), используйте команду:nslookup vmblog.ru ns1.vmblog.ru
При запуске nslookup без параметров, утилита переходит в интерактивный режим. В этом режиме вы можете выполнять различные команды. Полный список доступных внутренних команд утилиты nslookup можно вывести, набрав знак вопроса.
Совет. Обратите внимание, что команды утилиты nslookup являются регистрозависимыми.
Для завершения работы с nslookup наберите команду exit
и нажмите Enter.
Чтобы найти DNS сервера, которые отвечают за конкретный домен (authoritative servers), выполните команды:
set query=ns
vmblog.ru
Вы можете выполнить и обратное преобразование (получить DNS имя по IP адресу), для этого просто наберите IP адрес в интерактивной строке nslookup и нажмите Enter.
Вы можете задать тип DNS записей, которые должна вернуть утилита nslookup. Например, чтобы перечислить все почтовые сервера, заданные для определенного домена, выполните команду:
nslookup -type=mx gosuslugi.ru
Не заслуживающий доверия ответ:
gosuslugi.ru MX preference = 20, mail exchanger = mx68.gosuslugi.ru
gosuslugi.ru MX preference = 10, mail exchanger = mx.gosuslugi.ru
mx68.gosuslugi.ru internet address = 109.207.8.100
mx.gosuslugi.ru internet address = 109.207.1.100
Как вы видите, у данного домене 2 MX записи с приоритетами 10 и 20 (Чем меньше число, тем выше приоритет адреса). Если запись MX не отображается, скорее всего они просто не настроены для данного домена.
Чтобы вывести все DNS записи в доменной зоне, выполните команду:
nslookup -type=any gosuslugi.ru
gosuslugi.ru nameserver = ns2.gosuslugi.ru
gosuslugi.ru nameserver = ns8-l2.nic.ru
gosuslugi.ru nameserver = ns1.gosuslugi.ru
gosuslugi.ru nameserver = ns4-l2.nic.ru
gosuslugi.ru MX preference = 10, mail exchanger = mx.gosuslugi.ru
gosuslugi.ru MX preference = 20, mail exchanger = mx68.gosuslugi.ru
ns2.gosuslugi.ru internet address = 213.59.255.175
ns8-l2.nic.ru internet address = 91.217.21.1
ns1.gosuslugi.ru internet address = 109.207.2.218
ns4-l2.nic.ru internet address = 91.217.20.1
mx.gosuslugi.ru internet address = 109.207.1.100
mx68.gosuslugi.ru internet address = 109.207.8.100
Использование опции отладки (debug) позволяет получить дополнительную информацию, содержащуюся в заголовках запросов клиента и ответов сервера (время жизни, флаги, типы записей и т.п.):
set debug
Все компьютеры, подключенные к Интернету, имеют IP-адрес, чтобы найти их через Интернет другими машинами.
Этот IP-адрес состоит из нескольких номеров для удобства в вычислительных целей.
192.0.2.1 – пример для IP-адреса.
Но эти IP-адреса не являются юзер-френдли для человека, а это означает, что людям нелегко или невозможно зппомнить IP-адреса всех важных для них машин.
Поэтому в качестве решения для этой цели была введена новая концепция под названием Domain Names.
«www.example.com» – пример имени домена.
Они просты и легко запоминаются, поскольку они являются словами с алфавитными символами.
Каждое имя домена сопоставляется с IP-адресом.
Служба DNS выполняет преобразование между этими доменными именами и IP-адресами.
DNS-сервер – это компьютерный сервер, который содержит базу данных общедоступных IP-адресов и связанных с ними доменных имен.
Когда вы вводите имя домена в свой веб-браузер, если ваш маршрутизатор не располагает достаточной информацией для преобразования имени домена в IP-адрес, он использует помощь DNS-сервера для выполнения этого преобразования, подключившись к одному из доступных DNS-серверов.
Чтобы найти IP-адрес DNS-сервера, который используется вашим маршрутизатором, можно использовать один из приведенных ниже методов.
Способ 1. Использование графического интерфейса маршрутизатора
Самый простой способ найти IP-адрес DNS-сервера вашего маршрутизатора – проверить его с помощью графического интерфейса маршрутизатора.
1. Сначала вам нужно узнать IP-адрес вашего маршрутизатора. (В большинстве случаев IP-адрес по умолчанию – 192.168.1.1)
Для машин Windows:
1.1. Если вы используете машину Windows, откройте командную строку, набрав «cmd» в строке поиска Windows.
1.2. Введите «ipconfig», чтобы просмотреть информацию о сети.
Там вы сможете увидеть данные адреса шлюза по умолчанию в разделе «Сведения о беспроводной локальной сети».
В этом случае это 192.168.1.1
Для Linux-машин:
1.3. Если вы используете машину Linux, откройте терминал.
например, на машине Ubuntu.
Терминал можно открыть, выполнив поиск на панели поиска.
Здесь есть 2 IP-адреса, а один с самой низкой метрикой выбран в качестве IP-адреса по умолчанию, который в этом случае равен 10.8.0.1
2. Затем введите этот IP-адрес в адресную строку вашего веб-браузера, и вам будет предложено ввести имя пользователя и пароль, чтобы получить доступ к веб-интерфейсу вашего маршрутизатора
3. Затем на вкладке «Статус» вы сможете просматривать информацию DNS вашего маршрутизатора
Способ 2. Использование команд Windows
2.1. Один из способов – использовать команду nslookup.
Эта команда предоставляет вам информацию о поиске DNS.
Чтобы просмотреть их, вы можете ввести в командной строке:
Первые 2 строки вывода предоставляют вам данные DNS-сервера.
2.2. Второй способ – использовать команду «ipconfig / all» в командной строке:
Как вы можете видеть, 192.168.8.1 является DNS-адресом в соответствии с указанным выше выводом.
Способ 3: Использование команд Linux
В дистрибутивах Linux данные DNS могут быть извлечены из команд «host» или «dig»
host: host command – это утилита, которая выполняет поиск DNS.
Поэтому данные DNS-сервера можно просмотреть, как показано ниже:
Согласно вышеприведенному выводу, 10.0.10.11 является IP-адресом DNS-сервера.
dig: dig – инструмент, который используется для запроса DNS-серверов имен для получения информации о адресах хостов, почтовых обменах, серверах имен и соответствующей информации.
см. также Разрешение доменных имен с командой dig в Linux
Как показано выше, эта команда предоставляет вам IP-адрес DNS-сервера, который используется вашим маршрутизатором.
Однако в некоторых случаях вы можете определить IP-адреса DNS-серверов, которые необходимы вашему компьютеру для использования, а затем их также можно передать на ваш маршрутизатор.
Их можно определить в файле ‘/etc/resolv.conf’, а его содержимое можно посмотреть:
В соответствии с вышеизложенным приоритет присваивается 10.0.80.11, и только если он не может получить соответствующую информацию, данные передаются в 10.0.80.12 для выполнения DNS-запроса.
Способ 4. Возьмите дамп пакетов и просмотрите данные DNS.
Чтобы взять пакетный дамп текущего сетевого трафика, можно использовать команду tcpdump.
Tcpdump – это инструмент анализа сетевых пакетов, в котором используются пакеты захвата или фильтрации tcp / ip, которые передаются по сети.
Он широко используется пользователями Linux для устранения неполадок в сети.
Чтобы просмотреть сетевой трафик, выполните команду ниже в от рута отдельной вкладки в терминале
tcpdump -n -s 1500 -i eth0 udp port 53
Затем на другой вкладке генерируйте трафик DNS с помощью команды host или dig, как показано ниже.
host www.google.com
Затем вы сможете увидеть аналогичный вывод ниже, в выводе tcpdump
В приведенном выше примере вы можете четко увидеть мою машину (IP-адрес 192.168.64.140) с DNS-сервером (IP-адрес 192.168.64.2) о доменном имени www.google.com
Данные DNS можно узнать из свойств подключения к интернету или локальной сети. Также можно воспользоваться специальными информационными сайтами. Некоторые провайдеры предоставляют подобную информацию при помощи официального сайта или другими способами.
Вам понадобится
- – подключение к интернету.
Инструкция
Если вы хотите узнать DNS-сервер вашего провайдера, запустите командную строку при помощи утилиты «Выполнить» в меню «Пуск» операционной системы Windows XP или в поисковой строке Windows Vista или Seven. Впишите в нее cmd и нажмите на клавишу Enter, после чего у вас на экране должно отобразиться небольшое окно черного цвета.
Использую латинскую раскладку клавиатуры, введите ipconfig/all. У вас должна отобразиться наиболее полная информация об используемом провайдере, включая его DNS-сервер. Обратите внимание, что на момент выполнения данного действия необходимо, чтобы подключение по локальной сети и интернет-соединение должны быть включены.
Чтобы узнать DNS вашего провайдера, зайдите на его официальный сайт или воспользуйтесь другим достоверным источником информации, после чего просмотрите данные касаемо этой информации в справочном разделе. Также часто подобная информация предоставляется на картах оплаты и в справочным буклетам, предоставляемых клиентам компании.
Позвоните в службу технической поддержки используемого вами провайдера интернета, после чего перейдите в раздел получения справочной информации, если такой предусмотрен системой автоответа, если он отсутствует, свяжитесь с работником службы техподдержки для получения интересующей вас информации.
Щелкните дважды левой кнопкой мыши по вашему значку активного-интернет-соединения на панели быстрого доступа в правом нижнем углу экрана. У вас должно открыться небольшое окно, содержащее в себе информацию о подключении. Перейдите в нем на вкладку с названием «Сведения» и просмотрите данные используемого DNS-сервера. Также данные DNS вы можете найти на различных сайтах, посвященных справочной информации провайдеров интернета.
Видео по теме
Полезный совет
Учитесь пользоваться командной строкой.
Источники:
- как узнать у меня xp или нет
Войти на сайт
или
Забыли пароль?
Еще не зарегистрированы?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
На чтение 24 мин Просмотров 26.2к. Опубликовано 21.10.2019
Обновлено 23.10.2022
Приветствую, уважаемые читатели на третьей части цикла!
В прошлый раз мы установили и настроили Систему виртуализации Proxmox-VE.
Список цикла статей:
- Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка
- Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox
- Домашний Сервер: Часть 3 — Внутренний DNS или свои доменные имена в локальной сети (вы тут)
- Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
Содержание
- Предисловие
- Установка контейнера LXC в Proxmox-VE
- Установка и настройка DNS сервиса BIND9
- Описание локальных доменных зон
- Настройка локальной сети для обработки внутренних DNS запросов
- Настройка открытия WEB интерфейса Proxmox-VE по доменному имени
- Заключение
- UPD: 21.06.2020
Предисловие
В данной статье мы установим отдельный контейнер LXC, я кратко расскажу чем контейнеры отличаются от обычных виртуальных машин.
Установим и настроим сервис для обработки доменных имен в своей локальной сети BIND9
Настроим роутер(MikroTik) и сеть для того, чтобы наши устройства в локальной сети могли находить наши доменные имена.
И для примера настроим наш PVE1(сам сервер) для доступа к нему по доменному имени, а не IP адресу.
Для чего вообще это делать?
В общих чертах это не обязательно, но намного приятнее обращаться к своим сервисам по привычному доменному имени, а не IP адресу.
Например к медиасервису Plex я обращаюсь по адресу plex.gregory-gost.ru, а не 192.168.88.8:32400/web. Согласитесь удобнее 🙂
Вроде ничего не упустил 🙂 Кому интересно прошу далее под кат!
Текста много, предупреждаю сразу 😉
Установка контейнера LXC в Proxmox-VE
Для того, чтобы наш DNS сервис работал самостоятельно и не зависел от наших попыток, что-то сломать сделать, я его установил в отдельный LXC контейнер(виртуальную среду).
Что такое LXC контейнер?
LXC (англ. Linux Containers) — система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы Linux на одном узле. LXC не использует виртуальные машины, а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком. Все экземпляры LXC используют один экземпляр ядра операционной системы.
В чем отличие обычной Виртуальной машины от LXC контейнера?
Подробно разбирать не буду, к данной статье это не относится. Просто для справки опишу основное отличие:
Контейнер использует ядро операционной системы сервера. У виртуальной машины может быть совершенно отличное ядро. Для лучшего понимания — в виртуальной машине можно запустить почти все, от Windows, до специфических Linux систем, а в контейнере можно запустить только Linux систему с тем же ядром, Windows уже не запустишь.
Начнем мы с добавления в наш сервер специального шаблона(Template) операционной системы. В Proxmox их можно скачать из своих репозиториев.
Откроем панель управления через WEB по IP адресу. И перейдем к нашему хранилищу Local(pve1), потом переходим к содержимому(Content) и нажмем кнопку Шаблоны(Templates)
Т.к. наш Proxmox основан на ОС Debian, то я принял для себя решение использовать LXC Debian 9 версии. Мне с ними удобнее работать. Если опыт вам позволяет, то вы можете использовать и другие дистрибутивы, благо выбор позволяет. В 17 версии Proxmox доступен также Alpine, который используют практически во всех Docker контейнерах, как один из самых легковесных.
Находим нужный шаблон и грузим его.
Нам остается только подождать окончания загрузки.
Начинаем установку.
Проводим действия по настройке контейнера
Запускаем контейнер по кнопке Start если еще не сделали это сами 🙂
Все дальнейшие действия будем проводить через консоль:
Далее начинается сам процесс установки и настройки DNS сервиса…
Установка и настройка DNS сервиса BIND9
Обновляем контейнер
apt update && apt full-upgrade -y
Устанавливаем BIND9
apt install bind9 -y
Ждем окончания установки и пока останавливаем сервис
service bind9 stop
Для того, чтобы все работало как нужно в моей нашей сети, необходимо продумать как будут проходить запросы от сети с другим шлюзом и другим роутером обрабатывающим основные DNS запросы не относящиеся к нашей локальной сети.
Согласно статьи: Создание домашней сети на базе устройств MikroTik: Часть 7 – Firewall правильное перенаправление портов в сети с двумя шлюзами
Необходимо сделать так, чтобы локальный DNS сервис корректно обрабатывал локальное доменное имя, а остальные запросы отправлял основному роутеру(шлюзу)
Все файлы настроек и зон в bind9 находятся по пути /etc/bind/
root@DNS:~# ls -l /etc/bind/
total 55
-rw-r--r-- 1 root root 3923 May 3 20:34 bind.keys
-rw-r--r-- 1 root root 237 May 3 20:34 db.0
-rw-r--r-- 1 root root 271 May 3 20:34 db.127
-rw-r--r-- 1 root root 237 May 3 20:34 db.255
-rw-r--r-- 1 root root 353 May 3 20:34 db.empty
-rw-r--r-- 1 root root 270 May 3 20:34 db.local
-rw-r--r-- 1 root root 3171 May 3 20:34 db.root
-rw-r--r-- 1 root bind 463 May 3 20:34 named.conf
-rw-r--r-- 1 root bind 490 May 3 20:34 named.conf.default-zones
-rw-r--r-- 1 root bind 165 May 3 20:34 named.conf.local
-rw-r--r-- 1 root bind 890 Oct 20 17:13 named.conf.options
-rw-r----- 1 bind bind 77 Oct 20 17:13 rndc.key
-rw-r--r-- 1 root root 1317 May 3 20:34 zones.rfc1918
Я решил немного изменить принцип хранения файлов и зон, чтобы было удобнее.
Вот к такому виду необходимо привести конструкцию. Давайте разбираться, что тут и к чему!
root@DNS:~# ls -l /etc/bind/
total 45
drwxr-sr-x 2 root bind 5 Oct 20 20:44 key
-rw-r--r-- 1 root bind 554 Oct 20 20:46 named.conf
-rw-r--r-- 1 root bind 1044 Oct 13 18:32 named.conf.acl
-rw-r--r-- 1 root bind 514 Oct 13 18:33 named.conf.default-zones
-rw-r--r-- 1 root bind 917 Oct 13 18:33 named.conf.local-zones
-rw-r--r-- 1 root bind 891 Oct 13 18:36 named.conf.logging
-rw-r--r-- 1 root bind 397 Oct 13 18:34 named.conf.options
-rw-r--r-- 1 root bind 215 Oct 20 20:45 rndc.conf
drwxr-sr-x 2 root bind 10 Oct 14 20:33 zone
-rw-r--r-- 1 root root 1317 May 3 20:34 zones.rfc1918
Т.к я пока не планирую выводить работу BIND9 на IPv6, то я запустил службу только для IPv4. Для этого необходимо добавить опцию запуска в файл /etc/default/bind9
Добавляем опцию -4 в параметр OPTIONS
# run resolvconf?
RESOLVCONF=no
# startup options for the server
OPTIONS="-u bind -4"
Правим основной файл настроек named.conf:
// Access List
include "/etc/bind/named.conf.acl";
// Options
include "/etc/bind/named.conf.options";
// Key file
include "/etc/bind/key/rndc.key";
include "/etc/bind/key/ns.gregory-gost.ru.key";
// Server
server 192.168.88.7 {
keys { "ns.gregory-gost.ru"; };
};
// Trusted DNS
acl trusted-dns {
127.0.0.1;
key ns.gregory-gost.ru;
};
// Controls Channel
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
// Logging
include "/etc/bind/named.conf.logging";
// Zones
include "/etc/bind/named.conf.local-zones";
Описание параметров named.conf
include — подключение отдельных конфигурирующих файлов. Причем порядок не менее важен.
server — определяет свойства или поведение, которое этот сервер будет использовать. Например IP адрес и вложенные параметры для него.
server -> keys — определяет какой ключ использовать для подписи при активном DNSSEC
acl trusted-dns — определяет отдельный список доступа и какой ключ использовать для него.
controls — описывает и контролирует доступ к каналу управления, используемому удаленным администратором при использовании утилиты rndc
Создаем отдельный файл named.conf.acl:
Acl (access control list) — позволяет задать именованный список сетей. Формат раздела: acl «имя_сети» {ip; ip; ip; };
У меня пока две разделенные зоны, но с одной подсетью, соответственно разделяю по выделенным диапазонам. Я прописывал все выделенные IP адреса.
acl "loc" {
192.168.88.7;
127.0.0.1;
};
acl "lan-pool-one" {
192.168.88.1;
192.168.88.2;
192.168.88.3;
192.168.88.4;
192.168.88.5;
192.168.88.6;
...
};
acl "lan-pool-two" {
192.168.88.30;
192.168.88.31;
192.168.88.32;
192.168.88.33;
...
};
acl "ext" {
!192.168.88.0/24;
any;
};
Если у вас разные подсети, то достаточно прописать сами подсети с их маской
- 192.168.88.0/24;
- 192.168.89.0/24;
- и т.д.
Описание параметров файла named.conf.acl
В данном файле ничего особенного нет, по сути мы делим нашу сеть и описываем их IP адреса отдельными правилами.
acl «loc» — свой IP адрес localhost
acl «lan-pool-one» — Набор IP адресов первой зоны/подсети
acl «lan-pool-two» — Набор IP адресов второй зоны/подсети
acl «ext» — IP адреса не относящиеся к локальным подсетям, в моём случае только к одной 192.168.88.0/24 и любые другие.
Файл named.conf.options уже есть, проводим некоторые настройки:
options {
directory "/var/cache/bind";
dnssec-enable no;
dnssec-validation no;
dump-file "/var/log/bind/bind.dump";
statistics-file "/var/log/bind/bind.stats";
auth-nxdomain no;
version none;
port 53;
max-cache-size 241172480;
listen-on {
127.0.0.1;
192.168.88.7;
};
listen-on-v6 {
none;
};
allow-transfer {
none;
};
allow-query {
any;
};
allow-recursion {
loc;
lan-pool-one;
lan-pool-two;
};
};
Описание параметров файла named.conf.options
directory — указывает абсолютный путь к рабочему каталогу сервера. Все последующие относительные пути используют этот базовый каталог. Если параметры каталога не указаны, используется каталог, из которого был загружен BIND.
dnssec-enable — указывает, что используется защищенная служба DNS
dnssec-validation — указывает, что распознаватель(сервер имен с кэшированием или только для кэширования) будет пытаться проверить ответы из включенных(подписанных) зон DNSSEC
dump-file — определяет абсолютный путь, по которому BIND создает дамп базы данных (кеша) в ответ на rndc dumpdb
statistics-file — Этот оператор определяет имя файла, в который будут записываться данные при выдаче команды rndc stats
version — выводить версию сервера или нет при специфических запросах.
port — на каком порту обрабатывать запросы. Лучше не менять, т.к. порт для всех DNS запросов стандартный 53
listen-on — на каких IPv4 ожидать поступления DNS запросов
listen-on-v6 — на каких IPv6 ожидать поступления DNS запросов
allow-transfer — определяет список совпадений, например IP-адрес(а), которому разрешено передавать(копировать) информацию о зоне с сервера(главного или подчиненного для зоны)
allow-query — определяет список совпадений IP-адресов, которым разрешено отправлять запросы на сервер
allow-recursion — определяет список совпадений IP-адресов, которым разрешено отправлять рекурсивные запросы на сервер
Создаем отдельный файл named.conf.logging:
В этом разделе описывается условие ведения журнала.
logging {
channel update_debug {
file "/var/log/bind/update_debug.log" versions 3 size 100k;
severity debug;
print-severity yes;
print-time yes;
};
channel security_info {
file "/var/log/bind/security_info.log" versions 1 size 100k;
severity info;
print-severity yes;
print-time yes;
};
channel bind_log {
file "/var/log/bind/bind.log" versions 4 size 4m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel query {
file "/var/log/bind/query.log" versions 4 size 4m;
print-time yes;
print-severity no;
print-category no;
};
category default {
bind_log;
};
category lame-servers {
null;
};
category update {
update_debug;
};
category update-security {
update_debug;
};
category security {
security_info;
};
category resolver {
null;
};
category queries {
query;
};
};
Описание параметров файла named.conf.logging
channel — BIND принимает несколько определений каналов и параметры того, как их вести.
category — управляет тем, какие категории заносятся в различные определенные или стандартные имена каналов.
На файле named.conf.local-zones я бы хотел остановится немного подробнее. Именно в данном файле мы определяем направления. Именно в этом файле указываются сами зоны с доменными именами и правила их обработки. Как я уже писал, у меня всего две зоны и именно для двух зон мне необходимо сделать идентичные описания, но с различными параметрами.
Переименуем стандартный файл named.conf.local в named.conf.local-zones
mv /etc/bind/named.conf.local /etc/bind/named.conf.local-zones
И отредактируем файл named.conf.local-zones:
view "lan_zone_one" {
match-clients {
loc;
lan-pool-one;
};
allow-query {
loc;
lan-pool-one;
};
allow-transfer {
trusted-dns;
};
allow-update {
none;
};
recursion yes;
forwarders {
192.168.88.1;
};
include "/etc/bind/named.conf.default-zones";
zone "gregory-gost.ru" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru";
};
zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru.inverse";
};
};
view "lan_zone_two" {
match-clients {
loc;
lan-pool-two;
};
allow-query {
loc;
lan-pool-two;
};
allow-transfer {
trusted-dns;
};
allow-update {
none;
};
recursion yes;
forwarders {
192.168.88.30;
};
include "/etc/bind/named.conf.default-zones";
zone "gregory-gost.ru" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru";
};
zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru.inverse";
};
};
Описание параметров файла named.conf.local-zones
view — позволяет BIND предоставлять различные функциональные возможности в зависимости от доступа к нему определенных хостов. Т.е. позволяет разделить доменную зону, например для внешних и внутренних запросов. У нас пока только внутренние!
match-clients — основной список клиентов(хостов) для совпадений с направлением
allow-query — определяет список совпадений IP-адресов, которым разрешено отправлять запросы на сервер
allow-transfer — определяет список совпадений, например IP-адрес(а), которому разрешено передавать(копировать) информацию о зоне с сервера(главного или подчиненного для зоны)
allow-update — определяет список совпадений, которым разрешено отправлять динамические обновления для мастер-зон
recursion — если для рекурсии установлено значение «да»(по умолчанию), сервер всегда будет обеспечивать рекурсивное поведение запросов, если этого требует клиент(распознаватель).
forwarders — определяет список IP-адресов(адресов) (и необязательных номеров портов), на которые будут перенаправляться запросы. Именно этот параметр отвечает за перенаправление неизвестных запросов к своему роутеру.
zone — тут описываются управляющие свойства и путь к файлу с описанием самих зон
Файл rndc.conf создавать не обязательно, но если вы хотите изменить ключ rndc.key, то можно воспользоваться данным механизмом.
Необходимо подать команду:
rndc-confgen > rndc.conf
Содержимое файла выглядит так:
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "S+vUL+wY/RO5JdNZ6VVX2A==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "S+vUL+wY/RO5JdNZ6VVX2A==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
Блок key «rndc-key» это и есть содержимое файла ключа rndc.key. Потому вы можете скопировать этот текст в файл rndc.key
С файлами настроек разобрались, теперь необходимо создать нужные папки и переместить туда базовые файлы с описанием зон.
Создаем папки:
mkdir /etc/bind/zone
mkdir /etc/bind/key
Переносим файлы с описанием базовых зон:
mv /etc/bind/db.0 /etc/bind/zone
mv /etc/bind/db.127 /etc/bind/zone
mv /etc/bind/db.255 /etc/bind/zone
mv /etc/bind/db.empty /etc/bind/zone
mv /etc/bind/db.local /etc/bind/zone
mv /etc/bind/db.root /etc/bind/zone
Переносим базовые файлы ключей:
mv /etc/bind/bind.keys /etc/bind/key
mv /etc/bind/rndc.key /etc/bind/key
Полное описание параметров файлов конфигурации BIND9 можно найти тут: zytrax.com (ENG)
Теперь самое интересное, а именно описание доменных зон!
Описание локальных доменных зон
У нас уже есть базовые доменные зоны и мы указали в файле конфигурации наши локальные зоны. Возможно вы это заметили в файле named.conf.local-zones
Пункты:
zone "gregory-gost.ru" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru";
};
zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru.inverse";
};
Соответственно нам необходимо создать два файла:
1. /etc/bind/zone/db.gregory-gost.ru
2. /etc/bind/zone/db.gregory-gost.ru.inverse
Эти два файла называются зонами прямого просмотра и зонами обратного просмотра. Почему так? А потому что DNS работает в обе стороны! Вы можете попасть через доменное имя, как на IP адрес так и наоборот, проверить IP адрес на привязку к нему доменного имени.
Представляю вам файл зоны прямого просмотра:
;
; Zone Front view
;
$TTL 3600
@ IN SOA gregory-gost.ru. example.gregory-gost.ru. (
2019101401 ; Serial
1d ; Refresh
1h ; Retry
1w ; Expire
2h ; Negative Cache TTL
)
@ IN NS ns1.hostdomen.ru.
@ IN NS ns2.hostdomen.ru.
@ IN NS ns3.hostdomen.org.
@ IN NS ns4.hostdomen.org.
@ IN A 99.55.99.199
www IN CNAME gregory-gost.ru.
@ IN NS ns.gregory-gost.ru.
ns IN A 192.168.88.7
pve1 IN A 192.168.88.6
Описание файла прямого просмотра db.gregory-gost.ru
$TTL — Время активности записей в секундах. Необходим, чтобы указать другим DNS-серверам, как долго стоит хранить запись у себя в кэше. Слишком малое значение увеличит нагрузку на сервер, а большое приведет к слишком длительному процессу изменения записи. Поставим 1 час.
SOA-запись — Запись идет сразу после параметра TTL и она хранит общие настройки для зоны.
Запись начинается с символа @ продолжается указателем на тип сети IN(Internet), потом тип SOA, потом идет домен(точка после ru обязательна!), потом идет email адрес без символа @. Символ @ заменяется на точку.(также в конце доменного имени точка после ru обязательна!)
Serial — порядковый номер изменения. Его необходимо каждый раз менять вручную при редактировании файла. С помощью него вторичный сервер (если такой есть), может определить, что были изменения и начать процесс копирования настроек. Имеет формат даты и порядкового номера: 2019101401 -> 2019-10-14 №01 (т.е. версия №01 от 14 октября 2019 г.)
Refresh — указывает вторичным серверам, через какой промежуток времени они должны сделать запрос на обновление зоны.
Retry — говорит вторичным серверам, как часто повторять попытки на обновление зоны, если первичный сервер не смог дать ответ (сервис был недоступен).
Expire — время в секундах, которое может работать вторичный сервер, если недоступен первичный. Если данный период истечет, а вторичный сервер так и не смог обновить зону, он должен прекратить отвечать на запросы.
Далее идут типы записей, кто работал с хостингами и настраивал доменные имена увидят знакомые типы записей.
Основные типы записей, использующиеся в DNS:
A — сопоставляет имени узла соответствующий IP-адрес. Именно его мы и будем использовать!
NS — указатель на DNS-сервера, которые обслуживают данную зону. Тоже используем не много 🙂
MX — почтовая запись. Указывает на почтовые сервера, которые обслуживают домен. Поддерживает приоритезацию при указании нескольких записей, клиент будет ориентироваться на значение той, для которой указано меньшее число.
CNAME — aliase или псевдоним. Перенаправляет запрос на другую запись.
TXT — произвольная запись. Чаще всего используется для настройки средств повышения качества отправки почтовых сообщений.
Ну а сам принцип построения записи вы можете видеть в примере файла.
Как видите после записи доменных имен в этих файлах всегда ставится точка: gregory-gost.ru.
Будьте внимательны!
Остался файл зоны обратного просмотра:
;
; Zones invert view
;
$TTL 3600
@ IN SOA gregory-gost.ru. example.gregory-gost.ru. (
2019101401 ; Serial
1d ; Refresh
1h ; Retry
1w ; Expire
2h ; Negative Cache TTL
)
@ IN NS ns1.hostdomen.ru.
@ IN NS ns2.hostdomen.ru.
@ IN NS ns3.hostdomen.org.
@ IN NS ns4.hostdomen.org.
@ IN NS ns.gregory-gost.ru.
7 IN PTR ns.gregory-gost.ru.
6 IN PTR pve1.gregory-gost.ru.
Описание файла прямого просмотра db.gregory-gost.ru
По сути это обратная операция преобразования IP адреса в доменное имя.
Адрес преобразуется через строку 88.168.192.in-addr.arpa подстановкой числа описанного в зоне.
Например 6 IN PTR pve1.gregory-gost.ru. — это IP 192.168.88.6
Вы могли видеть еще непонятные доменные имена, по типу ns1.hostdomen.ru. я оставил это для нормальной обработки основного доменного имени т.к. мой домен привязан к хостингу.
Сохраняем все наши файлы и пробуем запустить сервис BIND9
service bind9 start
Для проверки работает или нет, сначала проверяем сервис
service bind9 status
Если видим что-то похожее значит все ок
Active: active (running) since Sun 2019-10-20 20:57:57 UTC; 21h ago
После правки файлов зон, необходимо обнулить кеш и обновить файлы зон:
rndc reload
И не забывайте менять строку Serial при каждом внесении изменений!
Теперь проверим, как резолвится доменное имя:
root@DNS:~# nslookup pve1.gregory-gost.ru
Server: 192.168.88.7
Address: 192.168.88.7#53
Name: pve1.gregory-gost.ru
Address: 192.168.88.6
Если вы установили пакет dnsutils, вы можете проверить свою установку используя обзорную утилиту DNS dig
После установки BIND9 примените dig к интерфейсу обратной петли (loopback), чтобы убедиться, что порт 53 прослушивается. Из терминала наберите:
dig -x 127.0.0.1
В ответ получите, что-то такое:
root@DNS:~# dig -x 127.0.0.1
; <<>> DiG 9.10.3-P4-Debian <<>> -x 127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9723
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 604800 IN PTR localhost.
;; AUTHORITY SECTION:
127.in-addr.arpa. 604800 IN NS localhost.
;; ADDITIONAL SECTION:
localhost. 604800 IN A 127.0.0.1
localhost. 604800 IN AAAA ::1
;; Query time: 1 msec
;; SERVER: 192.168.88.7#53(192.168.88.7)
;; WHEN: Mon Oct 21 18:18:15 UTC 2019
;; MSG SIZE rcvd: 132
named-checkzone
Хороший способ проверить ваши файлы зон — это использовать утилиту named-checkzone, установленную вместе с пакетом bind9. Эта утилита позволяет вам убедиться в корректности настроек до перезапуска BIND9 и применения изменений.
named-checkzone pve1.gregory-gost.ru /etc/bind/zone/db.gregory-gost.ru
zone pve1.gregory-gost.ru/IN: loaded serial 2019101401
OK
Очистить кеш данных DNS сервиса можно командой rndc flush
Для нормальной обработки доменных имен обычно необходимо подождать некоторое время, от минуты до десяти минут.
Все хорошо. Займемся настройкой сети, ведь мы хотим, чтобы локальные доменные имена работали на всех наших локальных устройствах (умеющих работать с DNS)
Настройка локальной сети для обработки внутренних DNS запросов
Локальная сеть настраивается достаточно просто.
Вам необходимо указать IP адрес LXC контейнера, как основной DNS сервер. Его будут получать клиенты через DHCP.
Для устройств со статическими IP настройками, необходимо DNS прописать вручную.
Я покажу, как добавить DNS в DHCP сервер, на примере своего роутера MikroTik
Открываем Winbox или терминал, подключаемся к нашему роутеру и идем по пути: IP -> DHCP Server вкладка Networks
Консольно:
[RC]/ip dhcp-server network set dns-server=192.168.88.7,192.168.88.1[/RC]
Далее обновляем аренду для всех клиентов или какого-то одного для проверки.
Например в Windows 10 можно запустить командную строку(cmd) и проверить получение DNS:
ipconfig /all
Адаптер беспроводной локальной сети Беспроводная сеть:
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Broadcom 802.11ac Network Adapter
Физический адрес. . . . . . . . . : DE-AD-00-00-BE-EF
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
Локальный IPv6-адрес канала . . . : fe80::f541:4077:7558:57f3%4(Основной)
IPv4-адрес. . . . . . . . . . . . : 192.168.88.24(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Аренда получена. . . . . . . . . . : 21 октября 2019 г. 20:57:33
Срок аренды истекает. . . . . . . . . . : 24 октября 2019 г. 20:57:32
Основной шлюз. . . . . . . . . : 192.168.88.1
DHCP-сервер. . . . . . . . . . . : 192.168.88.1
IAID DHCPv6 . . . . . . . . . . . : 408986700
DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-24-56-5F-89-70-22-37-35-61-F4
DNS-серверы. . . . . . . . . . . : 192.168.88.7
192.168.88.1
NetBios через TCP/IP. . . . . . . . : Включен
Видим строку DNS-серверы. . . . . . . . . . . : 192.168.88.7 значит наш ПК получает DNS корректно.
Но для нормального открытия WEB страницы по доменному имени этого еще не достаточно!
Необходимо, чтобы на целевом IP адресе, WEB интерфейс корректно обработал такой запрос.
Давайте на примере основной хост машины PVE, попробуем получить к ней доступ через указанное нами доменное имя pve1.gregory-gost.ru.
Настройка открытия WEB интерфейса Proxmox-VE по доменному имени
Для того, чтобы запрос к доменному имени был обработан корректно, нам необходимо настроить специальный сервис, который будет за это отвечать.
Этот сервис nginx. Очень мощная штука по которой пишут не маленькие мануалы. Поэтому мы ограничимся самым простым функционалом.
Переходим к консоли хост машины:
Если сомневаетесь в том, какой у вас IP на хосте
Необходимо поставить утилиту net-tools
apt install net-tools
Проверка IP адреса
ifconfig
vmbr0: flags=4163<up,broadcast,running,multicast> mtu 1500
inet 192.168.88.6 netmask 255.255.255.0 broadcast 192.168.88.255
inet6 fe80::bu5f:f5ff:fydd:9900 prefixlen 64 scopeid 0x20
ether bc:5f:f4:dd:99:00 txqueuelen 1000 (Ethernet)
RX packets 4862376 bytes 5029988315 (4.6 GiB)
RX errors 0 dropped 279692 overruns 0 frame 0
TX packets 2392712 bytes 397248364 (378.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0</up,broadcast,running,multicast>
Для начала давайте поставим nginx:
apt install nginx -y
Останавливаем сервис
service nginx stop
Файлы nginx хранит по пути /etc/nginx/:
root@pve1:~# ls -l /etc/nginx/
total 56
drwxr-xr-x 2 root root 3 Oct 13 22:21 conf.d
-rw-r--r-- 1 root root 1077 Aug 19 12:31 fastcgi.conf
-rw-r--r-- 1 root root 1007 Aug 19 12:31 fastcgi_params
-rw-r--r-- 1 root root 2837 Aug 19 12:31 koi-utf
-rw-r--r-- 1 root root 2223 Aug 19 12:31 koi-win
-rw-r--r-- 1 root root 3957 Aug 19 12:31 mime.types
drwxr-xr-x 2 root root 2 Aug 19 12:31 modules-available
drwxr-xr-x 2 root root 12 Oct 13 22:03 modules-enabled
-rw-r--r-- 1 root root 1299 Oct 13 22:05 nginx.conf
-rw-r--r-- 1 root root 180 Aug 19 12:31 proxy_params
-rw-r--r-- 1 root root 636 Aug 19 12:31 scgi_params
drwxr-xr-x 2 root root 3 Oct 13 22:03 sites-available
drwxr-xr-x 2 root root 2 Oct 13 22:05 sites-enabled
drwxr-xr-x 2 root root 4 Oct 13 22:03 snippets
-rw-r--r-- 1 root root 664 Aug 19 12:31 uwsgi_params
-rw-r--r-- 1 root root 3071 Aug 19 12:31 win-utf
Давайте удалим базовую WEB страницу, она нам не нужна
rm /etc/nginx/sites-enabled/default
Ничего страшного это всего лишь simlink, оригинал лежит тут: /etc/nginx/sites-available/default
Все файлы дополнительных конфигураций можно располагать в папке /etc/nginx/conf.d/
Она как раз подключена в основном файле конфигурации.
Заодно проверим основной файл конфигурации nginx
nano /etc/nginx/nginx.conf
user www-data;
worker_processes 1;
worker_cpu_affinity auto;
worker_rlimit_nofile 10000;
pcre_jit on;
pid /var/run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
multi_accept on;
accept_mutex off;
use epoll;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
keepalive_requests 1000;
types_hash_max_size 2048;
reset_timedout_connection on;
server_tokens off;
client_body_timeout 10;
send_timeout 2;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log off;
error_log /var/log/nginx/error.log crit;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_min_length 100;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Создадим файл настройки для нашего PVE1:
nano /etc/nginx/conf.d/proxmox.conf
Заполним его такими настройками
upstream proxmox {
server "pve1.gregory-gost.ru";
}
server {
listen 80 default_server;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443;
server_name _;
#ssl on;
#ssl_certificate /etc/pve/local/gregory-gost.ru.crt;
#ssl_certificate_key /etc/pve/local/device.key;
proxy_redirect off;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass https://localhost:8006;
proxy_buffering off;
client_max_body_size 0;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
send_timeout 3600s;
}
}
В общем основная суть того, что происходит.
При запросах по доменному имени pve1.gregory-gost.ru мы попадаем на 80 порт(стандартный HTTP) и нас перенаправляет на 443 порт(HTTPS) на котором работает WEB Proxmox-VE.
Ну а там запрос поступает уже на свой внутренний адрес и порт: https://localhost:8006 при этом для нас, все скрыто за кулисами nginx 🙂
По сути, именно таким образом все это и работает.
По данному мануалу, локальные доменные имена не доступны из Интернета!
Если вы столкнулись с ошибкой «401 no token»:
Необходимо отредактировать файл запуска сервиса nginx
systemctl edit nginx.service
и добавить такие строки
[Unit]
Requires=pve-cluster.service
After=pve-cluster.service
Не забудем перезапустить нужные службы
systemctl daemon-reload
service nginx restart
Спасибо за наводку комментатору: Pavel !
Заключение
Статья получилась достаточно большой. Хотя это еще не все, вы могли заметить закомментированные строки связанные с SSL сертификатами.
Возможно позже я разберусь с этим и дополню статью, а пока приходится мириться с паникой браузера в отношении непроверенных сертификатов.
Существуют и системы альтернативные BIND. Например PowerDNS, Unbound, djbdns, Dnsmasq.
Вы можете рассмотреть их для реализации похожего функционала.
Мне остается только напомнить про дальнейшие шаги по реализации своего домашнего сервера:
- Torrent Transmission — качалка торрентов. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Plex Mediaserver — домашний медиа сервер. Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
Делитесь своими методиками и способами реализации доменной системы. Читателям будет интересно узнать про альтернативы! 🙂
Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉
UPD: 21.06.2020
Добавлена информация для корректной совместной работы nginx и pve по https (расширенный протокол http)
Спасибо комментатору Pavel !!!
Выразить благодарность автору
Если Вам не безразлична судьба блога или Вы просто хотите отблагодарить Автора за его труд, смело переходите на страницу Поддержки, там описана вся информация, по тому, как это сделать. Заранее благодарен вам за данную инициативу!