検索エンジンからお越しの方は是非、TOPへ

サーバの構築記録・詳細版です
サーバー日記では構築中に気づいたことや引っかかったことを時系列で書き留めています。
その時点ではFixした手順は書けませんでしたが、そろそろ安定してきたので設定をこちらに書き出します。
少しずつ書き足して行きますので、参考にどうぞ。

もしも設定記事が参考になったら、どちらかの掲示板にでも感想を下さいませ。


OSインストール編 & TELNET と PROFTPDの実装
固定IPで独自ドメインを発信するDNSのセットアップの解説 - BIND
セカンダリサーバーの設定手順
qmail(を稼動させる為の)インストール手順
qmail のPOP認証にめちゃくちゃ時間がかかる人への解決策の案


インストール編 & TELNET と PROFTPDの実装

日記で書いたものをもう一度起こしてみました。同様にTurbo Linux Server 6.5 と 7を比較して記載します。

 
6.5
7 ・・・ こちらは参考まで
インストール  

 インストールそのものはインストーラーに任せてしまうのであまり選択する部分は出てきません。
 またサーバであるのでX関連は本来不要です。入れては見たものの使うことはありませんでした。
 選択部分として強いてあげるならばパーティションの切り分け、オプション選択の部分かと思います。
 パーティションはどのパスがどの様に使われるのかなかなかピンときません。どのくらい空ければ良いのかがさっぱりわかりません。そしていろいろな解説もでてますね。
 例えばWindowsだったらパーティションを切ることでドライブが別になるので、使い分けという意味では利用できるのですが、Linuxの場合は特に切り分けなくてもファイルシステムが、パーティションを切ってあるのと同様に扱ってくれるのでわざわざ切り分けても意味がない感じ。
 安全の為にと言う意見もあるかもしれませんが、パーティションは安全の面では何の役にも立たないと思います。せっかく複数に切っても、壊れる時は局部的にどうこう出来ない場合が多くあります。
 だからLinuxではドライブを別にする時を除き、1台の中でパーティションは切る必要は全く無いと自分の中では確信を持ちました。必要なのは、swapとbootと/のルートだけで充分!
 あと、インストール中の選択でどのモジュールを選択するか、というところで悩みます。セキュリティを考えて最低の状態でインストールしてから必要に応じて追加していく、という方法が安全と言われますがその後の生産性が悪いです。できたら全部入れておいて、不要なサービスを止めておく方が、効率が何倍も良いという経験となりました。

TELNETの設定

telnetはinetdから起動させる。
まず
/etc/inetd.conf を編集する。
# telnet stream ・・・
という行の#を消してtelnetを有効にする。

併せて、許可するホストを指定するために
/etc/hosts.allow を編集する
in.telnetdという行に許可するホストのアドレスを記載する。

in.telnetd:10.0.0.0/255.255.255.0
と記載した。

これを有効にするために
/etc/rc.d/init.d/inetd restart
として起動する。


あとこちらでxinetdは起動させることはできるが、Server7の設定とちょっと異なる。また、ルータがハングアップしてしまうので、私の1-IPの場合では使えなかった。詳細は日記にて。

こちらはinetdより性能の良いらしい
xinetdで起動させるのが標準。
xinetdでは、その機能が使われない間はお休みしているらしい。
設定は
/etc/xinetd.d/telnet
を開き、
disable yes という行を
disable no
に変えて有効にさせる。

許可するホストを指定するために、その同じファイルに
onry_from

という項目を書き足せば良いのであるがやはり /etc/hosts.allow へ設定を書く事にした。
in.telnetdという行に許可するホストのアドレスを記載する
in.telnetd:10.0.0.0/255.255.255.0 と記載する。
/etc/init.d/xinetd restart で起動できる。

FTP standaloneで起動させるのは簡単で、ある。
/etc/rc.d/init.d/proftpd start
というスクリプトから起動させる。

但し、これだとアクセスできるホストを制限したりできないのでこれを不採用とした。
standalone ではなく inetdからの起動にした。設定の違いは、
/etc/proftpd/proftpd.conf の中にある次の行である。
 servertype standalone これを
 servertype inetd ・・・これににセットした。

で、telnetと同じ様に
/etc/inetd.confの編集で、
#ftp stream の行から#を消して有効にする。
なお、#ftpで始まる行は2つあり、行の最後が in.proftpの行と、in.ftpdのものがあるので間違わない様に注意とのこと。当然前者 proftpdを有効にする。
次に /etc/hosts.allowを編集だ。
in.proftpd: 10.0.0./255.255.255.0
こんな感じにしてローカルだけの許可にしておいた。
/etc/rc.d/init.d/inetd restart で起動させる。
但し、私の場合、これでクライアントからの接続でエラーが出てだめだった。同じようにエラーらしき警告が出る場合は、対処方法は日記の方に書いてあるので読んでみてほしい。

6.5と同じ説明になるが、
standaloneで起動させるのは簡単で、/etc/rc.d/init.d/proftpd startというス
クリプトで起動可能である。また、当然これではセキュリティとしてダメなのでスーパーサーバーを使う。まず
/etc/proftpd/proftpd.conf の中にある次の行
 servertype standalone
これをこの様に変える。
 servertype inetd 

で、telnetの時と同じ様に
/etc/xinetd.d/ftp を編集する。ただ、これは存在しないので作成する必要がある。中身はこんな感じ
service ftp
{ disable = no
 socket_type = stream
 protocol  = tcp
 wait  = no
 user  = root
 server = /usr/sbin/in.proftpd
}
こんな感じである。
ここでも onry_from = xxxx
といったホスト制御ができるがhosts.allowでも制御可能。
その場合は/etc/hosts.allowを編集する。
in.proftpd: 10.0.0. / 255.255.255.0
こんな感じにしてローカルだけの許可にすればOK。
/etc/init.d/xinetd restart で起動さる。

不正アクセスのモニタ 不正ログインのレポートをメールで取るために次のような設定をした。
/etc/hosots.deny
の最後に
all : all
という行がある。
これを追加して
all : all : spawn ( /usr/sbin/safe_finger -l %u@%h | /bin/mail -s %d-%u@%
h root) &
この様に書いておいた。
左側の6.5と同じだが、一点だけ異なる。黄色のところだけ。

      all : all : spawn ( /usr/sbin/safe_finger -l %u@%h | /usr/bin/mail 
      -s %d-%u@%
h root) &
 

