IPアドレスより名前で呼ばれたい



DynDNSというサービス
家にあるローカルなWWWサーバを公開することはできましたが、IPアドレスを直接指定しないと接続できないのは不便です。
ホスト名で接続できるようにするには何処かのネームサーバに登録しなくてはいけませんが、ISP接続の度にIPアドレスが変わるような怪しいものを簡単に許可してくれるところはないでしょう。
ましてやホスト名も必要なんですからね。(少ないですが固定で接続IPアドレスを使わせてくれるISPはあります。そこなら正規な手続きで独自ドメインを取得したほうが良いでしょう。ただし維持費はかかりますけどね。)
簡単な解決方法としては自分のISPにあるHPにリンクを作るという手もありますけど、もっと美しくということでDynDNSサービスを使います。(無料です)
ここで登録すると好きな名前のホスト名がもらえ、IPアドレスを自分で更新できるようになります。
私はここで dig.homeip.net というホスト名でISPの接続先IPアドレス(ルータのアドレス)登録しましたので、ブラウザで http://dig.homeip.net/ を指定するとローカルサーバが反応するというわけです。
(接続IPアドレスが変わったら自分で更新します。更新はWeb上で行うか専用の更新プログラムを使用します)
こうしてインターネット上で名前がもらえるというわけです。

dyndns.org
 
 

ローカルなDNS設定(named)
namedの4つの設定ファイル。これが面倒なんだな。
ローカルな名前解決だけに使うんだから気楽につくりましょう。

[1]まずは定義ファイルの指定。( /etc/namedb/named.conf )

options {
        directory "/etc/namedb";
};

zone "."{
        type hint;
        file "named.root";
};

zone "0.0.127.IN-ADDR.ARPA"{
        type master;
        file "localhost.rev";
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT"{
        type master;
        file "localhost.rev";
};
 

zone "home.or.jp"{
        type master;
        file "home.or.jp.zone";
};
 

zone "0.168.192.IN-ADDR.ARPA"{
        type master;
        file "home.or.jp.rev";
};
 
 
 
 

[2]ループバックアドレスの逆引き設定。これを作るのは簡単。スクリプトを動かすだけ。( /etc/namedb/localhost.rev )
# sh make-localhost

実際にはこんなものができておりました。(コメントは省略)

$TTL   3600

@      IN   SOA   clio.home.or.jp. root.clio.home.or.jp. (
                          20001222    ; Serial
                          3600        ; Refresh
                          900         ; Retry
                          3600000     ; Expire
                          3600 )      ; Minimum
       IN   NS    clio.home.or.jp.
1      IN   PTR   localhost.home.or.jp.
 

[3]home.or.jpの正引きの設定。( /etc/namedb/home.or.jp.zone )

 
$TTL   3600

@      IN   SOA   clio.home.or.jp. root.clio.home.or.jp. (
                          2000122001    ; Serial
                          3600        ; Refresh
                          900         ; Retry
                          3600000     ; Expire
                          3600 )      ; Minimum
       IN   NS    clio

localhost      IN   A       127.0.0.1
               IN   MX 10   clio
clio           IN   A       192.168.0.11
               IN   MX 10   clio
lutecia        IN   A       192.168.0.10
               IN   MX 10   clio

mail           IN   CNAME   clio
www            IN   CNAME   clio


 
 
[4]home.or.jpの逆引きの設定。( /etc/namedb/home.or.jp.rev )
$TTL   3600

@      IN   SOA   clio.home.or.jp. root.clio.home.or.jp. (
                          2000122001    ; Serial
                          3600        ; Refresh
                          900         ; Retry
                          3600000     ; Expire
                          3600 )      ; Minimum
       IN   NS    clio.home.or.jp.
1      IN   PTR   clio.home.or.jp.
2      IN   PTR   lutecia.home.or.jp.
       

[5]namedを起動しよう。システム起動時にnamedを起動させるには /etc/rc.conf に記述が必要です。直接エディタで入力してもいいのですが、今回は/stand/sysinstallコマンドでやってみます。

起動する項目にチェックする。(×をつける)

最後に確認してみましょう。どうですか?反映されているでしょ?

clio# cat /etc/rc.conf
# This file now contains just the overrides from /etc/defaults/rc.conf
# please make all changes to this file.

# Enable network daemons for user convenience.
# -- sysinstall generated deltas -- #
ifconfig_lnc0="inet 192.168.0.11 netmask 255.255.255.0"
hostname="clio.home.or.jp"
linux_enable="YES"
sendmail_enable="YES"
moused_enable="YES"
defaultrouter="192.168.0.1"
sshd_enable="YES"
inetd_enable="YES"
# -- sysinstall generated deltas -- #
named_enable="YES"
 

さて自ホストのnamedを参照するようにしなくては・・・/etc/resolv.confに追加します。順番に注意。
domain  home.or.jp
nameserver  192.168.0.11
nameserver  192.168.0.1