キャッシュ専用DNSの設定 2000.8.19

■はじめに

     インターネットでホームページを見る時に、雑誌や名刺にあるホームページでは、URLというホームページの住所をブラウザに入力します。インターネットの内部ではこのURLでなく番号(以下IPアドレス)を使ってデータをデータを送ったり受け取ったりします。したがってインターネットに繋がっている時に、みなさんのパソコンにも内部で使用するIPアドレスが一時的にでも設定されます。
     このURLには簡単に言えばパソコンを識別するドメイン名とそのパソコンの位置を示すフォルダ名(WINDOWS式にいうと)、ファイル名などが含まれています。ドメイン名とIPアドレスを対応づける仕組みがDomain Name System「DNS」、これを管理するコンピュータなどをDNSサーバーまたは、Domain Name Server「DNS」と呼びます。インターネットを使うときに設定する項目の中にプライマリDNS、セカンダリDNSがありますが、それです。
     私は、ケーブルテレビのインターネット常時接続サービスを利用しています。通常、IPアドレスは一つしか割り当てられません。そして、同じネットワーク内では違うパソコンに同じIPアドレスは設定することが出来ません。複数のパソコンを持っている場合には、そのままでは一台のパソコンでしかインターネットを楽しむことが出来ません。そこで、Linuxサーバーにネットワークカードを二枚差してケーブルテレビから割り当てられるIPアドレス側のネットワークの他にもう一つネットワーク(ここではLAN)を作り、IPアドレスを変換して渡してあげることで、複数のパソコンから同時にインターネットを使用する事が出来るようになります。ここにDNSを設定するとドメインをIPアドレスに変換する際に一度処理を行った内容は暫くはLinuxサーバー内に一時保存(キャッシュ)されるため、変換にかかる時間が短縮されます。ただでさえ時間の掛かる夜23時から変換の為の通信時間が殆ど無くなるわけです。そう言うことで今回はこのキャッシュ処理を行うDNSサーバーにLAN上にあるパソコンのIPアドレスの設定を追加してみました。

    注意
     上記の内容は説明を簡単にしているため厳密に言うと少し違う部分があります。

    【PC接続】
ケーブルテレビより | 【ケーブモデム】 | 【Linuxサーバー】 (LANカードを二枚) | 【HUB】 | +---------+---------+ | | | 【PC1】 【PC2】 【PC3】
    【PC環境】
        本体:FMV-5150DPS モデルSP5
        使用Linux:書籍に付属していたTurboLinux4.2
         ※Linuxはサーバーとしてインストールし、さらに
          WEBサーバー「Apache 1.3.6」、ファイルサーバー「Samba 2.0.5a」
          DHCPサーバー、全文検索システムNamazu 2000/8/12
          などをインストール。