さて、ここまでで、telnetとftpが起動できる状態になったはず。

それぞれで、許可したIPからアクセスできるか?
許可していないIPからアクセス出来ないかを確認すべし。


一般的にはftpは外部に公開する前提であり、そのftp専用のユーザを作って制限をかけるのですが、私の場合は自分しか使わないのでIPを制限してtelnet的な要素で使っています。
当然rootログインなどは最初から出来ない様にしています、というかServerパッケージではデフォルトでそうなっています。

 

もどる


固定IPで独自ドメインを発信するDNSのセットアップの解説 - BIND

BINDを使って独自ドメインを運用するまでの手順を説明します。
BIND8でもBIND9でも基本は同じです。私のメイン環境はBIND8でテスト環境にBIND9があります。
BIND9の特徴として、LAN内用とLAN外(=WAN側)用の設定が別々に出来るという拡張的な機能が使えますが、まあそれはおいておいてまず基本をセットしてみましょう。基本が出来ないとDNSは使えません。またBIND9からはBIND8では甘く許されていたいくつかの不整合な設定が、ダメよ、ってなっていて動かないことがありますが変な設定をしなければちゃんと動作します。
尚、基本が出来上がってもLAN向けの説明はしていませんのであしからず。


1、まず最初に独自ドメイン(zone設定)なしに、基本となるBINDを稼動させてDNSサーバーになってみましょう
  独自ドメインの設定は後回しにして、まずDNSサーバーを起動させてみましょう。
  BINDがインストールされていると基本となるファイルは標準状態で既に設定されているはずです。
  ベースとなる設定のファイルは
   /etc/named.conf
  これです。
   options
{   } というカッコ内に
   directory "/var/named";
  というディレクトリが示してあります。この例と違う場合は読み替えてください。
   zone "." {
     type hint;
     file "named.ca";
   };

  zone "0.0.127.in-addr.arpa" {
   type master;
   file "named.local";
  };
  初めからこんな2つの設定が指定してありますよね。
  だから
  /var/named/named.ca
  /var/named/named.local
  の2つがあればまずはOKです。

  これで必要なファイルは揃っているのがわかりました。ではbindを起動させます。
  /etc/rc.d/init.d/named  start
  又は
  /etc/init.d/named  start  turbo7以降
  です。
  起動しているか?確認の為に
  ps  aux | grep named
  
とタイプして
  named 238 0.0 4.6 2800 1516 ? S Jul05 0:03 named -u named -g
  こんな結果が複数行表示されます。これで起動はOKです。当然ですが数字はそれぞれの環境で変りますよ。
  まずは大丈夫ですね。
  bindを起動させると、自分がDNSサーバーになることが出来ます。

2、DNSをテスト
  起動したらテストしてみましょう。サーバー自身から私のホストの名前を検索して見てください。
  検索にはhostコマンドを使ってみましょう。
  nslookupコマンドを使った例を書いておいたのですが、どうやら検索サーバーを指定する時にはネームサーバー登録されてないとnslookupが受け付けてくれない事がわかり、うまく検証できないので2002.7.27にhostコマンドにかえて説明を直しました。
  host www.ayamizu.com
  でもコマンドはこれで良いのですが、自分のサーバーからデータを取ってきているのかを明確にしてテストする為に
  
host www.ayamizu.com  localhost
  これで行きましょう。 host www.ayamizu.com  127.0.0.1 でもいいです
  さてこれで、一番最後の行はどう表示されますか?
    Host not found.

  って出たらダメ。
    ns.ayamizu.com has address 61.205.232.120
  こう表示されればOKです。

  また、同じLAN内のWindows2000やXPマシンからテストしたい場合は、DOS窓より
    nslookup www,ayamizu.com xxx.xxx.xxx.xxx
  などとやってみましょう。ここでいう、xxx.xxx.xxx.xxxはサーバーのローカルIPで、例えば192.168.0.2などで、サーバーのDNSをテストする事ができます。

  どうですか?OKですか?OKなら3番に進んでください。

  もしこれで結果がダメだったら、おおもとのサーバー達がちゃんと認識できているのかを調べなければいけません。
  dig
  とタイプして

    ;;    ADDITIONAL SECTION:
       G.ROOT-SERVERS.NET.    5d11h53m4s IN A 192.112.36.4
       F.ROOT-SERVERS.NET.    5d11h53m4s IN A 192.5.5.241
       B.ROOT-SERVERS.NET.    5d11h53m4s IN A 128.9.0.107
       J.ROOT-SERVERS.NET.    5d11h53m4s IN A 198.41.0.10
       K.ROOT-SERVERS.NET.    5d11h53m4s IN A 193.0.14.129
       L.ROOT-SERVERS.NET.    5d11h53m4s IN A 198.32.64.12
       M.ROOT-SERVERS.NET.    5d11h53m4s IN A 202.12.27.33
       I.ROOT-SERVERS.NET.    5d11h53m4s IN A 192.36.148.17
       E.ROOT-SERVERS.NET.    5d11h53m4s IN A 192.203.230.10
       D.ROOT-SERVERS.NET.    5d11h53m4s IN A 128.8.10.90
       A.ROOT-SERVERS.NET.    5d11h53m4s IN A 198.41.0.4
       H.ROOT-SERVERS.NET.    5d11h53m4s IN A 128.63.2.53
       C.ROOT-SERVERS.NET.    5d11h53m4s IN A 192.33.4.12
    ;; Total query time: 17 msec
       ;; FROM: ns.ayamizu.com to SERVER: default -- 127.0.0.1
       ;; WHEN: Thu Jul 25 23:07:01 2002
       ;; MSG SIZE sent: 17 rcvd: 436
  こんな結果が出てくればまずはOKです。
     画面には表示しきれませんので最後の方だけの表示です。
     何らかのエラーが出て上記の様なルートサーバーが表示されない様なら
      /etc/named.conf に書かれている
     zone "." {
      type hint;
      file "named.ca"; 
     }; 
     この named.ca(又はそれに相当しているファイル)が故障している場合がありますので、正しいファイルを調達して配置しなければなりません。
   
   

3、外部から引いてみましょう
  上記までがクリアできたらルーターを越えてみましょう。
  インターネットの外から、Linuxを使って
  
host www.ayamizu.com ggg.ggg.ggg.ggg
  ggg.ggg.ggg.gggはサーバーのローカルIPでは無く、グローバルIPの方です。
  
