iptablesにすこし惑わされてBINDにさらに惑わされる

部活のServer入れ替えに備えて、ちょっと実験。
まず、Server用アプリですけど、今までに使っているやつ
・Apache2(HTTP)×PHP5  ・Postfix(SMTP)   ・dovecot(IMAP)
・ProFTPD(FTP)  ・OpenSSH(SSH)  ・Samba(Windows共有)
前3つがメインですね。後ろ3つは後方支援のためと言おうか。
ですけど、部活のサーバーはこれにさらにルーター機能・DNS機能が必要です。
前者はiptables、後者はBINDで実現するのが普通ですね。
一応、両方ともテストはしたんだけど、ちょっと不審な点があって、
改めて…考えてみた。
まずiptablesの働きは、入・出・転送する通信についてフィルタをかけること。
まぁだからファイヤーウォール的なことだけに使ってる人もいるけど。
まず、それぞれの設定を簡単に説明しておくと
入:ポリシーは拒否、必要なポート・LAN内から・成立した通信は許可
出:ポリシーは許可、WAN側のWindows共有のポートは拒否
転送:ポリシーは許可、発信元を自分のIPアドレスに変更することとWANからあるポートに入ってきたのをLAN内に転送
というだけです。まぁ2つはファイヤウォールそのものだし、
最後のはルーターがやっていることそのものです。
こういうのをシェルスクリプトに書き連ねて、それを実行して設定するやり方が普通。
そうそう、これはConfファイルとか書くんじゃなくてiptablesコマンドでひたすら設定する。
でも、それをいちいち打つのは大変だから、シェルスクリプトとかに書いておく。
ただし、サービスを落とすと設定は飛ぶ、だから
# service iptables save
で保存しておく。それだけです。
で、BINDはむちゃくちゃ有名なDNSサーバーですね。
まぁ、DNSは設定が難しいもんです。いろいろ難しいことが多いので。
まずDNSサーバーのやる仕事を簡単に言うと
libserver.ddo.jpと聞かれたら61.121.226.140と答えて(正引き)、
61.121.226.140と聞かれたらdhcp-139.nava21.ne.jpと答える(逆引き)。
まぁ、自分の管理する範囲は正引き・逆引きできるようにしとこうと。
まぁ実はルーター的なのにつけるときもう1つポイントがあって、内向きDNSと外向きDNSを作らないかんと。
内向きDNSはLANの中からいろいろアクセスするのに聞きに行くDNS、
外向きDNSは独自ドメインをとったりした人が、外の人がドメインからIPアドレスを引けるようにするというDNS。
この辺はよくわからんけど、前者は普通ルーターがやっています。
まぁこれに関しては後で研究するとして、今回したのはLibserverにBINDを取り付けた。
これのメリットは、家の中から普通にlibserver.ddo.jpと入れるだけで192.168〜というIPアドレスで、
Libserverを直接示してくれるので、外と同じURLでアクセスできると。
そういうのをルーターにさせられればいいのだができんみたいなんでね。
なお、Libserverは自分の管理しない範囲は全部ルーターに丸投げ、
さらにルーターは全部CATVに丸投げ、とまぁ…
で、正引き用にzoneファイル、逆引きようにrevファイルを用意しないといけない。
zoneファイルにlibserver.ddo.jpのnsは〜でとかいろいろ決めてある。
revファイルに192.168.0.xxxは〜.libserver.ddo.jpとか決めてある。
これを書いて、named.confで設定を書いて完成。
んなわけです。まったく中身が読めないかもしれませんけど、
けっこうめんどくさいですね。いやー大変ですよ。
ちなみにほかにもいろいろ決めることはあるけど、めんどくさいから適当にコピペ・改変で。
ちなみに内向きDNSと外向きDNSを作るのはBIND9では簡単にできるそうです。
なので、そのときになってから考えたほうがいい気がします。
正直外向きDNSはすぐ実現できなくても時間稼ぎできますし。
大概のドメインの販売会社というかレジストラか知らんけど、DNS機能を提供してくれています。
個人ユーザーをつかむためですね。個人ユーザーがDNS作るのは大変ですし。
なんで、すぐに作る必要はないでしょう。
そもそも、現在ドメインが失効していて、その前からDNS死亡状態だったんで。
ははははは、誰だroot…と思うんですけど、rootさん忙しいらしく…
ちょうど、Serverの中身を入れ替えるときに重なるので、徹底的に改善するかと。
ネタでOpenPNEでも動かしますかね。SNSですよSNS…