[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [+]

IPアドレス1個で自前ドメイン自前サーバ

自前で回線を引いてサーバを立ち上げるとなると、以下の理由のために、 複数個(というと結局最低8個)のグローバルIPアドレスを取得する必要があります。

DNS サーバの問題は、どこかでセカンダリサーバをお願いすれば、なんとかなります。
そして、逆引きの問題も、見た目を気にしなければなんとかなります。
# 見た目も、ほとんど気にならない(?)と思います。
というわけで、設定例みたいなものを書きました。
# べつに難しいことは書いてません。(いつもそうですが…)


目次


1. 環境

例によって例のごとく、ファイアウォールマシンとサーバマシンの2台構成です。

           LAN (192.168.1/24)
  [---+--------------------------+---]
      |192.168.1.1               |192.168.1.254
  [サーバ](Debian3.0)    [ファイアウォール](OpenBSD3.3)
                                 |4.9.8.9
                                 | PPPoE
                                 +--------------- プロバイダへ

…といっても、あまり関係なかったです。
DNS サーバは、サーバ(Debian)上で動作させました。 bind 9.2.1 です。
ファイアウォールの設定などについては、
こちら をご覧ください。


2. 回線を引く

すでに、ADSL などがおうちまで来ているなら、 そのプロバイダに問い合わせるなりしてください。
これから引くなら、グローバルなIPアドレスを1個貸与してくれるプロバイダで、 よさそうなところを探します。
Google などで、 IP1で検索するとたくさんでてきます。 その中から、値段や信頼性(というかイメージ)などを吟味して選んでください。
わたしが検索した限りでは、IPアドレス1個だけだと、 DNS の逆引きをセカンダリしてくれるところはなく、 そのプロバイダのドメイン名が勝手に逆引きで設定されます。
たぶんそうそうないと思いますが、 このドメイン名がしょっちゅう変更されるとその度に作業が必要になります。 ですので、変わらなさそうな(?)プロバイダを、 というのでもよろしいのではないかと思います。


3. ドメインの取得

いわゆるレジストラと呼ばれるところで、お願いをします。 それこそ、星の数ほどありますので、 お好きなところで取得されればよろしいのではないかと思います。
個人的には、各種設定がネットで瞬時(?)にできてしまうところがいいと思います。
usupi.org は、 当時国内のレジストラをよく知らなかったので、 NetworkSolutions で取得しました。英語ですが、各種設定変更が WWW 上で簡単に行えます。
安さで勝負なら、 ムームードメイン が安いです。 最近 kuri.info というドメインを取得しましたが、 1年分で千円かかりませんでした。


4. DNS サーバの設定

回線が引かれて、ドメインが取得できたら、いよいよ DNS サーバの設定です。
とりあえずセカンダリのことは考えずに、引ける状態に持っていきます。
…と、その前に、前提条件は以下の通りです。

 取得したドメイン: usupi.org
グローバルIPアドレス: 4.9.8.9
そのドメイン名: 4_9_8_9.nazono.isp.dayo

まず、/etc/bind/named.conf は、こんなふうに書きました。

  options {
    directory "/var/cache/bind";
    auth-nxdomain no;
    allow-transfer {   // ゾーン転送は以下だけ許す
      127.0.0.1;       //   自分(普通しないか…)
      192.168.1.0/24;  //   内部は許す
    };
  };

  zone "." {  // ルートサーバ問い合わせ用
    type hint;
    file "/etc/bind/db.root";  // もともとある
  };

  // ...あと localhost とかもともとあるエントリは省略

  zone "usupi.org" {
    type master:
    file "usupi.org.zone";
  };

逆引きがいらないので、あっさりしています。
/var/cache/bind/usupi.org.zone は、以下のようにしました。

  $TTL 86400

  @ IN SOA dns.usupi.org postmaster.usupi.org {
    2004042223  ; serial#
    10800       ; refresh
    3600        ; retry
    604800      ; expire
    86400)      ; default ttl

  ; name server (今は1つだけ)
             IN  NS     dns.usupi.org.

  ; hosts
  localhost  IN  A      127.0.0.1
  dns        IN  A      4.9.8.9
  www        IN  CNAME  dns
  mail       IN  CNAME  dns
  ftp        IN  CNAME  dns

  ; mx
  @          IN  MX 10  4_9_8_9.nazono.isp.dayo
  *          IN  MX 10  4_9_8_9.nazono.isp.dayo
  @          IN  A      4.9.8.9

色の違う箇所がみそです。
NS で指定するネームサーバのドメイン名には、A レコードがないといけません。 ですので、ほかの www とかは CNAME にしておき、 dns に A レコードをつけておきます。
そして、MX で指定するメールサーバのドメイン名は、 正引きと逆引きが一致しないといけません。 ですので、プロバイダがつけたドメイン名を指定します。

設定できたら、named を動かして、簡単に確認をします。

  # /etc/init.d/named start
  # dig @localhost dns.usupi.org. a
  ...
  ;; ANSWER SECTION:
  dns.usupi.org.       86400  IN    A     4.9.8.9
  ...
  # dig @localhost usupi.org. mx
  ...
  ;; ANSWER SECTION:
  usupi.org.           86400  IN    MX    10 4_9_8_9.nazono.isp.dayo
  ...


5. セカンダリサーバを探す

最低限未満の土台が整ったところで、セカンダリしてくれるところを探します。
結局のところ、無料にするか有料にするか、ということになると思います。

有料ですと、信頼性が高そうですが、値段もそれなりにします。 手前味噌ですが、 セカンダリサービス は、有料ですが 1,200円/年 と安いです。 しかも、申し込んだ月は無料ですので、試すだけなら無料です。

無料ですと…とりあえず国内には見当たりません。
ですが、 セカンダリDNS互助会 という、同じ境遇のひと同士でセカンダリしあう、というものがあります。

まあ、最初のうちは、気軽に試せて、いつでも変更できるところがいいと思います。
でも、その都度設定変更するのが面倒臭いなら、 長期にわたってサービスしてくれそうなところを選ぶべきだと思います。

さて、セカンダリしてくれるところが決まったら、DNS サーバの設定に追加します。

 セカンダリサーバ名: dns.secondary.dayo
そのIPアドレス: 4.6.4.9

/etc/bind/named.conf は以下のようにします。(色の違うところが追加分。)

  options {
    directory "/var/cache/bind";
    auth-nxdomain no;
    allow-transfer {   // ゾーン転送は以下だけ許す
      127.0.0.1;       //   自分(普通しないか…)
      4.6.4.9;         //   セカンダリサーバ
      192.168.1.0/24;  //   内部は許す
    };
  };

  zone "." {  // ルートサーバ問い合わせ用
    type hint;
    file "/etc/bind/db.root";  // もともとある
  };

  // ...あと localhost とかもともとあるエントリは省略

  zone "usupi.org" {
    type master:
    file "usupi.org.zone";
  };

/var/cache/bind/usupi.org.zone は、以下のようにします。(色の違うところが追加分。)

  $TTL 86400

  @ IN SOA dns.usupi.org postmaster.usupi.org {
    2004042301  ; serial# (増やすべし!)
    10800       ; refresh
    3600        ; retry
    604800      ; expire
    86400)      ; default ttl

  ; name server
             IN  NS     dns.usupi.org.
             IN  NS     dns.secondary.dayo.

  ; hosts
  localhost  IN  A      127.0.0.1
  dns        IN  A      4.9.8.9
  www        IN  CNAME  dns
  mail       IN  CNAME  dns
  ftp        IN  CNAME  dns

  ; mx
  @          IN  MX 10  4_9_8_9.nazono.isp.dayo
  *          IN  MX 10  4_9_8_9.nazono.isp.dayo
  @          IN  A      4.9.8.9

あとは、セカンダリしてもらっていることを、確認するだけです。
例えば、/etc/bind/named.conf に以下を追加しておきます。

  logging {
    channel "xfer_log" {
      file "/var/log/xfer_log" versions 3 size 1m;
      severity debug;
      print-time yes;
      print-category yes;
    };
    category xfer-out { "xfer_log"; };
  };

セカンダリサーバからゾーン転送が行われると、 /var/log/xfer_log に出力されます。

  xfer-out: client xxxx#xxx: transfer of 'usupi.org/IN': AXFR started

あるいは、セカンダリがされていると確信ができるなら、named を一旦止めて、 セカンダリサーバに問い合わせます。

  # /etc/init.d/named start
  # dig @dns.secondary.dayo. dns.usupi.org. a
  ...
  ;; ANSWER SECTION:
  dns.usupi.org.       86400  IN    A     4.9.8.9
  ...
  # dig @dns.secondary.dayo. usupi.org. mx
  ...
  ;; ANSWER SECTION:
  usupi.org.           86400  IN    MX    10 4_9_8_9.nazono.isp.dayo
  ...


6. さいごに

…という具合にできました。
が、プロバイダやセカンダリサービスによっては、手順が多少前後するかもしれません。

あと、メールや WWW などが気になるところですが、 今のところは特に意識しないでも動作しています。

しつこいようですが、 セカンダリサービス をよろしくお願いします。:-)

Powered by Apache PostgreSQL Usupi Logo Kuri Logo
[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [-]
usu@usupi.org Last modified : Fri Apr 23 01:39:00 2004