これでちゃんと結果が出れば、DNSとしての基本動作はルーターを含めて完了です。
  でも別のインターネットアクセスからLinuxを立ち上げるのは環境が厳しいですよね。その場合はWIn2000かXPから
  nslookup www.ayamizu.com ggg.ggg.ggg.ggg
  これでチェックはOKです。
  ちゃんと 61.205.232.120 というIPが出てきましたか?
  もしunknownなどになる場合は、ルーターが止めている可能性がありますので、フィルターをチェックしてみましょう。

  チェックポイントは、ルーターのport 53 - udp がオープンされているかどうか、です。

4、ご自分のzoneを登録してみましょう。
  さて、ようやくzoneを登録してみます。
  まず
   /etc/named.conf
  このファイルの下の方に新しい自分のzone情報を書き加えます。
  zone "ayamizu.com" {
    type master;
    file "ayamizu.com.zone";
  };

  こんな感じで書きます。
  file "ayamizu.com.zone"; というのはファイル名なのでなんでもいいのですが、私はドメインの後ろに .zoneをくっつけています。
  次に、それに相当するzoneのファイルです。
  /var/named/ayamizu.com.zone
  この例の場合では、上記の様なファイルを作ります。
  そして中身はテスト用に簡単に書いてみましょう。次のようにして下さい。


     $TTL 86400
     @ IN  SOA  ns.ayamizu.com. postmaster.ayamizu.com. (
     2002042301 ; Serial <---ファイルを編集したら、かならず直します。通常は日付と通し番号を使います
     10800    ; Refresh 3h
     3600    ; Retry 1h
     604800   ; Expire 1w
     86400    ; TTL 1d
     )
        IN   NS  ns.ayamizu.com.<---自分のホスト名+ドメイン名をネームサーバーとして書いてください
     ns  IN   A  61.205.232.120 <---自分のIPを入れてね
   

  このファイルはこれで仮の設定が完了です。
  あと /var/named/named.local を開いて、一行め
$TTL 86400という行をチェックしてみてください。
  @TTL 86400と書いてあるパッケージがあります。$に直さないと動作しません。
  以上ができたら
  /etc/rc.d/init.d/named  restart
  として、再起動させます。
  ここで一つ、チェックのコツをかきます。私のTurbo6.5の場合は表示されないのですがTurboLinux7Serverの場合に有効です。
  restartすると
   shutting down named :    OK
   starting named :        OK
  こんな表示が出ます。
  一度目のrestartでは上記のように出ますが、設定ファイルに大きなミスがあると、namedが起動出来ずに落ちます。
  そうすると、もう一度restartすると
   shutting down named :    NG
   starting named :        OK
  となってしまいます。
  私は、この様に2度restartすることで、起動出来ない様なミスをチェックしています。活用して見てください。

 

5、さて、さっき設定した独自ドメインは引けてるかな?
  zoneを登録して稼動したら早速動作チェックしてみましょう。
  独自ドメインを www.example.com と仮定します。サーバーから
  host ns.example..com localhost
  と実施
  その後、同じLANのWin2000かXPからも試してみると良いですね。
  nslookup 
 ns
.example..com   xxx.xxx.xxx.xxx  
  xxx.xxx.xxx.xxxはサーバーのローカルIPです。

  これで登録したipが表示されるはずです。
  もしここで登録したipが表示されない場合は、
   digとタイプして2の項目で説明した様なルートサーバーの一覧が表示されますか?
     表示される → zoneの設定がおかしいので、追加したzoneについてよく見直して下さい。
               私の実験では一行目の $であるはずのところ@になっていてはまってしまいました。
     表示されない → namedが起動できていませんね。重大なエラーを起こしている可能性が大きいです。
                修正したファイルを見直して下さい。

  上記をクリアして是非自分のドメインを引けるようにして下さい。
  これで基本動作はばっちりです。

6、そろそろレジストラの登録を変更します。
  レジストラに登録しているネームサーバーを仮のものから本物に変えなくてはなりません。
  本物の一つは今回作成している自分自身です。
  あとはセカンダリDNSになってくれる先を探します。
  2つが決まったらレジストラへ登録変更してしまいましょう。
  お名前.comなどの一部のレジストラによっては自分自身をネームサーバーにするには一旦ネームサーバーとして登録したりする必要がありますが、特に難しいことではありませんね。レジストラの説明を良く確認して切替えてください。
  もしセカンダリDNSが決まっているならできるだけ早めに登録変更すれば運用がどんどん進みます。

  変更後数日(1〜3日程度)でレジストラに登録したDNSの参照ができはじめます。

7、zoneファイルの設定を仕上げましょう
  ここまでに設定した
  /var/named/ayamizu.com.zone
  は仮の姿です。
  ちゃんと設定しておきましょう。ここではホスト名に www と mail を使う例をしまします。mailというホストはあえて使わないかもしれませんが wwwは使いますよね。

$TTL 86400
@ IN  SOA  ns.ayamizu.com. postmaster.ayamizu.com. (
20020072902; Serial <---ちゃんとカウントアップしてね
10800    ; Refresh 3h
3600    ; Retry 1h
604800   ; Expire 1w
86400    ; TTL 1d
)
     IN  NS  ns.ayamizu.com.
      IN  NS   スレーブサーバーのホスト名をちゃんと追加して記載しましょう
      IN  MX  10 ns.ayamizu.com.  <---メールを受けとるホストを書いてね。10は優先度、そのまま10と書いておけばOK
ns   IN  A  61.205.232.120
www   IN  A  61.205.232.120  <---自分のIPを入れてね
mail  IN  A  61.205.232.120  <---もし使うなら自分のIPを入れてね

  例その2: http://www. で始まらない、 いきなり独自ドメインでアクセスする場合は次のような一行を加えておきます。

    IN  NS  ns.ayamizu.com.
    IN  NS   スレーブサーバーのホスト名を記載する
    IN  MX  10 ns.ayamizu.com.
     IN   A  61.205.232.120  <---こういう行を書いておきます
ns   IN   A  61.205.232.120

  事例のお断り: 設定のミス等により問題が発生するのを回避する為に省略した記載があります。
  DNSにはCNAMEという機能があり、一つのホストを複数に見せかける為のものです。

    IN  NS  ns.ayamizu.com.
    IN  NS   スレーブサーバーのホスト名を記載する
    IN  MX  10 ns.ayamizu.com.
