LinuxForum.Fans
Тема

DNS сервер + http сервер

Автор: tnega 27 сообщений 5629 просмотров
#96138

Здравствуйте, в локальной сети на одном из компьютеров постоянно работает http сервер, имеется необходимость присвоить доменное имя этому сайту, чтоб на него заходили не по IP адресу, а по доменному имени.

Я новичек, хотелось бы все сделать быстро и просто, возможно ли это?

#96140

Выход в интернет есть на данном сервере?

#96141

Заходили снаружи или изнутри локалки? :)

Если выход в интернет осуществляется через роутер, то необходимо домен привязать к внешнему ip-адресу и пробросить на нем порт (80) на порт вашего сервера.

#96145
Kettler написал:
Выход в интернет есть на данном сервере?

вообще выход в интернет имеется.

сеть такого вида:

имеется шлюз на 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 и мало чего понял :)

#96146
sysmouse написал:
Заходили снаружи или изнутри локалки? :)

Если выход в интернет осуществляется через роутер, то необходимо домен привязать к внешнему ip-адресу и пробросить на нем порт (80) на порт вашего сервера.

Просто хочется, чтобы пользователи внутри сети заходили на этот адерс по доменному имени.

Описание сетки я написал чуть выше, прочитайте пожалуйста!

#96150

Ну тут надо dns server и просто думаю в /etc/hosts прописать примерно так:
10.20.0.3 mysite

#96182

жду конкретных примеров, пожалуйста!

#96189
tnega написал:
жду конкретных примеров, пожалуйста!

Может сначала напишите какой dhcp сервер у вас стоит?

#96192

А так вот

apt-get install dnsmasq

Измените /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 клиент сконфигурирован, вам нуно перезапустить сеть, чтобы изменения вступили в силу.

Взято с вики.
Дальше будем работать над ошибками.

#96203
Kettler написал:
[quote=tnega]жду конкретных примеров, пожалуйста!

Может сначала напишите какой dhcp сервер у вас стоит?[/quote]

dhcp-3 server использую

#96217

Вам необходимо bind9 тут есть как ссылка
Будут проблемы пишите.

#96284

Можно использовать Avahi, если сеть целиком на Linux.

#96307
sysmouse написал:
Можно использовать Avahi, если сеть целиком на Linux.

к сожалению нет, шлюз только на Дебиане, все остальное винда.

#96636
Kettler написал:
Вам необходимо bind9 тут есть как ссылка
Будут проблемы пишите.

все сделал по инструкции на шлюзе. (упражняюсь на виртуальных машинах)
на клиенсткой машине прописал в ДНС ип адрес шлюза.
Пингую example.com - результата ноль, ошибок никаких нет в логах.
если пинговать по IP - все гуд.

при наборе команды nslookup example.com 127.0.0.1

выводится следующее:

#97524

А что пишет в /var/log/syslog? Какую ошибку?

#97980
John написал:
А что пишет в /var/log/syslog? Какую ошибку?



вот, посмотрите

#98051
Kettler написал:

сделал следующее:

Добавил зону:

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).

#98063

Пишет же: "example.com failed: file not found". Не может найти файл, посмотрите правильный ли путь указали до файла. Попробуйте прописать полный путь, т.е:

text
zone "localhost.com" {
type master;
file "/путь/до/файла/localhost.zone";
};
#98066
John написал:
Пишет же: "example.com failed: file not found". Не может найти файл, посмотрите правильный ли путь указали до файла. Попробуйте прописать полный путь, т.е:
text
zone "localhost.com" {
type master;
file "/путь/до/файла/localhost.zone";
};

исправил ,все равно записывает в лог подобные ошибки.

Войдите или зарегистрируйтесь, чтобы ответить.