8、DNSサーバー(BIND9)のインストール
DNSとはインターネットでURLに表示されるドメインと実際のサーバーのグローバルIPアドレスを結びつけるくれる仕組み(プロトコル)。
ルーターの53/TCP,UDPポート開放。
# apt -y install bind9 bind9utils dnsutils
# vi /etc/bind/named.conf
コメント化
# include "/etc/bind/named.conf.default-zones";
追記
include "/etc/bind/named.conf.internal-zones";
include "/etc/bind/named.conf.external-zones";
・BIND9の設定
例としてグローバルアドレス [abc.def.ghi.jkl/29](実際は数字), プライベートアドレス [192.168.*.*/24], ドメイン名 [ドメイン.jp] とする。
ここらへんについてはコチラ。
# vi /etc/bind/named.conf.internal-zones
新規作成、内部向けの定義
view "internal" {
match-clients {
localhost;
192.168.*.0/24;
};
zone "ドメイン.jp" {
type master;
file "/etc/bind/ドメイン.jp.lan";
allow-update { none; };
};
zone "*.168.192.in-addr.arpa" {
type master;
file "/etc/bind/*.168.192.db";
allow-update { none; };
};
include "/etc/bind/named.conf.default-zones";
};
# vi /etc/bind/named.conf.external-zones
新規作成、外部向け
view "external" {
match-clients { any; };
allow-query { any; };
recursion no;
zone "ドメイン.jp" {
type master;
file "/etc/bind/ドメイン.jp.wan";
allow-update { none; };
};
zone "jkl.ghi.def.abc.in-addr.arpa" {
type master;
file "/etc/bind/"jkl.ghi.def.abc.db";
allow-update { none; };
};
};
# vi /etc/bind/named.conf.options
//========================================================================
// 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
//========================================================================
の前に追記
allow-query { localhost; 192.168.*.*/24; };
allow-transfer { localhost; 192.168.*.*/24; };
allow-recursion { localhost; 192.168.*.*/24; };
# もしIPV6を利用しないならば変更
listen-on-v6 { none; };};
ゾーン情報設定
ルーターの443/TCPポート開放
内部向け正引き
# vi /etc/bind/ドメイン.jp.lan
$TTL 86400
@ IN SOA www.ドメイン.jp. root.ドメイン.jp. (
2018012715 ;Serial(適当な日にちを入力)
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS www.ドメイン.jp.
IN A 192.168.*.*
IN MX 10 www.ドメイン.jp.
www IN A 192.168.*.*
外部向け正引き
# vi /etc/bind/ドメイン.jp.wan
$TTL 86400
@ IN SOA www.ドメイン.jp. root.ドメイン.jp. (
2018012715 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS www.ドメイン.jp.
IN A abc.def.ghi.jkl
IN MX 10 www.ドメイン.jp.
www IN A abc.def.ghi.jkl
起動と動作確認
# apt -y install resolvconf
# vi /etc/network/interfaces
追記
dns-nameservers 192.168.*.*
# systemctl restart bind9
# vi /etc/resolv.conf
domain ドメイン.jp
search ドメイン.jp
nameserver 192.168.*.*
# systemctl restart ifup@* resolvconf bind9
ここの*は# vi /etc/network/interfacesのifaceの次の文字列を入力する。
# dig ドメイン.jp
パッと表示されなかったら失敗している。
# dig -x 192.168.*.*
毎度のことながらこの記事は自分が忘備録として書いているだけなので正確性も保証しかねるし問題が起きても質問にも答えられないし責任も取れない。
debianはフリーのLinuxOSなのでそのへんは全て自己責任ということになるのを覚悟で実行してもらいたい。