ns   IN   A  61.205.232.120
mail  IN   CNAME ns
ftp   IN   
CNAME ns
www  IN   CNAME ns

  これはmailやftpやwwwはnsの別名だよ = CNAME、という事です。以前からたくさん使われています。
  でも間違って書くと誤動作のモトになり、アクセスが増えるのでそのCNAMEを避けて、上記のようなAレコードでの記載で例を載せました。
  一応ただし書きとして書いておきます。

  これでrestartすれば正常に動作します。

8、ルーターの確認を再度実施
  さて、一通り動作チェックまで済んだところで、セカンダリDNSサーバーにzone情報を転送する為に設定を書きます。
  /etc/named.conf
  のoptionsの中に転送許可するセカンダリDNSのホストを書いておきましょう。
  allow-transfer {
     xxx.xxx.xxx.xxx;
スレーブサーバのアドレスです
  };

  またzone転送のプロトコルがルーターで止まっていてはいけません。ルーターの設定をチェックしておきましょう。
  チェックするのはポート53のtcpです。DNSを使う方ではポート53のudpが必要だったのですが、zone転送には、同じく53のtcpの転送を通さなくてはなりません。
  結果的に53ポートについてはtcp,udpの両方を開いている事を確認しておきましょう。

9、nameserverの設定 /etc/resolv.conf
  サーバーから
  nslookup  www.ayamizu.com
  とタイプした場合、上の2行は自分(127.0.0.1とか 0.0.0.0 など)になってますか?
  プロバイダのDNSのアドレスが表示されている場合、DNS自分の不具合がわかりにくくなります。自分を第一優先のDNSサーバーとして単体で行くのが異常を察知するのに良いと私は思っています。
  /etc/resolv.conf を調べて nameserverという記載を一個にしてしまいましょう。
   nameserver 127.0.0.1
  こんな記載が良いでしょう。


10、slaveサーバーのテスト
  世界中の人がwww.example.comを検索します。その場合、www.example.comの登録してある指定のDNSサーバーに問い合わせに行きますね。
  その際、primaryとslaveのどちらに問い合わせが行くのか? というと、両方に同じ割合でいくらしいです。だからslaveサーバーの動作もチェックしておかないと。
  と思ったのですが、もし仮に、何らかの原因でzone情報がうまくslaveサーバーへ転送出来てない、または更新できていないとします。
  その上で
  host  www.example.com  
sss.sss.sss.sss
  としてsss.sss.sss.sssというslaveサーバーからwww.example.comの情報を見た場合、slaveサーバーが普通にDNS検索をかけてきた結果を表示してしまい、slaveである区別がつきません。・・・・・・・
  いちばんいいのは、slaveサーバーのオーナーが、転送を受けたzoneのファイルが新しいシリアル番号のモノに更新されているかどうかを調べるのが一番いいのですが・・・・
  もしダメなら別のチェック方法を・・・ちょうど、DNSの検査サイトを教えていただきました。
  http://www.dnsreport.com/
  ここに目的のドメインを入力して、エラーになるところが無いかテストしてみましょう。

 

最後に、namedの自動起動をセットしておかなければいけませんね。
 chkconfig --list named
とすると
 named 0:off 1:off 2:off 3:on 4:on 5:on 6:off
こんな感じで3がONになっていれば起動とともにnamedが動作します。
 chkconfig named  on
とすれば3はonになります。

Last Update 2002.7.30


セカンダリサーバーの設定手順

セカンダリサーバー(slave server)を引き受ける方への手順もお知らせします。
/etc/named.conf

  zone "example.com" {
  type slave;
  file "example.com.zone";
  masters {
     61.205.232.120;
   };
  };

こういうのを書きます。
普通のzoneと違うのは type が slaveになっていること、また、mastersとして元になるサーバーのIPを記載しておくこと。
これだけです。
namedを起動して
 /var/named/example.com.zone というファイルができていて、中身が転送モトと同じであればGOODです。
slaveは簡単ですね。


あ、そうそう
/var/named ディレクトリが、rootの権限になっていると named から書込みが出来ずエラーになります。
chown named  /var/named
chgrp  named /var/named
の2つを実行してnamedディレクトリの所有者を変えておきましょう。


改めて、独自ドメイン(zone)を登録するファイルの書方 をまとめて書いておきます

IP1では逆引きの権利をもらえないので、その設定はしない。しても意味がないし。
逆引きとは ip xxx.xxx.xxx.xxx という数値からホスト名を見つけるデータベースです。IPが固定で1つの場合ではだいたいプロバイダの方で登録してあってその登録の名義を変更してくれません。


まずは


/etc/named.conf の中身です。optionsの中と追加したzone以外は標準で入っている事が多いと思います。

options {
  directory "/var/named";
  allow-query {
    any;
  };
  allow-transfer {
     xxx.xxx.xxx.xxx;
スレーブサーバのアドレスへ転送許可を書きます
  };
};

ルートキャッシュファイルです デフォルトのままです
zone "." {
   type hint;
   file "named.ca";   
};

ローカルの逆引きです デフォルトのままです
zone "0.0.127.in-addr.arpa" {
   type master;
   file "named.local";
};

主ドメインのゾーン設定です これが追加するところです
zone "ayamizu.com" {
   type master;
   file "ayamizu.com.zone";
};

サブドメインのゾーン設定です 必要に応じて追加してください
zone "example.net" {
   type master;
   file "example.net.zone";
};

以上です。簡単ですね。

次に各ゾーンファイルです

/var/named/named.local

$TTL 86400 ←このデフォルトのTTLがないとBIND9からはエラーになります
@ IN SOA localhost.  root.localhost.  ( 
この部分を @ IN SOA ns.xxxxxxxx.net. postmaster.xxxxxxxx.net. と記載していましたが、わかりにくい表記でしたのでこの様に直しました。2003.1.9) 
2002040301 ; SeriaL
10800    ; Refresh
3600     ; Retry
604800   ; Expire
86400;
)
  IN  NS   ns.ayamizu.com.
  IN  NS   ns.example.net. <-バーチャルドメインを使う場合だけ追加
1  IN  PTR  localhost.



次に独自ドメインです、
/var/named/ayamizu.com.zone

