2016年10月〜2018年3月の期間中に、DNSSECのルートゾーン鍵の更新がなされます。(KSKロールオーバー)
これに伴い、「/etc/bind/bind.keys」の更新が必要です。「/etc/bind/bind.keys」をこちらの内容で上書きするなどして対応してください。
これに伴い、「/etc/bind/bind.keys」の更新が必要です。「/etc/bind/bind.keys」をこちらの内容で上書きするなどして対応してください。
DNSはドメイン名とIPアドレスを結びつけるためのプロトコルです。
これは非常に重要なプロトコルで、現在のインターネットを成り立たせているものの一つと言っても過言ではありません。
家庭でDNSキャッシュサーバーを立てる利点としては、
- PC・スマホ等インターネットに繋ぐ機器が多い場合は、取得したデータをキャッシュしておいて利用できる。
- (ISPのDNSサーバーを含め)セキュリティの状態がはっきりしないサーバーを使わないことで、セキュリティを向上できる。
等の利点があります。
ここでは、代表的なDNSサーバー「BIND」を利用して、DNSキャッシュサーバを立てる方法について説明します。
5.1.「BIND」のインストール
「BIND」をインストールするには、以下のコマンドでインストールできます。
sudo apt-get install bind9
5.2.「BIND」の設定
- BINDの設定ファイル「/etc/bind/named.conf.options」を以下のように編集する。
(変更) dnssec-validation auto; ↓ dnssec-validation yes; listen-on-v6 { any; }; ↓ listen-on-v6 { localhost; localnets; }; (追加) dnssec-enable yes; cleaning-interval 15; max-cache-size 30M; version "None"; max-ncache-ttl 30; max-cache-ttl 3600; allow-transfer { none; }; allow-query { localhost; localnets; }; allow-recursion { localhost; localnets; }; listen-on { localhost; localnets; };
- BINDの設定ファイル「/etc/bind/named.conf」を以下のように編集する。
(追加) include "/etc/bind/bind.keys";
- 以下のコマンドで、iptablesの設定を書き換え、DNSの通信ができるようにする。
bindユーザのユーザーIDは以下のコマンドで調べられる。sudo iptables -A INPUT -j ACCEPT -s (DNSを利用するネットワークアドレス)/(サブネットマスク) --protocol udp --destination-port 53 sudo iptables -A INPUT -j ACCEPT -s (DNSを利用するネットワークアドレス)/(サブネットマスク) --protocol tcp --destination-port 53 sudo iptables -A OUTPUT -j ACCEPT -m owner --uid-owner (bindユーザのユーザーID) --protocol udp --destination-port 53 sudo iptables -A OUTPUT -j ACCEPT -m owner --uid-owner (bindユーザのユーザーID) --protocol udp --source-port 53 -m state --state RELATED,ESTABLISHED sudo iptables -A OUTPUT -j ACCEPT -m owner --uid-owner (bindユーザのユーザーID) --protocol tcp --destination-port 53 sudo iptables -A OUTPUT -j ACCEPT -m owner --uid-owner (bindユーザのユーザーID) --protocol tcp --source-port 53 -m state --state RELATED,ESTABLISHED
2.5.の通り、iptablesの設定の変更後は以下のコマンドで設定を記録しておくこと。id -u bind
sudo iptables-save | sudo tee /etc/iptables/rules.v4
- 以下のコマンドで、BINDに設定を読み直しさせます。
sudo systemctl reload bind9
- 「/etc/dhcpcd.conf」を以下のように編集して、Raspbian自体がBINDを利用するようにする。
interface eth0 static domain_name_servers=127.0.0.1
- dhcpcdを再起動する
sudo systemctl restart dhcpcd
- 外部からDNSで名前解決してみる。
それぞれのOSの設定法については、「DNS 設定」で調べてください。(^^;)
製品紹介(Amazonアフィリエイト)
2017/9/10 DNSの設定記述先をdhcpcd.confに変更