LinuxForum.Fans
Тема

DNS для домашней сетки

Автор: u-_Serj_- 20 сообщений 6149 просмотров
#250999

Образовалась следующая проблема. Интернет дома от Yota. В связи с переходом Yota на LTE, выдали новый роутер, который, в отличии от предыдущего ASUSa, не имеет DNS.
В домашней сетке имеется сервачок, на котором, в частности, балуюсь Web. В общем, нужен DNS для "человеческого" общения с сервером и сайтами :)
Как я понял, есть 2 варианта:
1. Воткнуть старый ASUS в дополнение к новому в качестве DNS (лишняя железка, провода).
2. Организовать DNS на самом сервере (тру Linux-way :D).

Посоветуйте, как будет правильнее.
Если поднимать на сервере, я так понял BIND для меня будет излишен, да и не справлюсь, наверное, я с ним. Нашёл вот это - dnsmasq .

#251000

Для общения с сайтами на веб сервочке? Для этого сойдет даже /etc/hosts
upd: bind(named) поднимается за 30 минут, зато полноценный локальный dns

#251002

проще всего действительно прописать в hosts (кстати в он есть не только в linux), но и поднять собственную зону довольно просто. Только не нужно пытаться сразу понять как все устроено в DNS, а взять пошаговую инструкцию для простейшего случая.

#251005

Я так понял, править /etc/hosts нужно на каждом компе ?

#251011

Так точно.

#251012

Ладно, пусть это будет простейший вариант для отступления ;)
Значит, говорите DNS стоит покурить :)

#251343

можешь и dnsmasq попробовать. для тебя в самый раз

#251357

Да, хочу чуть по-позже попробовать разобраться. Пока же обошёлся правкой /etc/hosts .

#251370

Dnsmasq, минимально в нём только прослушываемый интерфейс нужно указать, а имена он из /etc/hosts сам берёт.

#251500

Мда. Оказалось, делов в моём случае - на 3 минуты :)
1. установил dnsmasq
2. Раскомментировал строчку в /etc/dnsmasq.conf

text
# If you want dnsmasq to provide only DNS service on an interface,
# configure it as shown above, and then use the following line to
# disable DHCP on it.
no-dhcp-interface=eth0

т. к. IP у меня раздаёт роутер.

3. Подправил /etc/hosts на сервере
4.

text
sudo /etc/init.d/dnsmasq restart

5. На локальных компах указал, что DHCP выдаёт только адреса, и адрес DNS сервера
6. Перезапустил сетевые подключения

#285099

Обновил на файлопомойке Ubuntu Server с 11.10 до 12.04, обновился и dnsmasq. На вопрос о сохранении старого конфига ответил утвердительно (там, собственно, одна строчка: no-dhcp-interface=eth0). Однако теперь по имени могу попасть только на странички на моём сервере (прописанные на нём в /etc/hosts), наружу по именам не пускает... WTF?

#285107
"-=Serj=-" написал:
наружу по именам не пускает...

Те не резолвит интернет адреса? что в resolv.conf?

#285108
"zenon" написал:
Те не резолвит интернет адреса?

Получается так...

"zenon" написал:
что в resolv.conf?
text

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
domain home
search home
nameserver 192.168.1.1

192.168.1.1 - это роутер, DNS на нем нет...

#285109

ы. C dnsmasq уже недавно были что-то неладное, я не разбирался, пользуюсь unbound как кэш-dns
Dnsmasq

#285110
"-=Serj=-" написал:
192.168.1.1 - это роутер, DNS на нем нет...

Ну так впиши dns провайдера или гугло dns - 8.8.8.8 и 8.8.4.4

#285114

Тут для арча, но смысл тот же, dhcpcd будет изменять resolv.conf при получении ip от роутера.

#285115

zenon, да, это видал, спасибо. У меня dnsmasq работает только как DNS.
Изменения в ручную resolv.conf ничего не дали, гуглю про resolvconf...
Пока узнал про какие-то изменения, связанные с DNS в Ubuntu 12.04, кажись dnsmasq теперь установлен по умолчанию, даже на десктопе...
https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolving
http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

#285126

Не знаю, насколько правильно, но пока решил вопрос так. Правим dnsmasq.conf :
1. Отключаем всякое общение dnsmasq с resolv.conf :

text

# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
no-resolv

# If you don't want dnsmasq to poll /etc/resolv.conf or other resolv # files for changes and re-read them then uncomment this. no-poll

2. Указываем свой name-server:

text

# Add other name servers here, with domain specs if they are for
# non-public domains.
#server=/localnet/192.168.0.1
server=8.8.8.8
#285130

Зачем по-умолчанию dnsmasq нужен вообще непонятно.
В ubuntu можно в dhclient'е (/etc/dhcp3/dhclient.conf) настроить получать/не получать ip dns-сервера.
Костыль:
/etc/network/interfaces

text
iface eth0 inet dhcp
     up echo "nameserver 8.8.8.8" > /etc/resolv.conf

:)

#285132
"zenon" написал:
Зачем по-умолчанию dnsmasq нужен вообще непонятно.

Я так понял - для самокэшированногоускорения :)

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