BIND・DHCPD インストール on ubuntu
2006-07-02-5 / カテゴリ: [bind][ubuntu] / [permlink]

まぁ、フツーに。
# apt-get install bind9
# apt-get install dhcp

BIND は、debian と同じくこのへん(↓)は入るので
/etc/bind/db.0
/etc/bind/db.255
/etc/bind/db.empty
/etc/bind/zones.rfc1918
/etc/bind/db.127
/etc/bind/db.local
/etc/bind/db.root
/etc/bind/named.conf
/etc/bind/named.conf.local
/etc/bind/named.conf.options
LAN の設定だけしてやる。[2005-09-01-2]と同じだ :)
/etc/bind/db.naru.rev
/etc/bind/db.naru.zone
を追加し、named.conf.options に forwarders の設定追加。

DHCP も [2005-07-31-1] と同じように…って「前のやつを流用」がないのでメモ。
/etc/dhcpd.conf
option domain-name "xxx.example.org";
option domain-name-servers 192.168.1.1;

option subnet-mask 255.255.255.0;
default-lease-time 36000;
max-lease-time 86400;

subnet 192.168.0.0 netmask 255.255.255.0 {

}

subnet 192.168.1.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	option domain-name-servers 192.168.1.1;
	option broadcast-address 192.168.1.255;
	option routers 192.168.1.1;
	
	range 192.168.1.50 192.168.1.99;
}
192.168.0.0/24 はルータ側(つーかADSLモデム)でルータのDHCPサーバが動いてるので設定不要。

LAN 用 zone の設定
2005-09-01-2 / カテゴリ: [linux][debian][bind] / [permlink]

おうちサーバは no-ip の DDNS サービスを利用していて、外からは no-ip のドメインでアクセスできるけど、自宅の LAN からは、ADSL モデムが自身の global IP で自分にアクセスできない(local IP じゃないとアクセスできない)ので、ドメイン名でのアクセスはできない。
ので、ローカル用の BIND に、(local IP を返すように)no-ip で使用しているドメイン名の名前解決をやらせる。

※ 都合上、使用しているドメインは zaki.example.org とします。でもって、LAN のアドレスは 192.168.1.* です。あと、記述に誤りがあるかもしれません ^^;;

/etc/bind/named.conf
zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.zaki.rev";
};
zone "zaki.example.org" {
        type master;
        file "/etc/bind/db.zaki.zone";
};
を追記。

でもって、
/etc/bind/db.zaki.rev (逆引き用)
$TTL    86400
@       IN      SOA     ns.zaki.example.org.     root.zaki.example.org. (
                2005082801 ; Serial
                3600       ; Refresh
                900        ; Retry
                604800     ; Expire
                3600 )     ; Minimum
@       IN      NS      ns.zaki.example.org.
1       IN      PTR     cheddar.zaki.example.org.
2       IN      PTR     camembert.zaki.example.org.
20      IN      PTR     parmesan.zaki.example.org.
100     IN      PTR     mozzarella.zaki.example.org.
101     IN      PTR     mimolette.zaki.example.org.
102     IN      PTR     chaource.zaki.example.org.

/etc/bind/db.zaki.zone (正引き用)
$TTL    86400
@       IN      SOA     ns.zaki.example.org.     root.zaki.example.org. (
                2005082801 ; Serial
                3600       ; Refresh
                900        ; Retry
                604800     ; Expire
                3600 )     ; Minimum
@       IN      NS      ns
@       IN      A       192.168.1.1
cheddar         IN      A       192.168.1.1
camembert       IN      A       192.168.1.2
parmesan        IN      A       192.168.1.20
hdlan0          IN      A       192.168.1.30
mimolette       IN      A       192.168.1.101
chaource        IN      A       192.168.1.102

そーいや parmesan なんてマシンあったな。電源壊れて全く使ってないけど。
Referrer (Inside): [2006-07-02-5]

bind9 インストール
2005-07-31-2 / カテゴリ: [linux][bind][debian] / [permlink]

メインコンテンツで(略)
# aptitude install bind9
めんどいので、とりあえずゾーンの設定は省略。
/etc/bind/named.conf.options に
forwarders {
  dion の dns サーバのアドレス;
};
allow-query {
  127.0.0.1;
  192.168.1.0/24;
}
allow-transfer {
  127.0.0.1;
  192.168.1.0/24;
};
を追加。
こんだけで、一応のおうちLANから外の名前解決を代行。

BINDのログをsyslogへ一時的に出力する
2005-07-08-1 / カテゴリ: [linux][debian][bind] / [permlink]

