自宅ネットワークのbind9をdocker composeに移行した

自宅ネットワークのbind9をdocker compose化したので記録。 これまでホストで直接動かしていたけれど、OOM Killerか何かに3,4日に1度くらいでキルされていたので不便だった これでdocker composeのrestart機構で再起動がかかるようになる systemdのrestart機構ワカラナイ Dockerイメージ: https://hub.docker.com/r/ubuntu/bind9 コード docker-compose.yml services: bind9: image: ubuntu/bind9:9.18-22.04_beta restart: always ports: - "0.0.0.0:53:53/udp" volumes: - "./volumes/bind_etc/named.conf.local:/etc/bind/named.conf.local:ro" - "./volumes/bind_etc/named.conf.options:/etc/bind/named.conf.options:ro" - "./volumes/bind_var_cache:/var/cache/bind:rw" - "./volumes/bind_var_lib:/var/lib/bind:rw" environment: - "TZ=Asia/Tokyo" - "BIND9_USER=bind" # UID=101 volumes/bind_etc/named.conf.options acl my-network { 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; localhost; }; options { directory "/var/cache/bind"; response-policy { zone "rpz"; }; allow-query { any; }; allow-recursion { my-network; }; allow-query-cache { my-network; }; dnssec-validation auto; forward only; forwarders { # ISP DNS1; # ISP DNS2; 8.8.8.8; 8.8.4.4; 1.1.1.1; }; } volumes/bind_etc/named.conf.local zone "example.com" IN { type master; file "example.com.zone"; }; zone "rpz" { type master; file "rpz.zone"; allow-query { none; }; }; volumes/bind_var_cache/example.com.zone $ORIGIN example.com. $TTL 3600 @ IN SOA ns.example.com. root.example.com ( 2023012500 ; Serial 3600 ; Refresh 900 ; Retry 604800 ; Expire 86400 ; Minimum ) IN NS ns.example.com. ns IN A 127.0.0.1 @ IN A 127.0.0.1 sub IN CNAME example.com. volumes/bind_var_cache/rpz.zone $TTL 3600 @ IN SOA localhost. root.localhost. ( 2023012500 ; Serial 3600 ; Refresh 900 ; Retry 604800 ; Expire 86400 ; Minimum ) IN NS localhost. ; block malicious domains malicious.example.com A 0.0.0.0 既知の問題 libvirt dnsmasqが53/udpを先に取ると動かなくなりそう? ホストのbind9をアンインストール sudo apt purge bind9 sudo rm -rf /var/cache/bind/

2023年1月25日 · aoirint

bind9

server$ sudo apt install bind9 使用中のDNSサーバの確認 クライアントに設定されているDNSサーバはnmcliコマンドで確認できる。 $ nmcli device show | grep DNS IP4.DNS[1]: 8.8.8.8 IP4.DNS[2]: 8.8.4.4 IP4.DNS[3]: 1.1.1.1 Command-line to list DNS servers used by my system - Ask Ubuntu 用語 BIND DNSサーバー構築 | CentOSサーバー構築入門 コンテンツサーバ(権威サーバ) あるゾーン(DNSにおける名前の管理単位)に関する名前解決要求(非再帰問い合わせ)を受け取り、自身が管理するゾーンならば名前解決結果を、委任情報を持つゾーンならば委任先の権威サーバ情報を応答する。 ルートゾーン(FQDN: .)を管理するルートサーバは、TLD(例えば jp.)の権威サーバへの委任情報を持つ。 ゾーン情報において、NSレコードにより指定される。 JPRS用語辞典|ルートゾーン JPRS用語辞典|権威サーバー(権威DNSサーバー) JPRS用語辞典|ネームサーバー(DNSサーバー) キャッシュサーバ(フルサービスリゾルバ) クライアントから名前解決要求(再帰問い合わせ)を受け取り、 コンテンツサーバへ反復的に名前解決要求(反復問い合わせ)を送ることで任意のドメイン名の名前解決を行う。 JPRS用語辞典|フルサービスリゾルバー(キャッシュDNSサーバー) 例えばhoge.example.jp.というドメインの名前解決要求を受け取ったとき、 ルートサーバ.への非再帰問い合わせによりjp.権威サーバへの委任情報を取得する。 jp.権威サーバへの非再帰問い合わせによりexample.jp.権威サーバへの委任情報を取得する。 example.jp.権威サーバへの非再帰問い合わせによりhoge.example.jp.のIPアドレスを取得する、のような流れで反復的に問い合わせを行うことでhoge.example.jp.の名前解決を行う。 ISPの提供するDNSサーバや会社などの組織内DNSサーバ、GoogleやCloudflareなどが提供するパブリックDNSがある。 ASCII.jp:DNSによる名前解決の仕組みを理解しよう (1/2) 回送 プロキシのように、受け取った名前解決要求を他のDNSサーバに送り、 応答を返す。 /etc/bind/named.conf.options 自身が管理していない情報(ゾーン、委任情報)に関する問い合わせについて、 他のDNSサーバ(フルサービスリゾルバ)に問い合わせを回送するように設定する。 「再帰問い合わせ」と「非再帰問い合わせ」の違いを教えてください:DNS Tips - @IT BIND DNSサーバー構築 | CentOSサーバー構築入門 フォワード(回送) : お父さんのためのDNS講座 デフォルト設定ファイル options { directory "/var/cache/bind"; // 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 { // 0.0.0.0; // }; //======================================================================== // 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; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; 変更点 forwarders { 8.8.8.8; 8.8.4.4; 1.1.1.1; }; 初歩から解説!BINDでシンプルDNSサーバー構築【構築編】| 開発者ブログ | 株式会社アイソルート 確認 server$ systemctl restart bind9.service client$ dig @192.168.x.x aoirint.com ... ;; ANSWER SECTION: aoirint.com. 3600 IN A 185.199.108.153 aoirint.com. 3600 IN A 185.199.111.153 aoirint.com. 3600 IN A 185.199.109.153 aoirint.com. 3600 IN A 185.199.110.153 ... digコマンドの使い方 - Qiita /etc/bind/named.conf.local DNSサーバの管理するゾーンの名前と対応する設定ファイル(ゾーンファイル)を設定する。 ...

2021年6月9日 · aoirint