• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

bind

date: 2021-12-18 excerpt: bindの設定と使い方

tag: linuxbindnamedzonedns


bindの設定と使い方

概要

  • bind - bind a name to a socket
  • Unbound等とは異なり他のDNSサーバを参照するだけではなく、登録も可能である

用語

ゾーン

  • DNSサーバが管轄するドメインの範囲
  • ゾーンを管理できることを権威があるという

再帰的な問い合わせ

  • DNSを問われたサーバは他のDNSに問い合わせを行う
  • その内容を最初に問われた元に返すことを再帰的な問い合わせという

設定

設定ファイル

  • /etc/named.conf

各種ステートメント

acl

  • アクセス制御
  • 予約語
    • any
    • localhost
    • localnets
    • none

optionステートメント

  • listen-on { 127.0.0.1; };
    • アクセスを許可するIP
  • forwarders {8.8.8.8;8.8.4.4;};
    • 転送を許可するIP
  • allow-recursion { 127.0.0.1; };
    • 再起を許可
  • direcotry
    • ゾーンファイルを格納するディレクトリ
  • datasize
    • データセグメントの上限
  • coresize
    • コアファイルのサイズ上限
  • max-cache-szie
    • 最大キャッシュサイズ(バイト単位)
  • recurssion yes|no
    • 再起問い合わせを受けつるか
  • recursive-clients
    • 再起を受け付ける件数
  • allow-query
    • 問い合わせを受け付けるホスト
  • allow-recurssion
    • 再起を受け付けるホスト
  • allow-transfer
    • ゾーン転送を受け付けるか
  • allow-update
    • ゾーンの動的アップデートを行うか
  • blackhole
    • 問い合わせを受けつかないホスト
  • forwarders
    • 問い合わせの回送先DNS
  • forward only|first
    • 回送方法
    • onlyだとDNSキャッシュサーバとしての運用
  • notify
    • セカンダリに通知するか

controlsステートメント

  • bind, namedを操作できるIP、ホスト

zoneファイル

設定ファイル

  • /var/named/domain.tld.zone

要素

  • $TTL
    • 有効期限
  • @
    • named.confで指定したゾーン名に置き換えられる
  • type hint|master|slave
    • hint
      • ルートDNS
    • master
      • ゾーンに対してのプライマリDNS
    • slave
      • ゾーンに対してのセカンダリDNS
  • masters
    • プライマリDNSサーバ

リソースレコードタイプ

  • SOA
    • 管理情報
  • NS
    • ゾーンを管理するDNSサーバ
  • MX <num>
    • メールサーバ
    • numが小さいほど高い優先度
  • A
    • IPアドレス
  • AAAA
    • IPv6
  • CNAME
    • 別名
  • PTR
    • IPに対するホスト(逆引き)

設定例

$TTL 7200
; domain.tld
@       IN      SOA     ns01.domain.tld. postmaster.domain.tld. (
                                        2007011601 ; Serial
                                        28800      ; Refresh
                                        1800       ; Retry
                                        604800     ; Expire - 1 week
                                        86400 )    ; Minimum
                IN      NS      ns01
                IN      NS      ns02
ns01            IN      A       0.0.0.0
ns02            IN      A       0.0.0.0
localhost       IN      A       127.0.0.1
@               IN      MX 10   mail
imap            IN      CNAME   mail
smtp            IN      CNAME   mail
@               IN      A       0.0.0.0
www             IN      A       0.0.0.0
mail            IN      A       0.0.0.0
@               IN      TXT     "v=spf1 mx"

各種ツール

各種namedコマンド

  • named-checkconfig
    • コンフィグファイルのチェック
  • named-checkzone
    • ゾーンファイルのゾーンをチェック
  • named-compilezone
    • ゾーンファイルのコンパイル

chroot環境で起動

# named -t /chroot -u <user> -g <group>

dnssec-keygen

概要

  • dnssecで使われる公開鍵と秘密鍵を作成する
  • DNSSEC, TSIGをターゲットに作成する
    • DNSSRC
      • 公開鍵によって署名することでゾーンの改ざんが行われていないことを保証する
      • dnssec-signzoneコマンドでゾーンファイルに署名する
    • TSIG
      • DNSサーバ間に共通の秘密鍵を設定することで送信元のなりすましや改ざんを防ぐ

引数(DNSSEC)

  • -a
    • アルゴリズム, RSAMD5, DSA, RSASHA1, RSASHA256, RSASHA512
  • -b
    • 鍵のビット長 
  • -n
    • オーナタイプ、ZONE

引数(TSIG)

  • -a
    • アルゴリズム, HMAC-MD5, HMAC-SHA1, HMAC-SHA256, HMAC-SHA512
  • -b
    • 鍵のビット長 
  • -n
    • オーナタイプ、HOST

参考

  • BIND@ArchWiki

rndcコマンド

概要

  • namedを操作するコマンド

引数

  • stop
    • namedを停止する
  • refresh
    • ゾーンデータベースをリフレッシュ
  • stats
    • 統計情報をシュルちょく
  • dumpdb
    • キャッシュの内容をファイルに出力
  • reload <domain>
    • 指定したゾーンファイルを再読み込み
  • halt
    • namedを終了


linuxbindnamedzonedns Share Tweet