"Підроблений" DNS для одного хоста


11

Я запускаю сервер bind9 dns у своїй домашній мережі, який обслуговує всі мої внутрішні сервери в моєму домені local / 192.168.xx - один із них extweb.local 192.168.1.33 також видно з Інтернету як home.sickel.net ( ну, не зовсім, але ви розумієте)

Чи можна встановити мій внутрішній dns так, щоб він разрешил home.sickel.net як 192.168.1.33? Усі інші хости на sickel.net запускаються зовні і не повинні бути вирішені моїми внутрішніми dns.

(Все це головним чином для того, щоб полегшити роботу всій родині, щоб вони завжди могли посилатися на сервер як home.sickel.net, незалежно від того, чи є вони вдома, чи отримують доступ до нього через www)

На всіх серверах моєї домашньої мережі працює debian. Всі вони в одній підмережі, з'єднані через єдиний шлюз до Інтернету.


1
Вам потрібно буде описати налаштування більш докладно, якщо ви хочете дійсних відповідей. Що таке макет? Наприклад, маршрутизатор DSL, home.sickel.example та інші машини вдома - це все висить? Яка ОС працює вдома ? Буде досить просто налаштувати прив'язку таким чином, щоб додому обробляла всі DNS-запити та передавала що-небудь інше, ніж домашні IP-адреси, на ваші DNS-сервери провайдера (налаштування підлеглого).
тинк

2
Вам потрібно змінити пошукові запити із зоною home.sickel.net. Деталі тут: serverfault.com/a/223958
Метт

Відповіді:


11

Звичайно, ви можете це зробити. Подивіться тут: https://help.ubuntu.com/community/BIND9ServerHowto#Primary_Master_Server_configuration

red@ubuntu:/etc/bind$ cat named.conf.local
zone "home.sickel.net." {
             type master;
             file "/etc/bind/db.sickel.net";
        };

red@ubuntu:/etc/bind$ cat db.sickel.net
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
home.sickel.net. IN     A       192.168.1.33
red@ubuntu:/etc/bind$ sudo service bind9 restart
 * Stopping domain name service... bind9 [ OK ]
 * Starting domain name service... bind9 [ OK ]
red@ubuntu:/etc/bind$ dig +short home.sickel.net @localhost
192.168.1.33
red@ubuntu:/etc/bind$ dig +short sickel.net @localhost
85.19.71.164

Тепер просто змініть /etc/resolv.conf, щоб використовувати 127.0.0.1 в якості основного сервера імен.


1
Ваш підхід є недоліком у тому, що він запобігає вирішенню для будь-якого хоста, ім'я якого foobar.home.sickel.net.
Петур Інгі Егільссон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.