LINUX.ORG.RU
решено ФорумAdmin

Не работает forwarding в bind для локальной сети

 


0

1

Установил на роутер bind, худо-бедно настроил, запустил с таким конфигом.

# cat /etc/named.conf 
options {
    directory "/var/named";

    listen-on { 127.0.0.1; 192.168.12.1; };

    forwarders {
      8.8.8.8;
      8.8.4.4;
    };

    allow-recursion { 192.168.12.0/24; 127.0.0.1; };

На этом же роутере в /etc/resolv.conf указал nameserver 127.0.0.1, и оно вроде работает, запросы поступают на локалхост, далее DNS спрашивает у 8.8.8.8 и отвечает, dig сообщает о времени выполнения повторных запросов в 0 милисекунд, т.е. запросы так же кэшируются сервером, всё отлично.

Теперь на этот роутер подключаюсь по Wi-Fi, роутер сообщает nameserver 192.168.12.1 тобишь свой собственный IP-адрес, т.к. bind стоит на нём, но клиенты пишут, что не могут резолвить адреса через DNS роутера. Почему?

На клиентах в /etc/resolv.conf указываю 8.8.8.8 — работает, а указываю IP самого роутера 192.168.12.1, где тоже стоит bind — не работает! Почему?

# ss -tln | grep :53
LISTEN     0      0      192.168.12.1:53                       *:*
LISTEN     0      0      127.0.0.1:53                       *:*
LISTEN     0      0           :::53                      :::*

Так же с клиентов подключаюсь telnet 192.168.12.1 53, тобишь порт прослушивается, bind принимает соединения, но не хочет резолвить адреса клиентам в локальной сети! Почему?

★★★★★

Добавь recursion yes; в конец.

Deleted ()

ЕДРИТЬ ТВОЮ МАТЬ НАЛЕВО

всё работает, но я пол дня убил, пока не вспомнил, что помимо TCP, — DNS использует UDP.

проблема была в неграмотно мною настроенном iptables, который разрешал все TCP соединения с локальных маших — я поэтому не парился, думал что с iptables всё в порядке, но iptables не разрешал UDP. добавил разрешающее правило для UDP. всё заработало.

твою мать... сколько времени ушло, твою ж мать!

Spoofing ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.