LINUX.ORG.RU
ФорумAdmin

dnsmasq, разные адреса для доменов для локалки и VPN

 , ,


1

1

Добрый день.

Подскажите как можно настроить dnsmasq так, что бы он отдавал разные записи для одного доменного имени в зависимости от адреса клиента.

Т.е., у меня есть домашняя локальная сеть и я использую dnsmasq только как DNS сервер, что бы блокировать рекламные сайты. Так же я поднял OpenVPN для того что бы иметь возможность подключаться к домашним компьютерам удалённо (не только VNC, но и всякие радости типа умного дома и Git). Теперь я хочу используя один DNS адрес обращаться как из локалки, так и из VPN.

Я добавил в файл /etc/hosts на сервере нужные мне имена два раза, для локалки и VPN. Теперь когда я пытаюсь резолвить эти адреса, то я получаю два адреса. И дело в том что браузер и git пытаются в начале ломиться на локальный адрес и в итоге у них это если и получается, то очень не быстро.

И теперь я хочу что бы если запрос в dnsmasq приходит из 10...* то отдавать один адрес, если из 192.168.. то другой.

На форумах предлагают запускать dnsmasq с различными настройками и привязкой к разным интерфейсам, но я хотел бы всё решить одним демоном в памяти. Если конечно dnsmasq такое умеет.

Если есть у кого то подобный опыт, то подскажите пожалуйста как такое реализовать.

Заранее благодарю!

Это называется «split horizon». Не уверен, что возможно в dnsmasq штатно. Для него вполне обычно именно использование отдельных копий с разными настройками (к примеру, в системах виртуализации для разных сетей).

anonymous
()

Перед или вместо dnsmasq dnsdist, он такое умеет.

yandrey
()

Кроме как 2 инстанса dnsmasq, повешенных на локальный и внешний интерфейсы и имеющие разные конфиги ничего на ум не приходит.

Всяких view(по аналогии с BIND) тут не завезли.

Pinkbyte ★★★★★
()
Ответ на: комментарий от anonymous

Да. Потому что поддержку authoritative dns завезли относительно недавно, dnsmasq изначально планировался как кеширующий резолвер. С возможностью отдать пару записей(но не полноценную зону) вместо обращения к апстрим-серверу. В домашнем применении обычно более чем достаточно, но всегда есть нюансы...

Вспомнил, есть localise-queries - в случае когда интерфейсы, за которыми находятся клиенты разные и отвечать надо адресом находящимся непосредственно в IP-сегменте интерфейса - может сработать.

Но с view в BIND конечно этот костыль не сравнится...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.