■やってみる
    □内容の確認
    ドメイン名:lan.iscb.net
    LAN側のネットワークアドレスは、192.168.0.0
    マスクアドレスは、255.255.255.0
    LAN側にあるパソコンは、固定のIPアドレスを設定しています。
    isao:192.168.0.20
    office:192.168.0.21


    /etc/resolv.conf
        domain lan.iscb.net
        search
        nameserver 127.0.0.1              -------- 自身をDNSに指定
    


    /etc/sysconfig/network
        NETWORKING=yes
        PROFILENAME="iscb"
        HOSTNAME=server.lan.iscb.net
        DOMAINNAME=lan.iscb.net
        GATEWAY=172.16.2.1
        GATEWAYDEV=eth1
        FORWARD_IPV4=yes
        IPX=no
        TIMESERVERATBOOT=no
        TIMESERVERTYPE=ntp
        TIMESERVERHOST=(none)
        TIMESERVERRESYNC=(none)
    


    /etc/named.conf
        // generated by named-bootconf.pl
        options {
            directory "/var/named";
            /*
             * If there is a firewall between you and nameservers you want
             * to talk to, you might need to uncomment the query-source
             * directive below.  Previous versions of BIND always asked
             * questions using port 53, but BIND 8.1 uses an unprivileged
             * port by default.
             */
            // query-source address * port 53;
            forward first;
            forwarders {
                211.12.207.1;
            };
        }; 
    
        // 
        // a caching only nameserver config
        // 
        zone "." {
            type hint;
            file "named.ca";
        };
      
        zone "localhost" {
            type master;
            file "named.local";
        };
        ---------- 以下はLAN上のパソコンの設定 ----------
        zone "lan.iscb.net" {
            type master;
            file "lan.iscb.net";
        };
      
        zone "0.168.192.in-addr.arpa" {
            type master;
            file "0.168.192.in-addr.arpa";
        };
    


    /var/named/named.local
    @    IN    SOA    localhost. root.localhost. (
            2000081901 ; Serial
            28800      ; Refresh
            14400      ; Retry
            3600000    ; Expire
            86400 )    ; Minimum
    
            IN      NS	localhost.
    
    
        1   IN   PTR localhost.
    



    /var/named/lan.iscb.net
    @	IN   SOA   server.lan.iscb.net. root.lan.iscb.net.     (
            2000081901  ; serial
            8H      ; refresh
            2H      ; retry
            1W      ; expire
            1D)     ; minimum TTL
        ;
            IN  NS  server.lan.iscb.net.
    
            IN  MX  1   server.lan.iscb.net.
    
        ;
        localhost   IN  A   127.0.0.1
     
        server      IN  A   192.168.0.1
    
        isao        IN  A   192.168.0.20
        office      IN  A   192.168.0.21
        ;
        pc080       IN  A   192.168.0.80
        pc081       IN  A   192.168.0.81
        pc082       IN  A   192.168.0.82
        pc083       IN  A   192.168.0.83
        pc084       IN  A   192.168.0.84
        pc085       IN  A   192.168.0.85
        pc086       IN  A   192.168.0.86
        pc087       IN  A   192.168.0.87
        pc088       IN  A   192.168.0.88
        pc089       IN  A   192.168.0.89
    
        mail        IN  CNAME   server
        www         IN  CNAME   server
        ftp         IN  CNAME   server
    



    /var/named/0.168.192.in-addr.arpa
    @	IN	SOA	server.lan.iscb.net. root.lan.iscb.net. (
        	2000081901 ;
        	8H         ;
        	2H         ;
        	1W         ;
        	1D)        ;
        ;
        	IN	NS	server.lan.iscb.net.
    
        	IN	PTR	lan.iscb.net.
        	IN	A	255.255.255.0
    	
        1	IN	PTR	server.lan.iscb.net.
    
        20	IN	PTR	isao.lan.iscb.net.
        21	IN	PTR	office.lan.iscb.net.
        ;
        80	IN	PTR	pc080.lan.iscb.net.
        81	IN	PTR	pc081.lan.iscb.net.
        82	IN	PTR	pc082.lan.iscb.net.
        83	IN	PTR	pc083.lan.iscb.net.
        84	IN	PTR	pc084.lan.iscb.net.
        85	IN	PTR	pc085.lan.iscb.net.
        86	IN	PTR	pc086.lan.iscb.net.
        87	IN	PTR	pc087.lan.iscb.net.
        88	IN	PTR	pc088.lan.iscb.net.
        89	IN	PTR	pc089.lan.iscb.net.
    


    □動作の確認

    # /etc/rc.d/init/named start
    設定ファイルに間違いが在るとlogに記録されます。
    # tail -n40 /var/log/message
    などとするとエラーの内容が確認出来ます。私にはエラーが在ることだけで、詳しい内容が理解出来ませんでした。
    # nslookup
    Default Server: localhost.nct9.ne.jp
    Address: 127.0.0.1

    > isao.lan.iscb.net
    Server: localhost.nct9.ne.jp
    Address: 127.0.0.1

    Name: isao.lan.iscb.net
    Address: 192.168.0.20

    > 192.168.0.20
    Server: localhost.nct9.ne.jp
    Address: 127.0.0.1

    Name: isao.lan.iscb.net
    Address: 192.168.0.20

    > 192.168.0.20
    Server: localhost.nct9.ne.jp
    Address: 127.0.0.1

    Non-authoritative answer:     ------- キャッシュが有効
    Name: mail.iscb.net
    Address: 164.46.171.189
    Aliases: www.iscb.net

    > exit


■その他
     /var/named/lan.iscb.netファイルの一行目に
        @ IN   SOA   server.lan.iscb.net. root.lan.iscb.net. (
    とありますが、最期の"net."と"("の間に空白を開けずにエラーとなり、logも確認もしなかったので悩んだ事があります。DNSの設定が正しく行われると、WINDOWSパソコンからLinuxサーバーに接続するときの反応が良く(速く)なります。この設定とIPアドレスを自動的に設定する「DHCPサーバー」を利用するとLAN上のパソコンの設定が非常に楽になります。
by SmallBrother

  [TopPage] [New] [SB's Room] [Linux]