Difference between revisions of "Dnsmasq (Русский)"

From ArchWiki
Jump to navigation Jump to search
Line 1: Line 1:
 +
[[Category:Сеть]]
 
{{i18n_links_start}}
 
{{i18n_links_start}}
 
{{i18n_entry|English|Dnsmasq}}
 
{{i18n_entry|English|Dnsmasq}}

Revision as of 09:27, 12 May 2010

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n links end Dnsmasq это DHCP и DNS сервера в одной программе. Она может быть использована для создания подключения к интернету с возможностью автоматической выдачи IP адреса и одновременным кэшированием соответствия доменов их IP адресам (DNS-кэширование). Это кэширование дает отличный прирост скорости работы с интернетом, т.к. не нужно постоянно обращаться за IP адресом к DNS-серверу - он держит эти параметры у себя в кэше. Dnsmasq легковесное приложение, разработанное для персонального использования, или как DHCP сервер для сети, в которой не более 50 компьютеров.

Установка

Dnsmasq находится в репозиториях и может быть установлен так:

pacman -S dnsmasq

Установка сервера DHCP

Вам нужно отредактировать конфигурационные файлы Dnsmasq. Измените Template:Filename:

# 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 Template:Filename:

domain ALL : ALLOW

Настройка кэша DNS

Когдв вы запускаете Dnsmasq как DHCP сервер, он также начинает прослушивать локальный интерфейс (localhost) на запросы DNS. Для запуска функции кэширования DNS отредактируйте пожалуйста Template:Filename и добавьте в него:

listen-address=127.0.0.1

dhcp клиент должен быть переадресован на адрес 127.0.0.1 (localhost) для обработки запросов DNS. После настройки Dnsmasq, вам нужно задать Template:Filename список ваших DNS серверов (если вы, конечно это ранее не сделали). Когда DHCP клиент сконфигурирован, вам нуно перезапустить сеть, чтобы изменения вступили в силу.

sudo /etc/rc.d/network restart

dhcpcd

Dhcpcd может сам добавлять или удалять DNS сервера в Template:Filename создавая Template:Filename и Template:Filename

echo "nameserver 127.0.0.1" > /etc/resolv.conf.head

dhclient

Если выиспользуете dhclient, добавьте в Template:Filename:

prepend domain-name-servers 127.0.0.1;

Запуск

Dnsmasq должен быть запущен как демон:

/etc/rc.d/dnsmasq start

Для запуска dnsmasq при загрузке системы, добавьте dnsmasq секцию DAEMONS в Template:Filename:

DAEMONS=(network dnsmasq ...)

Для отслеживания ошибок и сообщений сервера вы можете смотреть log-файл Template:Filename он отправляет свои сообщения в него.

Тестирование DHCP сервера

Клиентом из сети, с установленной и запущенной сетью. Установите подключение к машине с запущенным Dnsmasq.

Тестирование кэширования DNS

Выполните:

dig archlinux.org | grep "Query time"

(dig это часть Template:Package Official):


Запустите еще раз и сравните результаты.

Заметки

Additional tips for Dnsmasq.

Prevent OpenDNS Redirecting Google Queries

To prevent OpenDNS from redirecting all Google queries to their own search server, add to Template:Filename:

server=/www.google.com/X.X.X.X

Replace X.X.X.X with your ISP's DNS server/Router IP.