DNS設定 · 1 min read · Feb 11, 2026

BINDを使用したUbuntu Hardy 8.04 LTS DNSサーバーのインストール - ページ4

10 DNSサーバーのインストール

実行します

apt-get install bind9

セキュリティ上の理由から、BINDをchroot環境で実行したいので、以下の手順を実行する必要があります:

/etc/init.d/bind9 stop

ファイル/etc/default/bind9を編集して、デーモンが特権のないユーザーbindとして、/var/lib/namedにchrootされるようにします。行を修正します: OPTIONS=”-u bind”をOPTIONS=”-u bind -t /var/lib/named”に変更します:

vi /etc/default/bind9

| OPTIONS="-u bind -t /var/lib/named" # resolvconfを実行しないためにRESOLVCONF=noを設定 RESOLVCONF=yes |

/var/libの下に必要なディレクトリを作成します:

mkdir -p /var/lib/named/etc  
mkdir /var/lib/named/dev  
mkdir -p /var/lib/named/var/cache/bind  
mkdir -p /var/lib/named/var/run/bind/run

次に、/etcから/var/lib/named/etcに設定ディレクトリを移動します:

mv /etc/bind /var/lib/named/etc

古い場所から新しい設定ディレクトリへのシンボリックリンクを作成します(将来bindが更新されたときの問題を避けるため):

ln -s /var/lib/named/etc/bind /etc/bind

nullデバイスとrandomデバイスを作成し、ディレクトリの権限を修正します:

mknod /var/lib/named/dev/null c 1 3  
mknod /var/lib/named/dev/random c 1 8  
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random  
chown -R bind:bind /var/lib/named/var/*  
chown -R bind:bind /var/lib/named/etc/bind

重要なメッセージをシステムログに記録できるようにするために、/etc/default/syslogdを修正する必要があります。行を修正します: SYSLOGD=””をSYSLOGD=”-a /var/lib/named/dev/log”に変更します:

vi /etc/default/syslogd

| # # syslogdのトップ設定ファイル # # 可能な引数の完全なドキュメントはmanページ # syslogd(8)にあります。 # # リモートUDPロギングにはSYSLOGD="-r"を使用します # SYSLOGD="-a /var/lib/named/dev/log" |

ロギングデーモンを再起動します:

/etc/init.d/sysklogd restart

BINDを起動し、/var/log/syslogでエラーを確認します:

/etc/init.d/bind9 start

11 BINDの設定

現在、BINDのメイン設定ファイルはnamed.confですが、named.conf.localはすでにnamed.confに含まれており、カスタマイズされた設定のためにありますので、named.conf.localを編集し、ゾーンを追加します。ここでは、tm.localというゾーンと192.168.0.0の逆ゾーンを追加しました:

vi /etc/bind/named.conf.local

| zone "tm.local" { type master; file "/etc/bind/zones/tm.local.db"; }; zone "3.13.10.in-addr.arpa" { type master; file "/etc/bind/zones/rev.0.168.192.in-addr.arpa"; }; |

named.confまたはnamed.conf.localにコメントを追加したい場合は//を使用してください。また、上記のtm.localのゾーンファイルはtm.local.dbと呼ばれ、/etc/bind/zoneにあります。ゾーンファイルが使用する最も重要なことは、コメントのプレフィックスとして. DOTを使用することです。多くのフォーラムで混乱を見たので、ここに追加することにしました - (逆ゾーンについても同様です)。

12 ゾーンの設定

ゾーンtm.localから始めます

mkdir /etc/bind/zones
vi /etc/bind/zones/tm.local.db

| $TTL 1500 @ IN SOA server1.tm.local. root ( 2007062703 ;serial 28800 ;refresh 3600 ;retry 604800 ;expire 38400 ) ;minimum 25 minutes tm.local. IN NS server1.tm.local. server1 IN A 192.168.0.100 webserver1 IN A 192.168.0.103 webserver2 IN A 192.168.0.104 loadb1 IN A 192.168.0.101 loadb2 IN A 192.168.0.102 tm.local. IN MX 10 server1.tm.local. |

上記のゾーン名(tm.local)やDNSサーバー名(server1)を必要に応じて置き換えてください。ただし、ゾーン名の後のDOTに注意してください。

次に、逆ゾーンに進みましょう。

vi /etc/bind/zones/rev.3.13.10.in-addr.arpa

| $TTL 1500 @ IN SOA server1.tm.local. root ( 2007062703 ;serial 28800 ;refresh 3600 ;retry 604800 ;expire 38400 ) ;minimum 25 minutes IN NS server1.tm.local. 100 IN PTR server1.tm.local. 103 IN PTR webserver1.tm.local. 104 IN PTR webserver2.tm.local. 101 IN PTR load1.tm.local. 102 IN PTR load2.tm.local. |

次に、サーバーを設定して、外部IPを解決できるようにISPサーバーにリクエストを転送します。

vi /etc/bind/named.conf.options

フォワーダーセクションのコメントを外して、次のようにします:

| forwarders { # 以下のアドレスをISP DNSサーバーのアドレスに置き換えます 123.123.123.123; }; |

13 サーバーをDNSとして使用するように設定

vi /etc/resolv.conf

| search tm.local nameserver 192.168.0.100 |

14 参考文献と出典

  • Falkoの記事「完璧なサーバー - Ubuntu Hardy Heron (Ubuntu 8.04 LTSサーバー)」
  • UbuntuのBIND「BINDでDNSサーバーを設定する方法
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。