MYCSS

2019-01-21

pfSense overwrite DNS records on BIND DNS server.

Стала необхідність створити резервні - Secondary DNS zones інших DNS серверів котрі працюють у віртуальному середовищі. У випадку коли проводяться операції з віртуальним середовищами до DNS сервери не відповідають. Реалізував secondary DNS zones за допомогою BIND DNS server у pfSense.
Але для ефектного використання мережевих сервісів котрі працюють як на зовнішньому інтерфейсі так і у внутрішній мережі є необхідність перевизначати значення  DNS записів для різних локальних підмереж.
Так наприклад запис era.lexxai.pp.ua має IP адресу xxx.231.86.xxx, з глобальних DNS серверів, а потрібно щоб в локальній мережі для клієнтів підмережі 172.16.0.0/24, DNS запис era.lexxai.pp.ua мав IP адресу 10.250.10.15.
Згідно з публікацією: Overriding DNS for fun and profit.
Додаємо зону "rpz" де додаємо всі DNS записи які треба перевизначити.
Зона DNS "rpz" визначення зони "net172"
Зона DNS "rpz"додавання записів
Зона DNS "rpz"
BIND DNS ACLs "net172" , 172.16.1.0/24
BIND DNS View "net172"

Загальні налаштування BIND DNS сервера
Розширенні налаштування BIND DNS сервера, в custom options визначаємо response-policy {zone "rpz";};.
Або можемо не робити запис в розширених налаштування BIND DNS, а відмітити безпосередньо опцію "Response Policy Zone" в зоні "rpz"

Тестуємо з використанням локального DNS сервера в мережі - pfSense.

$ host -a era.lexxai.pp.ua
Trying "era.lexxai.pp.ua"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18328
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;era.lexxai.pp.ua.              IN      ANY

;; ANSWER SECTION:
era.lexxai.pp.ua.       5       IN      A       10.250.10.15

;; AUTHORITY SECTION:
rpz.                    43200   IN      NS      localhost.
Тестуємо з використанням віддаленого DNS сервера
$host  era.lexxai.pp.ua 1.1.1.1
Using domain server:
Name: 1.1.1.1
Address: 1.1.1.1#53
Aliases:

era.lexxai.pp.ua has address xxx.231.86.xxx




1 коментар:

Анонім сказав...

Спасибо за статью )
В миру это наз-ся Split DNS.

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready