Я настроил dnsmasq
на машине Linux, действующей как простой маршрутизатор на основе NAT. Внутренним машинам присваивается IP-адрес, и они имеют доступ к Интернету, за исключением того, что DNS-запросы не разрешаются.
Внутренний адрес 10.42.0.1
. Один из клиентов назначен 10.42.0.101
.
На клиентской машине:
user@client:~$ dig google.com @10.42.0.1
...
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18466
...
Wireshark подтверждает, что запрос получен 10.42.0.1 и немедленно отклонен через ответ DNS.
Содержимое /etc/dnsmasq.d/nat-clients
(MAC-адреса анонимны)
bind-interfaces
no-hosts
strict-order
except-interface=lo
listen-address=10.42.0.1
dhcp-range=10.42.0.10,10.42.0.100,12h
dhcp-option=option:router,10.42.0.1
dhcp-host=00:11:22:33:44:55,billy,10.42.0.101
dhcp-host=55:66:77:88:99:00,sally,10.42.0.102
Кроме того, /etc/dnsmasq.conf
- это только комментарии.
Содержимое /etc/resolv.conf
на роутере
# 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 10.0.0.5
nameserver 10.0.0.6
search domain.company.com
Содержимое /etc/resolv.conf
на клиенте
# 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 10.42.0.1
Мне не хватает директивы конфигурации, которая позволяет dnsmasq
пересылать / разрешать клиентские DNS-запросы?