Я купил доменное имя example.ir
у поставщика доменных имен моей страны nic.ir
и
VPS из examplevps.ir
.
Мой VPS дал мне статический IP-адрес, и давайте представим, что это: 170.120.100.140
Установил веб-сервер, работающий на локальном хосте 127.0.0.1
и eth0 170.120.100.140
.
Я могу подключиться к своему VPS через ssh и делать все, что захочу, и я новичок ... мой первый VPS.
На самом деле настройте свой bind9 следующим образом:
named.conf .local
zone "example.ir" {
type master;
file "/etc/bind/db.example.ir";
};
zone "140.100.120.170.in-addr.arpa" {
type master;
file "/etc/bind/db.170";
};
db.example.ir
$TTL 604800
@ IN SOA example.ir. root.example.ir. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS example.ir.
@ IN A 170.120.100.140
@ IN AAAA ::1
db.170
$TTL 604800
@ IN SOA example.ir. root.example.ir. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS example.ir.
170 IN PTR example.ir.
и также никогда не забывайте:
service bind9 restart
root@examplevps$ nslookup example.ir
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.ir
Address: 170.120.100.140
root@examplevps$ nslookup example.ir
;; Got SERVFAIL reply from 8.8.8.8, trying next server
Server: 4.2.2.4
Address: 4.2.2.4#53
** server can't find example.ir: SERVFAIL
На основании информации, которую я предоставил выше, совершенно ясно, чего я хочу ... и я думаю, что должен сделать что-то вроде:
+------------------+
| My VPS |
| 170.120.100.140 |
+------------------+
|
+------------------+
| ns.examplevps.ir | bind 170.120.100.140 > example.ir
+------------------+
|
+------------------+
| nic.ir | bind ns.examplevps.ir > nic.ir
+------------------+
Я прочитал много страниц в Интернете, но до сих пор не могу понять, как это работает.
Вы должны разрешать запросы отовсюду. Либо добавьте следующее к каждому оператору зон в name.conf.local
, чтобы можно было опрашивать зоны по отдельности, либо добавьте его в name.conf.options
, чтобы можно было опрашивать все зоны:
allow-query { any; };
Я рекомендую использовать dig
для отладки:
apt-get install dnsutils # for debian/ununtu
dig +trace example.ir
Далее необходимо указать ваш nic
на вашем сервере имен. Обычно это делается в web-интерфейсе nic, где вы указываете клеевые записи для каждой зоны с сервером имён, обслуживающим эту зону, в виде:
ns.example.ir -> 170.120.100.140
Скорее всего, вам также нужно будет указать 2 сервера имён. Вы можете указать их на один и тот же IP, хотя, скорее всего, вы получите предупреждение, что используются не 2 разных IP-адреса.
ns1.example.ir -> 170.120.100.140
ns2.example.ir -> 170.120.100.140
Вам также нужно определить клеевые записи в зоне вашего dns-сервера:
@ IN SOA ns1.example.ir. hostmaster.example.ir. (
...
(
@ IN NS ns1
@ IN NS ns2
...
ns1 IN A 170.120.100.140
ns2 IN A 170.120.100.140
...