$TTL 86400
@ IN  SOA  ns.ayamizu.com. postmaster.ayamizu.com. (
2002042301 ; Serial
10800    ; Refresh 3h
3600     ; Retry 1h
604800   ; Expire 1w
86400    ; TTL 1d
)
    IN  NS  ns.ayamizu.com.
    IN  NS   スレーブサーバーのドメインを記載する
    IN  MX  10 ns.ayamizu.com.
ns   IN   A  61.205.232.120  <---自分のIPを入れてね
www IN   A  61.205.232.120  <---自分のIPを入れてね
ftp  IN   A  61.205.232.120  <---自分のIPを入れてね
localhost IN A 127.0.0.1  <--これは入れた方が良いのかどうかわからなかったのですがBIND9で起動させると読み飛ばされてるので不要の様です。


バーチャルドメインを運用する場合は、同じようにzone設定を追加して書いていきます。
/var/named/example.net.zone
$TTL 86400
@ IN  SOA  ns.example.net.  postmaster.example.net. (
2002042301 ; Serial
10800    ; Refresh 3h
3600     ; Retry 1h
604800   ; Expire 1w
86400    ; TTL 1d
)
    IN  NS  ns.example.net.
    IN  NS   スレーブサーバーのドメインを記載する
    IN MX  10  ns.example.net.
ns   IN  A   61.205.232.120  <---自分のIPを入れてね
www IN  A   61.205.232.120  <---自分のIPを入れてね
ftp   IN  A   61.205.232.120  <---自分のIPを入れてね
localhost IN A  127.0.0.1

以上です。
簡単に解説しておきます。
zoneの書方は人それぞれで、参考にすると訳がわからなくなります。どれがベストなのでしょう?
できるだけ検索手順を減らす方向が良いとされています。でもよくわかりませんよね。
わからないのでまずは具体的な説明に入ります。
ns IN A xxx.xxx.xxx.xxx
これがメインとなるそのサーバーのAレコードです。nsって名前がホストの名前ですよ。そう登録している重要なレコードです。もちろんご自分のホスト名に合わせて書き換えましょう。ご自分のホスト名は uname -a で確認できます。
もし登録されていない場合は
/etc/sysconfig/network
を編集しましょう。たとえば、もしも私のドメインなら
 NETWORKING=yes
 HOSTNAME=ns.ayamizu.com
 GATEWAY=192.168.0.1
 GATEWAYDEV=eth0

こんな風になっていると思います。(実際は全然ちがうんですけどね)。nsがホストだとわかりますよね。参考にどうぞ。
あと /etc/hosts が
 127.0.0.1 localhost.localdomain localhost
 192.168.0.2 ns.ayamizu.com ns
 61.205.232.120 ns.ayamizu.com ns
こんな感じになってたりするはず。ご参考まで。

さて、すこし話は戻りますが、WEBにアクセスする時に、例えば www.ayamizu.com でなくて ayamizu.comだけで開くページをみかける事が多いですよね。それはAレコードの登録に
www IN A  xxx.xxx.xxx.xxx
と書くところを
  IN A xxx.xxx.xxx.xxx
とホスト名を省略して書くことでそうなります。このように省略してもちゃんと動作します。省略には@をCNAMEで登録する方法も見たことがありますが、なかなか取扱い通りに動作してくれないので忘れることにしました。

次のネームサーバーの記載、これは問題ないですよね。
  IN NS yyy.yyyyy.yyy.com. 
こんな感じ。説明しません。

次MXです。
そのドメイン宛のメールをどのホストへ流すか、そういう設定です。
  IN MX 10 ns.ayamizu.com.
たいてい独自のサーバー1台での運用でしょうから、上記の設定でOKです。複数のメールサーバーを作って予備に作動させておいたりする場合に優先度をつける、それが10です。1台なら意味はありません。フルドメインで記載する場合は.を最後に忘れずに。
(2002.7.28記事内容を変更いたしました)
当初、説明用のサンプルには
    IN  NS  ns.ayamizu.com.
    IN  NS   スレーブサーバーのドメインを記載する
    IN  MX  10 ns.ayamizu.com.
ns   IN   A  61.205.232.120  <---自分のIPを入れてね
www IN   CNAME  ns
ftp  IN   CNAME  ns

と記載しておいたのですが
www IN   A  61.205.232.120  <---自分のIPを入れてね
ftp  IN   A  61.205.232.120  <---自分のIPを入れてね

という表記に変えました。CNAMEとは、ここではnsという実ホストがあり、そのニックネームとしてwwwやftpなどのホスト名も兼任する、そういう機能です。これはニックネームと考えてください。キャノニカルネームだそうです。
CNAMEを使うと、不要なクエリを発生してしまうこと、MXへの指定ホストがCNAMEになっていると誤動作の元になることの理由により、あまり使わない方が良いとの論議があり、どう説明しようか迷ったのですが、誤動作回避を念頭にする、すなわち
CNAME表記をやめる方向が良いとの判断をいたしまして、記事をまとめなおしました。
DNSとしてどうあるべきか、不明なのですが、誤動作のない表記を優先させてこのようにいたしました。
ご了承下さい。



あと /etc/resolv.conf もチェックしておきましょう
search xxxxxxxx.net
search ayamizu.com 
←バーチャルホストをどうしてここに書いたのか記憶に無い??必要なのかな??実験出来ずそのまま書きつづけています。
nameserver 0.0.0.0
 ←これを書かないとnslookupが自分のDNSで動作しません。0.0.0.0か127.0.0.1を書きます。
・・・・・必要に応じてセカンダリ以下のDNSを列挙すればそちらを引きに行きますが無い方がDNSサーバーらしいと思う。

 

【ルートサーバーの一覧が書いてあるファイル 私の場合は named.ca について】
自分のzoneを発信するという事とは関係なく、BIND等のDNSサーバー稼動させると、世界中の名前解決をはじめる訳ですね。
そのデータを取ってくるおおもとのルートサーバー一覧がこのファイルです。
一覧がまれに変更になる事もあるとか。
で、昨年2002年秋、Jというサーバーが引っ越ししてアドレスが変りました。しばらくは並行運用していますが、恐らくもう変わった頃かと思います。
次の行を探してIPを変更して置きましょう。

J.ROOT-SERVERS.NET.  3600000  A  192.58.128.30

上記は変更後のIPです。(2003.1.9)

Last Update 2003.1.9

もどる


qmailを稼動させる為のインストール手順

qmailのインストールは、実験しながらすすめるとそのまま本になるほどの手順があります。
普通は
 1) qmail本体をインストールして稼動させる
 2) popの機能を実装する
 3) SMTPのリレーに制限をつける為の策を練る
 4) セキュリティを気にした設定をする
