![]() |
LINUX |
Bindのインストール
*独自にDNSサーバ (グローバル、ローカル兼用) を立てます
*bind-9.7.1-P2をソースからインストールし、設定します
*LINUXルータ上で固定グローバルIPで動かします
*openssl 0.9.7l以上、0.9.8d以上を必要とします
*make はメンテナンスマシンで行っています
**以降はコメントです
*ソースの取得、削除は略します
*エディタ、ファイラーの操作は省略します
*ソースを展開したら説明文 (英文) を読みましょう
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :bind-9.7.1-P2.tar.gz | (http://www.isc.org/) |
参照ファイル:パッケージの追加
:最初の設定 (Router)
:opensslのインストール
インストール環境| :OS | CentOS 5.5 |
| :selinux | permissive |
| :インストール先 | /usr/local/(デフォルト) |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスの場合は一般ユーザから行います
bind-9.7.1-P2
既存パッケージの削除rpm -e bind-libs bind-utils
bind専用ユーザーを作成します*uid/gid情報を参照
*zoneファイル専用ディレクトリを作ります
# useradd -u 25 -d /dev/null -s /bin/false named
# mkdir -p /var/named/{data,slave}
# chown -R named:named /var/named
# chmod -R 750 /var/named
ソースの展開・インストール
# cd /usr/src
# tar zxvf bind-9.7.1-P2.tar.gz
# chown -R root:root bind-9.7.1-P2
# cd bind-9.7.1-P2
# make distclean
# ./configure CFLAGS="-O2 -march=pentium3" \
--sysconfdir=/etc \
--localstatedir=/var \
--with-randomdev=/dev/urandom \
--with-libtool \
--with-openssl=/usr/local
*CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
*該当しない場合は指定しない
*オプションは半角を入れて続けて記入した方が良い
# make && make test
# make install
# cd ..
# tar jcvf bind-9.7.1-P2-100716.tar.bz2 bind-9.7.1-P2/
キャッシュ情報の更新と確認*既に/usr/local/libの設定をされている場合はスキップする
# echo /usr/local/lib >> /etc/ld.so.conf.d/usrlocal.conf # ldconfig # ldconfig -p | grep libbind9 # ldconfig -p | grep libdns
rndc.confファイルを作成*opensslが上手く組み込まれないとrndc-confgenは動作しないと思う?
*同時にkeyが作成されるのでそのまま使用します
*"-b 512"は512bitsでkeyをつくる指定です
# rndc-confgen -b 512 >> /etc/rndc.conf
*configureでrandomdevを指定しない場合、作成に時間がかかる場合があります
*-rオプションでrandomfileを指定します
# rndc-confgen -b 512 -r /dev/urandom >> /etc/rndc.conf
:/etc/rndc.conf
*コメントされている部分(key,controls)をnamed.confに書き込みます
*key の "secret" の値は128bitの値で、実際とは異なります
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "BsLtRyyU2gIgPAmofxAssQ==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf,
# adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "BsLtRyyU2gIgPAmofxAssQ==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
"." 情報を取得し、/var/named/dataに保存します*A.ROOT-SERVERに問い合わせ "." 情報を取得します
# cd /var/named/data # dig . ns @198.41.0.4 > named.cache
zoneファイルをつくり、/var/named/dataに保存します
named.conf,resolv.confファイルを作り、/etcに保存します:/etc/resolv.conf
*aaa.bbb.ccc.ddd には2nd.name.serverのアドレスを入れます
search 528p.com nameserver 127.0.0.1 nameserver aaa.bbb.ccc.ddd
/etc/sysconfig/namedファイル*named起動スクリプトで読みこみます
*IPv4のみの接続にします
#ROOTDIR=/var/chroot/bind
OPTIONS=-4
named起動スクリプトを作り、/etc/rc.d/init.dに保存します:/étc/rc.d/init.d/named (詳細別記)
ファイル及びディレクトリのユーザ・グループ・パーミッションの設定*変更コマンド省略
| etc/ | 755 | root:root | |||
| named.conf | 640 | root:named | |||
| rndc.conf | 640 | root:named | |||
| bind.keys | 640 | root:named | |||
| sysconfig/ | 755 | root:root | |||
| named | 644 | root:root | |||
| var/ | 755 | root:root | |||
| named/ | 750 | named:named | |||
| named.pid | 644 | named:named | |||
| queries.log | 644 | named:named | |||
| session.key | 600 | named:named | |||
| slave/ | 750 | named:named | |||
| data/ | 750 | named:named | |||
| zone-file | 640 | named:named | |||
| named.cache | 440 | named:named | |||
rp-pppoeのDNS設定を変更します*rp-pppoeのインストールを参照
*xxxxxxxxxxxxの部分にはプロバイダーのユーザーIDをいれます
*"DNS: Do not adjust"でresolv.confが書き変わらなくなります
*/etc/ppp/pppoe.confを直接修正しても良いです
# pppoe-setup
USERNAME
>>> Enter your PPPoE user name:xxxxxxxxxxxx@ka.il24.net
INTERFACE
(default eth1):eth1
>>> Enter the demand value (default no):no
DNS
>>> Enter the DNS information here:← 未入力でEnterキー
PASSWORD >>> Please enter your PPPoE password:← パスワードを入力 >>> Please re-enter your PPPoE password:← 再入力
FIREWALLING >>> choose a type of firewall (0-2):2
** Summary of what you enterd ** Ethernet Interface:eth1 User name:xxxxxxxxxxxx@ka.il24.net Active-on-demand:NO DNS: Do not adjust Firewalling:MASQUERADE
>>>Accept these settings and adjust configuration files(y/N)?y
iptableの設定Netfilter(iptables)で制御している場合、ポートを開けてください
selinuxの対応 (selinuxが有効の場合)*新規インストールファイルのselinuxラベルを修正
# restorecon -Rv /etc # restorecon -Rv /usr/local # restorecon -Rv /var
namedの自動起動をonにし、再起動します# chkconfig --add named # shutdown -r now
bind起動後の確認
digコマンドで1st.name.serverの問い合わせをします*"aaa.bbb.ccc.ddd"には2nd.name.serverのアドレスを入れます
*正引き(ルートサーバから引きます)
$ dig ns 528p.com @A.ROOT-SERVERS.NET
*A.GTLD-SERVERS.NET(192.5.6.30)がcomを管理しているのが解かる
*A.GTLD-SERVERS.NET(192.5.6.30)で引く
$ dig ns 528p.com @192.5.6.30
*自分のDNSサーバ(master)で自分のDNSサーバを引く
$ dig ns.528p.com @219.117.201.3
*DNSサーバ(slave)で自分のDNSサーバを引く
$ dig ns.528p.com @aaa.bbb.ccc.ddd
*逆引き(ルートサーバから引きます)
$ dig ptr 3.201.117.219.in-addr.arpa @A.ROOT-SERVERS.NET
*219.in-addr.arpaはNS1.APNIC.NETが管理しているのが解かる
*NS1.APNIC.NETで引く
$ dig ptr 3.201.117.219.in-addr.arpa @NS1.APNIC.NET
*117.219.in-addr.arpaはa.dns.jp.が管理しているのが解かる
*a.dns.jp.で引く
$ dig ptr 3.201.117.219.in-addr.arpa @a.dns.jp
*201.117.219.in-addr.arpaはddns1.interlink.or.jpが管理しているのが解かる
*ddns1.interlink.or.jpで引く
$ dig ptr 3.201.117.219.in-addr.arpa @ddns1.interlink.or.jp
*プロバイダで逆引きの権限委譲をしているのでDNSサーバ名を返す
rndcコマンドを使う*chroot環境に係わらず、/etc/rndc.confを読みにいきます
*使用できるcommandを"# rndc --help"で確認します
*サーバの起動状態の表示
# rndc status
*(rndc querylogの実行ごとに)querylogの有効・無効の切り替え
# rndc querylog # rndc status
*サーバの統計情報をファイルに出力します
# rndc stats # less /var/named/named.stats
*キャッシュの内容をファイルに出力します
# rndc dumpdb # less /var/named/named_dump.db
*キャッシュの内容をクリアします
# rndc flush # rndc dumpdb # less /var/named/named_dump.db
![]() |
Copyright(c) 528p.com All Rights Reserved. |

