ドメインの取得は簡単になりましたが、
固定IPアドレス取得(IPアドレスの個数)、
第2ネームサーバをどうするか
等、個人でインターネット向けネームサーバを動かすには簡単にはいかないようです。
私の場合、最初、実験的にIPアドレス8個貸出しサービスを利用し、第2ネームサーバも立てていましたが、
現在は、固定IPアドレス1個、第2ネームサーバは外部(プロバイダを利用、有料)で運用できています。
利用できるIPアドレスの個数により設定の記述が異なりますが、ここでは
固定IPアドレス1個
としておきます。
namedデーモン1つで、インターネット用とローカルネットワーク用が両立できますので、
ローカルネットワークも記述しておきます。
(1) ドメイン
例 hoge.org 取得したインターネット用ドメイン
sub.hoge.org ローカルネットワーク用ドメイン (自由に)
ここでは取得したドメインのサブドメインにしてあります。
(2) ローカルネットワーク
ローカルのドメイン sub.hoge.org
ルータ 192.168.0.1 gw.sub.hoge.org
サーバ 192.168.0.2 sv.sub.hoge.org
その他 192.168.0.x xxx.sub.hoge.org
注:ルータのDHCPサーバでローカルのパソコンにIPアドレスを割り当てる場合は、
割当範囲を、例えば192.168.0.100以降に設定し、重複しないようにしておきます。
(3) ルータの設定
ローカルにあるサーバをインターネットに公開するNAT等の設定をします。
プロトコル、ポート番号、IPアドレスなど、ルータのマニュアルに従う。
(メーカーにより用語がちがい、分かりにくい。つまずきやすい。)
(4) 各種設定ファイル
[/etc/named.conf]
(Bind 8 系で使っていたnamed.confをBind 9 でも利用しています。)
options {
directory "/var/named"; <= named関係のファイルの置き場所
};
zone "." {
type hint;
file "named.ca";
};
zone "localhost" {
type master;
file "localhost.zone"; <= 正引き(ファイル名は自由に)
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local"; <= 逆引き(ファイル名は自由に)
allow-update { none; };
};
zone "sub.hoge.org" {
type master;
file "hoge.org.local"; <= ローカル正引き(ファイル名は自由に)
notify no;
allow-transfer{
192.168.0/24;
127.0.0.1;
};
allow-query{
192.168.0/24;
127.0.0.1;
};
};
zone "0.168.192.in-addr.arpa" {
type master;
file "hoge.org.local.rev"; <= ローカル逆引き(ファイル名は自由に)
notify no;
allow-transfer{
192.168.0/24;
127.0.0.1;
};
allow-query{
192.168.0/24;
127.0.0.1;
};
};
zone "hoge.org" {
type master;
file "hoge.org.zone"; <= インターネット用zone (ファイル名は自由に)
notify yes;
allow-transfer{
xxx.xxx.xxx.xxx; <= 第2ネームサーバからのアクセス許可
};
allow-query{
any;
};
};
[/etc/resolv.conf]
ドメインとネームサーバについて記述します。
search sub.hoge.org hoge.org
nameserver 192.168.0.2 <= ローカルのサーバ
nameserver xxx.xxx.xxx <= プロバイダのネームサーバ
nameserver xxx,xxx,xxx
domain sub.hoge.org <= ローカルのドメイン
[/var/named/hoge.org.zone] 取得したドメイン用正引きです。
(逆引きファイルは作っていません。)
$TTL 86400
@ IN SOA sv.hoge.org. user.sv.hoge.org. (
2006010101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
@ IN NS sv.hoge.org. <= 自前ネームサーバ
@ IN NS abc.pqr.org. <= 第2ネームサーバ
@ IN MX 5 sv.hoge.org. <= 自前メールサーバ
;
www IN CNAME sv.hoge.org.
mail IN CNAME sv.hoge.org.
;
sv IN A yyy.yyy.yyy.yyy <= 自前サーバの固定IPアドレス
;
[/var/named/hoge.org.local] ローカルネットワーク用正引き
$TTL 86400
@ IN SOA sv.sub.hoge.org. user.sv.sub.hoge.org. (
2006010101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
@ IN NS sv.sub.hoge.org.
@ IN MX 5 sv.sub.hoge.org.
;
www IN CNAME sv.sub.hoge.org.
mail IN CNAME sv.sub.hoge.org.
;
gw.sub.hoge.org. IN A 192.168.0.1
sv.sub.hoge.org. IN A 192.168.0.2
その他
[/var/named/hoge.org.local.rev] ローカルネットワーク用逆引き
$TTL 86400
@ IN SOA sv.sub.hoge.org. user.sv.sub.hoge.org. (
2006010101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
IN NS sv.sub.hoge.org.
;
IN PTR sub.hoge.org.
IN A 255.255.255.0
;
;
1 IN PTR gw.sub.hoge.org.
2 IN PTR sv.sub.hoge.org.
その他
[/var/named/local/host.zone] ローカルホスト正引き
$TTL 86400
@ IN SOA sv.sub.hoge.org. user.sv.sub.hoge.org. (
2006010101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
IN NS @
IN A 127.0.0.1
[/var/named/named.local] ローカルホスト逆引き
$TTL 86400
@ IN SOA sv.sub.hoge.org. user.sv.sub.hoge.org. (
2006010101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
;
IN NS localhost.
1 IN PTR localhost.
以上
三巻