こんな感じの順に解説されています。
でも、ここでは一気にインストールしてしまう為の説明をします。

※私はqmailでもバーチャルホストでの運用をしているのですが、説明が混乱するので、バーチャルドメインを使っていないという前提で書きます

構築の前提条件を決めてしまいます。
・qmail本体のインストール
・popやsmtpの起動にはxinetdではなく、tcpserverを使う。
・POPはパスワードを暗号化したAPOPとPOPの両方を使える様にする
・パスワードはユーザーのログインパスワードとは切り離し、$HOME/Maildir/.password に書き出したものをPOPパスワードとする
・SMTPのリレー制御は、POP before SMTPを実装して実施する。

ではこれらを実施する為に効率の良い手順で説明してしまいます。


★ まずAPOP対応のパッチを準備し、インストールもしておきます。
qmailのコンパイルの時にパッチを当てないといけないので先に用意します。
使う圧縮モジュールは checkpw-1.00.tar.gz です。
まず http://checkpw.sourceforge.net/checkpw/ からダウンロードします。
解凍してパッチファイルを用意するついでにインストールまで済ませておきます。

# tar xvzf checkpw-1.00.tar.gz
# cd checkpw-1.00
# make
# make setup check
これでインストールは完了です。これは簡単ですね。

(解説)普通はPOPの説明でcheckpasswordというパスワードをチェックするだけのモジュールの説明が出てきます。
それを使う場合はAPOPは使えません。そして、ユーザーのログインパスワードをそのまま使う事になりますので、非常にセキュリティ上よくありません。
インストールの手間は同じなので、パスワードを暗号化するAPOPを使う事が出来、更にログインパスワードとはべつのパスワードを使える selectcheckpwと言うのが便利そうです。
パスワードがばれてもサーバーが乗っ取られる危険は減るという事ですね。

さて、この checkpw  のインストールにより3つのモジュールがインストールされます。
先のcheckpasswordとその3つのモジュールを並べてみます。

/bin/checkpassword Linuxのユーザーとパスワードを使う
/bin/checkapoppw APOPを使い、パスワードはユーザーのホームに置く
/bin/checkpw 通常のPOPらしいが、パスワードはユーザーのホームに置くらしい
/bin/selectcheckpw POP と APOPをクライアントのリクエストで自動に使い分けてくれる便利なやつ。でもqmailにパッチをあててから再コンパイルが必要。ちょっと注意です。パスワードはユーザーのホームに置く

先程のインストールでこの表の下3つは使える様になっています。
ではこの中の一番下のモジュールを使ってPOPとAPOPを両方使える様にする説明を続けます。


★qmail本体を準備

qmail本体の入るディレクトリを作ります。
# mkdir /var/qmail

qmail用ユーザーとグループを作っておきます
# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias alias
# useradd -g nofiles -d /var/qmail qmaild
# useradd -g nofiles -d /var/qmail qmaill
# useradd -g nofiles -d /var/qmail qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail qmailq
# useradd -g qmail -d /var/qmail qmailr
# useradd -g qmail -d /var/qmail qmails


qmail本体とパッチ(日本時間対応にするパッチ)をftpでダウンロードします。
$ ftp ftp.nlc.net.au
・・・name : ftpを入力
・・・password : メールアドレスを入力
ftp>cd /pub/unix/mail/qmail
ftp>dir で一覧が確認できたら
ftp>get qmail-1.03.tar.gz これが本体
とする。
さらに
ftp>get qmail-date-localtime.patch
これがパッチ

ftp>quit
で終了です。

$ tar xzvf qmail-1.03.tar.gz 解凍
$ cd qmail-1.03
$ patch -p1< ../qmail-date-localtime.patch
でコンパイル前にパッチを当てます。
paching file date822fmt.c
と表示されます。

あとDNSのパケットが512バイトを越える物を処理出来ないバグがあるらしく取っておきます。
dns.cのソースを開き、PACKETSZという文字を探して65536に書き換えます。

次にPOPとAPOPが両方使えるようにする為のパッチを準備しておいたのでそれを当てます。
patch -p1 < [checkpw-1.0を展開したディレクトリ]/qmail-popup-auth.patch
とします。
以上でパッチは完了です。
では
# make setup check
としてコンパイルです。


さて、/var/qmail/controls/以下に必要な設定ファイルを作る操作です。
# ./config
とするのですが・・・・・・・
この手順ではDNS設定を参照してドメインなどを自動にセットしてくれますが、逆引きなどの関連でたいてい思い通りにセットされません。だから、半手動で設定します。
# ./config-fast ホスト名としてFullドメインを指定してしまいましょう。
私の場合は
# ./config-fast ns.ayamizu.com
ですね。

この結果設定されるのは、
/var/qmail/control/以下に出来る5つのファイルです。
できたらチェックしておきましょう。

me ns.ayamizu.com  
locals ayamizu.com
localhost
ns.ayamizu.com
ここは環境によって localhostがないとローカル配送でエラーが出る場合があったので動作をみてあとでチェック
defaultdomain ns.ayamizu.com
ayamizu.com
 
plusdomain ayamizu.com  
rcphosts ayamizu.com
.ayamizu.com
完成後、サーバーが受信拒否しているときはここが違ってたりします。注意してね

手動でファイルを書き出しても構いません。5つ全部が必要な訳でもありませんが全部そろっていた方が安心です。

次に起動スクリプトを作ります。
cp /var/qmail/boot/home /var/qmail/rc
これでOK。
そして、qmailはMaildir形式が特徴なので、それを有効にする為に、この起動スクリプトを書き換えてしまいます。
さっきの /var/qmail/rc  を開き次の行の通りに書き換えます
qmail-start ./Maildir/ splogger qmail
赤いところが書換ポイントで、メールディレクトリ形式にするためのものです。
Maildirはメールがディレクトリに一つづつのファイルとして区分けされて保存されるので、いろいろな面で非常に有用だとされています。
この ./Maildir/という記載により $HOME/Maildir/ 以下にメールが配信されます。最初の配信は
$HOME/Maildir/new に
既読は
$HOME/Maildir/cur に保存されます。

ここで注意ですが、ユーザーのホームディレクトリにMaildirを作ってあげないといけません。
必ず該当ユーザでログインしておいて
$ /var/qmail/bin/maildirmake  Maildir
とします。

