dhcp_dns
概要
dhcp_dns(正式名称は不明)は、djbdnsとdhcpdを連携するツールです。
連携することにより、dhcpdで払い出したIPアドレスとマシン名を元に、動的にDNSを設定することが可能になります。
最近では、LAN内でDHCPを使うことが多くなってきているので、dhcp_dnsを使うことによりLAN内でDNSを使うことが可能となります。
インストール
dhcp_dnsは、djbdns(tinydns,dnscache)とdhcpdが稼働していることを前提にしていますので、これらをあらかじめインストールしておきます。
以下、dhcp_dns-1.1.0の例です。
配布サイトからアーカイブをダウンロードし、展開します。
% gzip -dc dhcp_dns-1.1.0.tgz | tar xvf - % cd dhcp_dns-1.1.0
makefile を編集します。
項目 | 概要 |
---|---|
PREFIX | djb_update.plがインストールされるディレクトリ。直下にbin/ディレクトリが必要 |
DOMAIN | 登録するドメイン |
TINYDNSPATH | tinydnsをインストールしたディレクトリ。これを元に設定ファイルを更新する |
DNSCACHEPATH | dnscacheをインストールしたディレクトリ。実際には再起動する時だけ使っている模様 |
LEASEFILE | dhcpdが出力するdhcpd.leasesファイルのパス |
以下は、編集例です。
PREFIX = /project/dhcp_dns DOMAIN = mydomain TINYDNSPATH = /var/tinydns DNSCACHEPATH = /var/dnscache LEASEFILE = /var/db/dhcpd.leases
make installします。
# make install
設定
tinydnsのdataファイルがあるディレクトリに、static.mydomain(static.+設定したいドメイン名)というファイルを作成します。
このファイルに、静的に設定したいDNS情報を記述します。
例えばこんな感じ。
.mydomain:127.0.0.1:a:259200 =express.mydomain:192.168.0.11:86400 .0.168.192.in-addr.arpa:127.0.0.1:a:259200
実行
djb_update.plを実行することで、dhcpd.leasesを参照して、動的にDNS情報を設定し、有効にします。
ただ単にdjb_update.plを実行するだけでも良いのですが、djb_update.plはデーモンではないので、daemontoolsを使うのがおすすめです。