このチュートリアルでは、Ubuntu 16.04 LTSにDNSサーバーをインストールして構成する方法を示します。知らない人のために、BINDは広く使用されているDNSサーバーです。理想的には、DNSサーバーは、同時に動作する2台のマシンで構成され、1台はマスターとして機能し、もう1台はスレーブとして機能します。ドメインレジストラが無料のDNSサーバーを提供していない場合、またはカスタムDNSレコードの場合、独自のDNSサーバーをホストする必要がある場合があります。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudoを追加する必要があります。 ‘ルート権限を取得するコマンドに。ステップバイステップのインストールを示し、Ubuntu 16.04(Xenial Xerus)サーバー上のubuntuでDNSサーバーを構成します。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:Ubuntu 16.04(XenialXerus)。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)。
non-root sudo userまたはroot userへのアクセス 。non-root sudo userとして行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があります。
Ubuntu16.04LTSにDNSサーバーをインストールして構成する
| ホスト | 役割 | プライベートFQDN | プライベートIPアドレス |
|---|---|---|---|
| ns1 | プライマリDNSサーバー | 108.100.100.1 | |
| ns2 | セカンダリDNSサーバー | 108.100.100.2 | |
| ホスト | 汎用ホスト | your-domain.com | 216.239.38.120 |
手順1.まず、次のapt-getを実行して、すべてのシステムパッケージが最新であることを確認します。 ターミナルのコマンド。
sudo apt-get update sudo apt-get upgrade
ステップ2.DNSサーバーBind9をインストールします。
システムを更新した後、次のコマンドを実行して、DNSサーバーのセットアップに使用されるBIND9パッケージをインストールします。
apt-get install bind9 bind9utils bind9-doc
ステップ3.Bind9を構成します。
サーバーに解決するようにドメインを設定する方法の基本的な構成を示すときが来ました:
### nano /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
additional-from-auth no;
additional-from-cache no;
version "Bind Server";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
8.8.8.8;
8.8.4.4;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
allow-recursion { 127.0.0.1; };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
}; ステップ4.ローカルファイルを設定します。
次に、DNSゾーンを指定するために、ローカルファイルを構成します。
### nano /etc/bind/named.conf.local
//place these lines at the bottom of file
zone "your-domain.com" {
type master;
file "/etc/bind/zones/your-domain.com.db";
allow-transfer { 108.200.200.2; };
also-notify { 108.200.200.200.2; };
}; 上記の設定では、ゾーンファイルを「/etc/bind/zones/your-domain.com.db」に配置しているためです。 「次に、フォルダとファイルを作成する必要があります:
mkdir /etc/bind/zones nano /etc/bind/zones/your-domain.com.db
$TTL 86400
$ORIGIN your-domain.com.
@ IN SOA ns1.your-domain.com. root.your-domain.com. (
1 ; Serial
86400 ; Refresh
7200 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.your-domain.com.
@ IN NS ns2.your-domain.com.
ns1 IN A 108.100.100.1
ns2 IN A 108.100.100.2
;also list other computers
@ IN A 216.239.38.120
www IN A 216.239.38.120
次に、bind9サービスを再起動して、変更を有効にします。
systemctl restart bind9
ステップ5.セカンダリDNSサーバーを構成します。
スレーブバインドオプションを設定します:
### nano /etc/bind/named.conf.options
zone "your-domain.com" {
type slave;
file "/var/cache/bind/your-domain.com.db";
masters {108.100.100.1;};
}; bind9サービスを再起動して、変更を有効にします:
systemctl restart bind9
このDNSサーバーは、ドメインの名前サーバーを変更するまで機能しません。ドメインの登録事業者のウェブサイトから変更できます。このシナリオでは、名前サーバーを次のように変更します。
ns1.your-domain.com
ns2.your-domain.com
ステップ6.BINDのテスト。
最後に、このテストはDNSサーバー自体、別のサーバー、または自分のPCのいずれかで実行できます。この場合、テストはUbuntuOSを実行している別のサーバー。
dnsutilsをインストールします:
apt-get install dnsutils
dig DNSテストを実行します:
dig your-domain.com
nslookup dnsテストを実行します:
nslookup your-domain.com
おめでとうございます。DNSサーバーが正常にインストールされました。このチュートリアルを使用して、Ubuntu 16.04 LTS(Xenial Xerus)システムにDNSサーバーをインストールしていただきありがとうございます。その他のヘルプや役立つ情報については、 bind9の公式ウェブサイトを確認してください。