既に作成されているユーザーへは、上記のように手動でMaildirを作ってあげます。

今後新規にユーザーを作成する時にMaildirが自動に作られるようにするには
# /var/qmail/bin/maildirmake /etc/skel/Maildir
として雛形を作っておきます。


次に、sendmailを止めないといけません。

まずサービスを止めます
# /etc/rc.d/init.d/sendmail stop で止めて
# cd /usr/sbin
# mv sendmail sendmail.bak
# chmod 0 sendmail.bak

としてそのファイルを変えてしまいそのうえで起動しないようにパーミッションまで変えます。
このままではsendmailを使うソフトが動かないのでqmailを擬似的にsendmailを立ち上げます。
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
とします。これでsendmailを使うソフト(CGIなど)も普通に動作します。

qmailの起動は
# /var/qmail/rc &
これでOK。

配信テストをしてみますか?
/var/qmail/bin/qmail-inject
to : ユーザー名
ctrl + D

でダミーのメールをtoの先に送ります。
そのユーザーのMaildir/new/以下にファイルができているか確認します。
OKなら動作完了です。試しに携帯のメールアドレスなんかにも届きますよ。


あと必須項目として「ある特定の重要なアドレス宛」のメールを受信できる様にします。
qmailはroot宛のメールは受信しません。だから次の3アドレス宛のメールを受けるaleasを作ります。
postmaster と root と mailer-daemon
受け取るユーザーを決めてuseraddでユーザーを作っておいてください。例えばここではuser1がその受取人だとします。
echo user1 > /var/qmail/alias/.qmail-postmaster
echo user1 > /var/qmail/alias/.qmail-root
echo user1 > /var/qmail/alias/.qmail-mailer-daemon
chmod 644 /var/qmail/alias/.qmail*
この様にaliasを作成し、これでOKです。
あと MAILER-DAEMON という大文字の宛先が必要になる場合もあるかもしれません。というか必要になります、きっと。
だから上記の続きで
echo user1 > /var/qmail/alias/.qmail-MAILER-DAEMON
も書いておきましょう。
今まで二度、バウンスメールが無限ループに入ってしまい、サーバーが過負荷になった事があります。
どうやらこのMAILER-DAEMONという宛先が大文字と小文字で両方を使い分けられている為に、どちらかで受け取れずループ入りしたらしいという結果でした。
両方書いておくと安心です。

これでqmailの本体は無事動作するようになっているはずです。

 

★tcpserver をインストールする

qmail作者の強いお薦めによりtcpserverをinetdの代わりに用いてqmail関連のpopやsmtpを起動させます。
ftp://ftp.jp.qmail.org/qmail/ucspi-tcp-0.88.tar.gz
からucspi-tcp-0.88.tar.gzをダウンロードします。
tar xzvf ucspi-tcp-0.88.tar.gz で解凍して
cd ucspi-tcp-0.88
make setup
make check

これだけです。
ここであらかじめ2つの数値をチェックしておきましょう。
id -u qmaild
id -g qmaild
でqmaildのユーザーIDとグループIDを確認しておきます。メモしておくこと。


★ ここはAPOPでなく、popだけを使う為の手順を以前に書いたものですが不要になりました。読み飛ばして下さい。

qmail-pop3dそのものはqmailと一緒にインストールされるらしいので、あとはパスワードが使える様にするモジュールのセットアップに進みます。
それはcheckpasswordで、早速インストールします。

http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
これをブラウザでダウンロードして使いました。

$ tar xzvf checkpassword-0.90.tar.gz
$ cd checkpassword-0.90
$ make setup check

これでOKです。
起動は
tcpserver -HR 0 110 /var/qmail/bin/qmail-popup ns.ayamizu.com /bin/
checkpassword /var/qmail/bin/qmail-pop3d Maildir &

こんな感じです。
クライアントからPOP3のソフトで取り出してみると取り出せるハズまたはtelnet経由で
telnet hostname 110
trying xxxxxxxx
Connected to host ・・・
+OK
などというセッションが確認できればOK
最後はquitで止めます。
比較的簡単です。

以上、蛇足でした


★pop before smtpを実装させる

SMTPは許可されたクライアント以外はリレーをさせないようにしなくてはいけません。
ここでは pop before smtp を実装させます。
これは、POP (APOP)をパスワードを使って行い、その際、認証されたクライアントだけをSMTPで許すものです。
認証されたクライアントを /var/spool/relay-ctrlというディレクトリに書き出して、SMTPのリレー転送許可をだしてあげよう、そういう仕掛けです。
15分後にその許可のデータは削除されます。

http://untroubled.org/relay-ctrl/
ここからrelay-ctrlをダウンロードしますが、資料の豊富なバージョンの2.5はもう手に入りませんでした。
従いまして資料のない3.0をダウンロードします。この英語のページをじっくり読んで進めます。
と思っていましたが、途中でこちらのサイトがみつかり、参考にさせて頂きました。
http://www.itboost.co.jp/inst/inst_29.php

