• Ubuntuに関連したハード、ソフトの備忘録サイトです

Ubuntu14.04LTS(その02)ーSOHO用DNSサーバー【暫定投稿】

SOHO用のイントラネット用DNSサーバーの構築方法について、暫定的ながら投稿いたします。なお、インターネット用サーバーについてはセキュリティ上、詳しい知識が必要になります。

【1】前提条件
①SOHO用DNSサーバーで、ドメイン名はit-ishin.com
②5台のUbuntuサーバーを設置し、それぞれのサーバーのホスト名はubuntu01、ubuntu02、ubuntu03、ubuntu04、www。ubuntu01をDNSサーバーとし、アドレスは192.168.1.2。www.it-ishin.comはインターネットサーバーとして使用。
③ubuntuは14.04LTS。サーバー版をデスクトップ化したものもあれば、デスクトップ版から$ sudo apt-get remove network-managerで、/etc/network/interfacesをいじれるようにしたものもあります。
④ルーターのアドレスは192.168.1.1。NTT東日本のフレッツマンションタイプ用のルーターです。

kyouyuu02

取り敢えず、こんな環境ですが、実際はUbuntuマシン。ルーターはフレッツ光マンションタイプ用のもの(住友電工製)で、レーザープリンターは有線ですが、無線LAN(有線のものは何故か、高い)インクジェット複合機(ブラザー製)はDNSサーバー(メインマシン)にUSBケーブルで接続し、他のマシンには無線LANのUSBタイプの子機をつけています。バッファロー製、プラネックス製のものですが、自動的に認識してくれます。取り敢えず、/etc/network/interfacesにauto wlan0の行を挿入し、DHCPで動作させています。

【2】bind9の導入

基本的には、$ sudo apt-get install bind9 bind9utilsとなります。 インストールすると/etc/bindのディレクトリにひな形の設定ファイルができます。

【3】SOHO用DNSサーバーの設定
①大もとのnamed.confの設定

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the 
// structure of BIND configuration files in Debian, *BEFORE* you customize 
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
# include "/etc/bind/named.conf.default-zones";
include "/etc/bind/named.conf.internal-zones";

named.conf.internal-zonesにSOHO用の設定を書き込みます。
②named.conf.internal-zonesの設定

# 内部向けの定義を記述
view "internal" {
# 指定範囲内のホストが内部向けの定義を参照
        match-clients {
                localhost;
                192.168.1.0/24;
        };
# 内部向け正引き情報を定義
        zone "it-ishin.com" {
                type master;
                file "/etc/bind/it-ishin.com.lan";
                allow-update { none; };
        };
# 内部向け逆引き情報を定義 *注
        zone "1.168.192.in-addr.arpa" {
                type master;
                file "/etc/bind/1.168.192.db";
                allow-update { none; };
        };
        include "/etc/bind/named.conf.default-zones";
};

SOHO内部向け正引き情報はit-ishin.com.lanに設定、逆引き情報は1.168.192.dbに設定します。

③正引き情報it-ishin.com.lanの設定

$TTL 86400
@   IN  SOA     ubuntu01.it-ishin.com. root.it-ishin.com. (
    2014041801  ;Serial
    3600        ;Refresh
    1800        ;Retry
    604800      ;Expire
    86400       ;Minimum TTL
)
    IN  NS      ubuntu01.it-ishin.com.
    IN  A       192.168.1.2

ubuntu01    IN  A   192.168.1.2
ubuntu02    IN  A   192.168.1.3
ubuntu03    IN  A   192.168.1.4
ubuntu04    IN  A   192.168.1.6

www         IN  A   192.168.1.5
www2        IN  A   192.168.1.5
mail        IN  A   192.168.1.5

インターネットサーバーはApacheのバーチャルホスト機能を使い、postfixとdevcotを使った簡易メールサーバーとしても利用しています。

④逆引き情報ファイル1.168.192.dbの設定

$TTL 86400
@   IN  SOA     ubuntu01.it-ishin.com. root.it-ishin.com. (
        2014041801  ;Serial
        3600        ;Refresh
        1800        ;Retry
        604800      ;Expire
        86400       ;Minimum TTL
)
        IN  NS      ubuntu01.it-ishin.com.

        IN  PTR     it-ishin.com.
        IN  A       255.255.255.0

2      IN  PTR     ubuntu01.it-ishin.com.
3      IN  PTR     ubuntu02.it-ishin.com.
4      IN  PTR     ubuntu03.it-ishin.com.
6      IN  PTR     ubuntu04.it-ishin.com.

5      IN  PTR	   www.it-ishin.com.

⑤検証
 $ sudo service bind9 restartでbind9を新しい設定で起動します。次に正引きをdig www.it-ishin.com、逆引きをdig -x 192.168.1.5で検証します。

michiaki@ubuntu01:/etc/bind$ dig www.it-ishin.com

; <<>> DiG 9.9.5-3-Ubuntu <<>> www.it-ishin.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;x.				IN	A

;; AUTHORITY SECTION:
.			10800	IN	SOA	a.root-servers.net. nstld.verisign-grs.com. 2014051101 1800 900 604800 86400

;; Query time: 814 msec
;; SERVER: 192.168.1.2#53(192.168.1.2)
;; WHEN: Mon May 12 08:32:32 JST 2014
;; MSG SIZE  rcvd: 105

 

michiaki@ubuntu01:/etc/bind$ dig www.it-ishin.com

<<>> DiG 9.9.5-3-Ubuntu <<>> -x 192.168.1.5
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:
; udp: 4096 
;; QUESTION SECTION: ;5.1.168.192.in-addr.arpa. IN PTR 
;; ANSWER SECTION: 5.1.168.192.in-addr.arpa. 86400 IN PTR www.it-ishin.com. 

;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86400 IN NS ubuntu01.it-ishin.com. 

;; ADDITIONAL SECTION: ubuntu01.it-ishin.com. 86400 IN A 192.168.1.2 
;; Query time: 1 msec ;; SERVER: 192.168.1.2#53(192.168.1.2) 
;; WHEN: Mon May 12 08:33:40 JST 2014 ;; MSG SIZE rcvd: 122

 これで、取り敢えず動作しますが、/etc/resolov.confのnameserverの先頭は192.168.1.2、次に外部向けの192.168.1.1を設定しておく必要があります。なお、Wordpressを使った場合、Apacheのモジュールmod_rewrite.soを使っているせいか内部LAN環境ではWordpressが内部用のDNSサーバーにアクセスできなくなる場合があります。その場合は、/etc/hostsにWordpressのIPアドレスを設定しておく必要があります。

今後、KVMを使って1台のUbuntuマシンに複数のVPSサーバーを構築することから始めて、負荷分散や代表的なIaaSであるOpenStackの勉強をする予定でいます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA