Предварительное использование bind9 (1)

DNS

Эта статья впервые появилась в моем блоге:Предварительное использование bind9 (1)

предисловие

Я переустановил свой компьютер в пятницу, все еще используя классический способ windows + vmware + ubuntu (для меня). Но я не хочу каждый раз изменять файл хоста, чтобы получить доступ к моему доменному имени, поэтому мне интересно, есть ли лучший способ для меня добиться сопоставления доменного имени. В это время я задумался о настройке DNS-сервера самостоятельно. Просто сделайте это, я собираюсь использовать систему DNS с открытым исходным кодом.bind9Лайгао какой-то.

Введение в окружающую среду

  • Ubuntu: 18.10 (ip: 192.168.1.230)
  • bind9: 9.11.4
  • Windows 10 (ip: 192.168.1.230)

Установить

На самом деле установка очень проста, это сделает одна команда

sudo apt install bind9

Административные команды

запускать:

sudo systemctl start bind9

остановка:

sudo systemctl stop bind9

Перезагрузить:

sudo systemctl restart bind9

условие:

sudo systemctl status bind9

Настройте доменное имя

Например, теперь у нас есть доменное имя:baoguoxiao.pro. Теперь мы собираемся сделать виртуальное сопоставление этого доменного имени.

первый открытый/etc/bind/named.conf.local, добавьте в конец файла следующее:

zone "baoguoxiao.pro" {
    type master;
    file "/etc/bind/zones/baoguoxiao.pro.db";
};

Таким образом, содержимое этого файла теперь завершено следующим образом:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "baoguoxiao.pro" {
    type master;
    file "/etc/bind/zones/baoguoxiao.pro.db"; // 这个文件定义了文件地址
};

Адрес, который мы определяем,/etc/bind/zones/baoguoxiao.pro.db. но наш/etc/bind/Нет такого каталога. Итак, вам нужна следующая команда для создания:

cd /etc/bind/
sudo mkdir zones

Войдите в этот каталог:

cd zones

затем создайте файлbaoguoxiao.pro.dbи добавьте следующую команду:

; BIND data file for baoguoxiao.pro
;
$TTL 14400
@ IN SOA ns1.baoguoxiao.pro. host.baoguoxiao.pro. (
201006601 ; Serial
7200 ; Refresh
120 ; Retry
2419200 ; Expire
604800) ; Default TTL
;
baoguoxiao.pro. IN NS ns1.baoguoxiao.pro.
 
;baoguoxiao.pro. IN A 192.168.1.231
 
ns1 IN A 192.168.1.231
www IN A 192.168.1.231

На этом настройка завершена. Затем перезапускаем bind9.

Тестовый DNS-эффект

$ dig @192.168.1.231 www.baoguoxiao.pro

; <<>> DiG 9.11.4-3ubuntu5-Ubuntu <<>> @192.168.1.231 www.baoguoxiao.pro
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35630
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: f077ba72f04b75a1ac9b27275c16148f4732abac11c21ce8 (good)
;; QUESTION SECTION:
;www.baoguoxiao.pro.			IN	A

;; ANSWER SECTION:
www.baoguoxiao.pro.		14400	IN	A	192.168.1.231

;; AUTHORITY SECTION:
baoguoxiao.pro.			14400	IN	NS	ns1.baoguoxiao.pro.

;; ADDITIONAL SECTION:
ns1.baoguoxiao.pro.		14400	IN	A	192.168.1.231

;; Query time: 0 msec
;; SERVER: 192.168.1.231#53(192.168.1.231)
;; WHEN: Sun Dec 16 17:02:07 CST 2018
;; MSG SIZE  rcvd: 117

Ну значит настройка прошла успешно

Установить доступный собственный DNS по умолчанию

В предыдущих настройках нам нужно указать DNS-сервер локальной машины, прежде чем мы сможем его использовать, если мы его не укажем, то запрос доменного имени не будет иметь никакого эффекта:

$ dig baoguoxiao.pro

; <<>> DiG 9.11.4-3ubuntu5-Ubuntu <<>> baoguoxiao.pro
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 52385
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;baoguoxiao.pro.			IN	A

;; Query time: 274 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Dec 16 17:03:59 CST 2018
;; MSG SIZE  rcvd: 43

После ubuntu17.10 конфигурация сетевой карты была обновлена ​​до netplan. Каталог для этого файла конфигурации/etc/netplan/. Однако файлы внутри не обязательно имеют одно и то же имя. Мой файл открывается так.

$ cat /etc/netplan/50-cloud-init.yaml 
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        ens33:
            addresses: [192.168.1.231/24]
            dhcp4: false
            dhcp6: false
            gateway4: 192.168.1.1
            nameservers:
                addresses: [192.168.1.231,114.114.114.114]
    version: 2

Обратите внимание, что я добавляю локальный сервер в массив в предпоследней строке192.168.1.231. Для настройки этого файла вы можете проверить мою другую статью:UBUNTU17.10 устанавливает твердый IP.

Таким образом, мы можем получить ip доменного имени без указания dns-сервера на этой машине.

$ dig www.bgx.me

; <<>> DiG 9.11.4-3ubuntu5-Ubuntu <<>> www.baoguoxiao.pro
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58219
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 15d0881d8eed3292569558cd5c1623fa33a2d05212e7e662 (good)
;; QUESTION SECTION:
;www.baoguoxiao.pro.			IN	A

;; ANSWER SECTION:
www.baoguoxiao.pro.		14400	IN	A	192.168.1.231

;; AUTHORITY SECTION:
baoguoxiao.pro.			14400	IN	NS	ns1.baoguoxiao.pro.

;; ADDITIONAL SECTION:
ns1.baoguoxiao.pro.		14400	IN	A	192.168.1.231

;; Query time: 0 msec
;; SERVER: 192.168.1.231#53(192.168.1.231)
;; WHEN: Sun Dec 16 18:07:54 CST 2018
;; MSG SIZE  rcvd: 117

Вот и все для этой статьи. В следующей статье речь пойдет о том, как настроить доступ по локальной сети.