まずdaemontoolsが必要ですので
http://untroubled.org/rpms/daemontools/
からダウンロードします。解凍してインストールです。
tar xvzf daemontools-0.70.tar.gz
cd daemontools-0.70
make
make setup check
但しエラー make ***[taiなんとか
が表示されて止まる場合は次のように修正します。
tai64nlocalc.cの #include<sys/time.h>を#include<time.h>と書き換えます。

 

※reral-ctrlはこの時点では3.0で書いてますが、どんどんマイナーUPしているみたいです。
起動コマンドで引数の追加、ディレクトリの変更などがあるみたいです。
http://untroubled.org/relay-ctrl/こちらの英文の説明でもじっくりながめればわかりますので、私の文と照らし合わせて頑張ってみてください。


次にrelay-ctrlを解凍してインストールします
tar xvfz relay-ctrl-3.0.tar.gz
cd relay-ctrl-3.0
make
./installer

パーミッションを変更しておきます。
chmod u+s /usr/local/bin/relay-ctrl-allow

relay-ctrl に必須なパスなどを作ります
mkdir /etc/relay-ctrl
mkdir /var/spool/relay-ctrl
echo "/var/spool/relay-ctrl"> /etc/relay-ctrl/RELAY_CTRL_DIR

一定時間(1分)でアカウントをクリーンナップする為にcrondにセットします。
crontab -eを起動して次の行を書きます
* * * * * /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-age
これで1分ごとに期限切れのデータを消しに行きます。

でもログがcronだらけになってじゃまなので
*/10 * * * * /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-age
こういう風に10分おきに実施してもぜんぜんだいじょうぶです。

 

★起動スクリプトのセット

私は起動スクリプトを qmail 本体、pop、smtpのファイルに分けて設定しています。
停止スクリプトは用意していません。
3つを紹介します。

【本体
/etc/rc.d/init.d/qmail
#!/bin/sh
csh -cf '/var/qmail/rc &'

【POP
/etc/rc.d/init.d/qmail-pop
#!/bin/sh
/usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/tcpserver -HR 0 110 /var/qmail/
bin/qmail-popup ns.ayamizu.com /bin/
selectcheckpw /usr/local/bin/relay-ctrl-allo
w /var/qmail/bin/qmail-pop3d Maildir &

【SMTP
/etc/rc.d/init.d/qmail-smtp
#!/bin/sh
/usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/tcpserver -HR -u 502 -g 502
0 25 /usr/local/bin/relay-ctrl-check /var/qmail/bin/qmail-smtpd &

色の変っているところはご自分の環境に合わせてくださいね。

 

次に自動起動させる為のシンボリックを /etc/rc.d/rc3.d/以下に貼って、パーミッションをセットします。

turbo7以降は /rc.d/は不要です。
シンボリックを張る
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S80qmail  
ln -s /etc/rc.d/init.d/qmail-pop /etc/rc.d/rc3.d/S81qmail-pop  
ln -s /etc/rc.d/init.d/qmail-smtp /etc/rc.d/rc3.d/S82qmail-smtp  

パーミッションを変更
chmod +x /etc/rc.d/rc3.d/S80qmail
chmod +x /etc/rc.d/rc3.d/S81qmail-pop
chmod +x /etc/rc.d/rc3.d/S82qmail-smtp

以上でqmailが稼動します。

 

★メールパスワードのセット(メールユーザーに対する)

必須項目です。必ず実施してください。

各ユーザーディレクトリ下の/Maildir/以下に.passwordファイルを作ります。
かくユーザーでログインしてから作ればそれはそれで良し、rootからでも良し。その場合はownerを変更します。rootからセットする手順を書きます。

例として、ユーザ / パスワードを aaaa/pppp とします

# touch /home/aaaa/Maildir/.password
# echo pppp > /home/aaaa/Maildir/.password
# chmod 600 /home/aaaa/Maildir/.password
# chown -R aaaa /home/aaaa/Maildir/.password

わかりますね /home/aaaa/Maildir/.password これをそのユーザーのパーミッションで作っておけばOKなんですね。

chmod 600 /home/aaa/Maildir/.password
これは必須です。
644とか余分なものがついているとどうもうまく動作してくれません。

これでAPOPはOKです。
なお、POPで受信する際もこのパスワードファイルが読込まれます。

完璧!

Last Update 2002.7.30

qmailインストールに関する参考書籍

TurboLinuxServer6.5 サーバー構築ブック 株)メルコテクノスクール 堀口幹友氏著 ASCII
インストールにパッケージCDをつかわせていただきました。

はじめての TurboLinux7Server サーバー構築術 本松慎一郎氏著 秀和システム
インストールにパッケージCDをつかわせていただきました。

qmailで作る快適メールサーバー 濱野賢一郎氏/佐藤文優氏著 秀和システム

sendmailとqmailによるLinuxメールサーバー構築ガイド 高橋隆雄氏著 エーアイ出版

qmailメールサーバーの構築 ExpertUNIX Series ASCII

 


qmail のPOP認証にめちゃくちゃ時間がかかる人への解決策の案

※※※もとはいっしょの同じ記事だけど、最新のものはこっちに移してるからそれをみてね。それが最新情報です。

Turbo Linux Server 6.5 を使っている間は全く問題なく使ってきたのですが、そのマシンが不調になりまして
Turbo Linux 7 Serverに移りました。
すると、環境の違いは多少なりありますが、遅くなったところが大きく2つ。
 1)Apache をローカルから開く時
 2)メールへのログイン
Apacheのローカルログインが遅いのはホスト解析の為だと言うことは動作から想像できます。
外部からはちゃんと普通に使えますから。
じゃあその場合、手っ取り早く /etc/hosts にクライアントの名前を登録してしまえば良いのです。
クライアントのIPを
10.0.0.200  client_no_1

とか書いておけばそれは解決します。

さて、問題はメールへのログインです。
私はtcpserver経由でpop before smtpを使っているのでその辺をいろいろと試してみました。

諸般の説明ではtcpserverがホスト名を調べる為に時間がかかってしまうという説明を見かけます。
tcpserverのタイムアウトには26秒で、それを回避するには-HRオプションをつけて起動させると良いと。

同様の事は私の過去の記録に触れています。ここにあるよ
とうぜんその設定をしてある上で認証が遅れているので、別の要因です。
そして待ち時間は1.5〜2分と、とても長い。

さて、結論から言いますと、サーバーが自分の名前を引こうとしているのです。

私の場合は 10.0.0.100 というサーバーです。これを名前解決しようったってそうはいきません。
通常ならhostsを見て解決してくれるべきなのです。Apacheはちゃんと見てくれたのですが、tcpserverは見てくれないのでしょうか?
host.confでもちゃんとhostsから見るように指定してあるのに・・・・・

見てくれないなら、bindに登録してしまえ!!
ということで

/etc/named.conf
にはこんな感じで逆引きzoneを書き加えます。
   zone "0.0.10.in-addr.arpa" {
     type master;
     file "named.me";
   };
192.168.0.1の場合なら
   zone "0.168.192.in-addr.arpa"{
って感じですね。
そしたらzoneファイル次のように作ります

/var/named/named.me

   $TTL 86400
   @ IN SOA localhost. root.localhost. (
   20030408 ; Serial
   28800 ; Refresh
   14400 ; Retry
   3600000 ; Expire
   86400 ) ; Minimum
   IN   NS   localhost.
   100  IN  PTR   localhost.
 

100の数字は各自のサーバーのIPの最後の8ビットを入れてくださいね。
これで /etc/init.d/named restart
をかければホスト自身の逆引きはOKになるハズ。
私はこれで快調 快調・・・

遅れましたが、メールサーバーを立ててる訳だからbindは有りますよね?

Last Update 2003.4.8