Как разрешить домен извне с помощью bind9?

Предисловие

Я размещаю веб-сервер и DNS-сервер в одном ящике в домашней сети. Внешний IP динамический. Чтобы справиться с этим, я использую платный сервис no-ip.com для автоматического обновления IP-адреса mydnsserver.com (скажем, внешний IP-адрес — 11.22.33.444). Я хочу использовать mydnsserver.com для разрешения mywebsite.com (и любых других веб-сайтов позже), чтобы все внешние подключения к mywebsite.com обрабатывались Apache.

Проблема

Проблема, с которой я сталкиваюсь и не могу найти решение, заключается в том, что когда я посещаю mywebsite.com на своем телефоне (внешнее подключение), мой браузер разрешается на localhost. Мне нужно, чтобы домен разрешался (как внутри сервера, так и снаружи) для Apache, работающего на mydnsserver.com, чтобы веб-сайт отображался с моего сервера. Я хочу сделать это без необходимости вводить IP-адрес сервера для записи A.

Настройки регистратора (Godaddy)

настройки сервера имен mywebsite.com

ns.mydnsserver.com
ns2.mydnsserver.com

настройки сервера имен mydnsserver.com

ns1.no-ip.com
ns2.no-ip.com
ns3.no-ip.com
ns4.no-ip.com
ns5.no-ip.com


Разрешить конфигурацию

/etc/resolve.conf

domain mywebsite.com
search mywebsite.com
nameserver 127.0.0.1


Конфигурация Bind9

/etc/bind/named.conf

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

/etc/bind/named.conf.options

options {
    directory "/var/cache/bind";
    dnssec-validation auto;
    auth-nxdomain no;
    listen-on-v6 { any; };
    listen-on port 53 { any; };
};

/etc/bind/named.conf.default-zones

zone "." {
    type hint;
    file "/etc/bind/db.root";
};

zone "mywebsite.com" {
    type master;
    file "/etc/bind/zones/mywebsite.zone";
};

zone "localhost" {
    type master;
    file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
    type master;
    file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
    type master;
    file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
    type master;
    file "/etc/bind/db.255";
};

/etc/bind/zones/mywebsite.zone

$TTL 1d
@       IN      SOA     mywebsite.com. root.mywebsite.com. (
                       2014112501   ; serial#
                       1h           ; refresh, seconds
                       1h           ; retry, seconds
                       1h           ; expire, seconds
                       1h )         ; minimum, seconds

@               IN      NS      mywebsite.com.
@               IN      A       127.0.0.1
@               IN      MX 0    mail.mywebsite.com.
www     IN      A       127.0.0.1


нслукап

mywebsite.com

Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   mywebsite.com
Address: 127.0.0.1

mydnsserver.com

Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   mydnsserver.com
Address: 11.22.33.444


То, что я делаю, невозможно? Должен ли я использовать реальный IP-адрес для разрешения? Похоже, он берет именно то, что я ввожу в файл зоны, и настраиваю любой браузер именно на это.


person Lakitu    schedule 25.11.2014    source источник


Ответы (1)


Перемещение файла зоны из /etc/bind/zones и обновление named.conf.default для поиска зон в новом местоположении устранило проблему.

person Lakitu    schedule 26.11.2014