Здравствуйте, в локальной сети на одном из компьютеров постоянно работает http сервер, имеется необходимость присвоить доменное имя этому сайту, чтоб на него заходили не по IP адресу, а по доменному имени.
Я новичек, хотелось бы все сделать быстро и просто, возможно ли это?
Если выход в интернет осуществляется через роутер, то необходимо домен привязать к внешнему ip-адресу и пробросить на нем порт (80) на порт вашего сервера.
имеется шлюз на Debian (10.20.0.1, на него наверное и нужно будт поставить DNS сервер, так же на нем работает DHCP сервер)
клиентские машины 10.20.0.1 - 10.20.0.30
на 10.20.0.3 находится HTTP сервер.
Просто хочется, чтоб на этот HTTP сервер заходили не по http//10.20.0.3 а по доменному имени :) например mysite.local или mysite.loc и т.п.
Клиентским машинам раздаётся интернет со шлюза, и по DHCp им выдаются два DNS сервера 192.168.1.1 и 192.168.1.10, второй из них резервный, поэтому его можно просто заменить своим DNS сервером (сугубо моё мнение).
А вобще думаю можно поставить пакет DNSMASQ, и клиентским машинам выдавать адрес шлюза в качестве единственного DNS сервера, и этот пакет просто будет перенаправлять запросы со шлюза на DNS сервера провайдера.
Пакет DNS насколько мне известно 2 в 1, DHCP сервер и DNS сервер.
В английском языке я не очень силен, читал MAN по DNSMASQ и мало чего понял :)
Если выход в интернет осуществляется через роутер, то необходимо домен привязать к внешнему ip-адресу и пробросить на нем порт (80) на порт вашего сервера.
Просто хочется, чтобы пользователи внутри сети заходили на этот адерс по доменному имени.
Описание сетки я написал чуть выше, прочитайте пожалуйста!
Измените /etc/dnsmasq.conf:
# Only listen to router LAN NIC, also opens up tcp/udp port 53 to localhost
# and udp port 67 to world:
interface=<LAN-NIC>
# dnsmasq will open tcp/udp port 53 and udp port 67 to world to help with
# dynamic interfaces (assigning dynamic ips). Dnsmasq will discard world
# requests to them, but the paranoid might like to close them and let the
# kernel handle them:
bind-interfaces
# Dynamic range of IPs to make available to LAN pc
dhcp-range=192.168.111.50,192.168.111.100,12h
# If you’d like to have a static ip, bind the LAN computer's NIC MAC address:
dhcp-host=aa:bb:cc:dd:ee:ff,192.168.111.50
If you choose not to bind interfaces the domain port will need to be allowed in /etc/hosts.allow:
domain ALL : ALLOW
Настройка кэша DNS
Когда вы запускаете Dnsmasq как DHCP сервер, он также начинает прослушивать локальный интерфейс (localhost) на запросы DNS. Для запуска функции кэширования DNS отредактируйте пожалуйста /etc/dnsmasq.conf и добавьте в него:
listen-address=127.0.0.1
dhcp клиент должен быть переадресован на адрес 127.0.0.1 (localhost) для обработки запросов DNS. После настройки Dnsmasq, вам нужно задать /etc/resolv.conf список ваших DNS серверов (если вы, конечно это ранее не сделали). Когда DHCP клиент сконфигурирован, вам нуно перезапустить сеть, чтобы изменения вступили в силу.
Вам необходимо bind9 тут есть как ссылка
Будут проблемы пишите.
все сделал по инструкции на шлюзе. (упражняюсь на виртуальных машинах)
на клиенсткой машине прописал в ДНС ип адрес шлюза.
Пингую example.com - результата ноль, ошибок никаких нет в логах.
если пинговать по IP - все гуд.
zone "localhost.com" {
type master;
file "localhost.zone";
};
и
создал файл:
localhost.zone и вписал туда всё необходимое.
но опять появились некоторые проблемы:
при команде nslookup example.com 127.0.0.1 - показывает тоже самое, что и показовало раньше. но при пинге example.com (пингую с машины где установлен bind) - пингует отлично и показывает тот ип адрес, который я указал в зоне.
я уже почти обрадовался, сразу стал включать клиенсткую машину, чтобы проверить как работает ДНС сервер, и опять расстроился, почему то вводя www.example.com - не проходит он на указанную мной страницу и не пингует домен, зато отлично пингует все остальные сайты, тот же яндекс. (на клиентской машине в графе DNS указал ип адерс где установлен bind).
Пишет же: "example.com failed: file not found". Не может найти файл, посмотрите правильный ли путь указали до файла. Попробуйте прописать полный путь, т.е:
text
zone "localhost.com" {
type master;
file "/путь/до/файла/localhost.zone";
};
Пишет же: "example.com failed: file not found". Не может найти файл, посмотрите правильный ли путь указали до файла. Попробуйте прописать полный путь, т.е:
text
zone "localhost.com" {
type master;
file "/путь/до/файла/localhost.zone";
};
исправил ,все равно записывает в лог подобные ошибки.