# rndc querylog
停止はもう一度同じコマンドを。(トグルになってる)

BINDの統計情報
2005-07-06-2 / カテゴリ: [linux][debian][bind] / [permlink]

# rndc stats
このコマンドで、/var/cache/bind/named.stats ファイルに
+++ Statistics Dump +++ (1120658402)
success 10741
referral 0
nxrrset 1253
nxdomain 242898
recursion 6834
failure 23
--- Statistics Dump --- (1120658402)
というファイルができる。
それぞれ

success成功した問い合わせの数(参照先以外の応答を返したもの)
referral結果として参照先を返した問い合わせの件数。
nxrrset要求されたタイプのレコードが定義されていないドメイン名に関する問い合わせの件数。
nxdomain存在しないドメインネームを問い合わせた数。
recursionゾーン内のドメイン名に関する再帰的問い合わせの内、ネームサーバが更に問い合わせをしなければいけなかった件数。
failureNXDOMAIN以外で失敗した問い合わせの数。

ということ。(DNS&BIND クックブックp115より引用)

で、再度実行すると、前回実行したファイルの末尾に追記され続けるので、前回実行時との差分を実行間隔(括弧内のepochの差分)で割れば、秒間の問い合わせ平均数がわかる。

けど、何行ものログから、末尾2件分のparseはなかなかメンドイので(ラスト1件分だけ取得して、RRDtoolなんかに差分計算させる手もあるけど)、うちでは、実行前にファイル退避・rndc stats 実行・差分計算・結果をRRDtoolに食わせる、という感じ。

crontab (実際は1行)
0 * * * * /bin/mv /var/cache/bind/named.stats /var/cache/bind/named.stats.bak;
          /usr/sbin/rndc stats;
          /root/bin/bindstat/bindstats.plx > /var/cache/bind/named.diff

bindstats.plx
#!/usr/bin/perl

my %logfile = ( new => "/var/cache/bind/named.stats",
                old => "/var/cache/bind/named.stats.bak",
              );
my %logstat;

foreach my $key (keys %logfile) {
  open F, $logfile{$key} or die "cannot open $logfile{$key}: $!\n";
  while (<F>) {
    if (/^([a-z]+)\s(\d+)/) {
      $logstat{$key}->{$1} = $2;
    }
  }
  close F;
}

foreach my $item (sort keys %{$logstat{new}}) {
  print $item, ": ", ($logstat{new}->{$item} - $logstat{old}->{$item}), "\n";
}

これで、前回実行時との差分値が named.diff に出るので
failure: 0
nxdomain: 451
nxrrset: 7
recursion: 94
referral: 0
success: 109
このファイルの値を RRDtool につっこむ。

BIND統計グラフ

うーん、、、なんでこんなに名前解決にミスってんだろ^^;

BIND8 インストール ProLiant DL360 (redhat8)
2004-03-11-2 / カテゴリ: [linux][network][redhat][bind] / [permlink]

面倒なので、rpm にて
RH7.1 まで BIND9 になってるので、
http://ftp.kddilabs.jp/Linux/packages/RedHat/redhat/linux/7.0/ja/os/i386/RedHat/RPMS/
あたりからパクってくる。
rpm -ivh bind-8.2.2_P5-25.i386.rpm
ただし、初期設定ファイル (/etc/named.conf) は全くないので、要設定(from scratch)
/etc/named.conf を設定
# cd /etc
ftp にて、named.conf をダウンロード
options { directory で設定する DIR を作成
# mkdir /etc/named
ftp にて、zone ファイル共をダウンロード
でもって、
# /etc/init.d/named start
# netstat -tau
# nslookup localhost
# nslookup ns.example.com
(named の起動前は connection timeout)
(named の起動後は、名前解決できることを確認)

また、これだけだと、OS ブート時に起動しないので、
# chkconfig --list | grep named
ランレベル2,3,4,5で起動するように設定
# chkconfig --level 2345 named on
おわり

BIND 説明 (UNIX共通)
2004-03-09-5 / カテゴリ: [linux][network][bind] / [permlink]

ゾーンサーバ
自身が所有するドメイン名をインターネットに広報するために必要なサービス。
自ドメインに対する外部からの問い合わせに対して応答する。

キャッシュサーバ
キャッシュサーバはクライアントから来る名前解決要求にこたえるもので、
目的のドメインをリゾルブできるまで、外部のDNSをドメインツリーをたどって再帰検索します。
カテゴリ: bind

最終更新時間: 2013-05-02 16:12