(3)内部用サーバー
似非常時接続になると、サーバーを立てられるだけじゃなくて、今までダイアルアップで不便だった部分を解消できるという利点もあります。そのための設定をいくつか紹介したいと思います。いくつかはフレッツISDN利用者(サーバーは公開していない人)にも役立つかもしれません。
アクセス制限
内部用サービスはルーターでも叩き落としているのですが、やはりtcp_wrapperでも制限しておくべきでしょう。
/etc/hosts.allowと/etc/hosts.denyは以下のとおり。
hosts.deny
ALL : ALL
hosts.allow
ALL : 192.168.0.0/255.255.255.0, 127.0.0.1
in.proftpd : ALL
Proxyサーバー
フレッツ開通前からwwwoffleを導入していたので、これをそのまま利用。性能はsquidよりいくらか落ちるらしいですが、個人利用ならば気にする必要はないでしょう。むしろsquidより手軽に設定できるメリットの方が大きいです。
POPサーバー
今まではプロバイダー宛に届いたメールをPOPで取っていたのですが、フレッツ開通後にそれをやると、プロバイダーが別ということもあってかなり遅くなります。ということで、プロバイダー宛メールをyossy@hodogaya.orgに転送させ、shionに届いたメールをtanpopoがPOPで取るようにしています。メールチェックが一瞬で終わって快適です。
ちなみに、プログラムはqpopperを利用しています。唯一inetd.confに
pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.qpopper
と書くだけで動くはず……と思ったら、なぜか動きません。調べたら、ロックファイルを/var/mailという存在しないディレクトリに作成しているようです。(メールのスプールディレクトリは/var/spool/mail)
オプションで設定しようとしてもディレクトリを指定することは出来ないようで、再コンパイルするのも面倒なのでシンボリックリンクを張って逃げました。(^^; いい解決策があれば教えて下さい。
ちなみに、KondaraだけなのかLinux一般なのかは判りませんが、/etc/servicesで110番ポートに割り当てられていたプロトコルの名前は"pop-3"になっていました。僕は"pop3"の方が慣れていたので、そのように書き換えています。
NTPサーバー
時刻合わせのプロトコルです。
試行公開されているNTPサーバーを参照してshionの時刻を合わせ、他のマシンやルーターはshionを参照するようにしています。
/etc/ntp.confに以下の記述をし、システム起動時にxntpdを起動するようにしておけばOK。
server 210.173.160.27
server 210.173.160.57
server 210.173.160.87
restrict default notrust nomodify ignore
restrict 192.168.0.0 mask 255.255.255.0
ファイルサーバー
sambaでshionとtanpopoの間でファイル共有しています。基本的に全ての作業はtanpopoで行っているため、shionのテキストファイルをtanpopoで参照・編集したり、shion用のバイナリーファイルをtanpopoのNetscapeでダウンロードしてshionのホームディレクトリに保存したり、という利用方法をしています。
ちなみに、web公開用ディレクトリも共有しています。Linux上のファイルをWindowsからアクセスしてMeadowで編集してたりすると、一体何のOSを使ってるんだか判らなくなってきます。(^^;
ニュースサーバー
ニュースを読むのもやはりプロバイダーにアクセスするよりはローカルに完結させたいので、ニュースサーバーを走らせてます。ニュースサーバーといえばINNが一番有名ですが、個人サーバーでそこまで本格的なものは不要だろうということで、設定がずっと楽なleafnode+を利用しています。
設定は/usr/lib/leafnode/configというファイルで行います。設定項目も少ないので、同じディレクトリにあるconfig.exampleというファイルをコピーして必要な部分だけ編集すればよいでしょう。
プロバイダーからの記事取得はfetchnewsというプログラムで行っています。次のようなスクリプトを1時間おきに走らせています。
#!/bin/sh
su news -c "/usr/sbin/fetchnews"
shion自身がサーバーになるには、inetd.confにleafnodeを登録します。具体的には以下の行を/etc/inetd.confに追加してからinetdにHUPシグナルを送ります。
nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode
ここまでの設定だけでしばらく動かしていたのですが、記事のexpireを行うのをすっかり忘れてました(^^; 次のようなスクリプトを1日1回動かす設定を追加しました。
#!/bin/sh
su news -c "/usr/sbin/texpire"
なお、最新バージョンの2.12ではkill file機能が加わりました。(個人的には「亀駆除機能」と呼んでます(笑)この記事参照)
ニュースリーダーの方でもkill fileは利用しているのですが、最近脹れ上がり過ぎて動作にまで支障が出るようになってしまいました。これを利用すればkill
fileの削減ができるとともに、サーバーのディスク容量の節約にもなりお得です。
ちなみに、うちの設定内容はこんな感じです。参考までに。(参考になるのか?)
DHCPサーバー
DHCPサーバーはRTA50iの機能を利用しているため、shionにはインストールしていません。
ちなみに、shionのみ固定アドレスにしているので、そのIPアドレスをDHCPで配布するアドレスから除いておきます。こうしないとIPアドレスの重複が起こる可能性があるので。
暗号解読プログラム
サーバーでは全然ないのですが。(^^;
自宅サーバーだとよっぽどでない限りサーバー自体は暇なので、その間のCPUを有効利用するために、distributed.netの暗号解読プログラムを走らせています。以前はRC5という暗号の解読がメインプロジェクトだったのですが、現在はOGR(最短ゴロム定規)という数学上有用な発見のための計算も平行して行っています。nice値19(優先度最低)で動いているので、他のプログラムには全く影響を与えないといってもいいでしょう。
マシンを24時間起動しているかたは資源の有効利用のためにぜひどうぞ。 え、宇宙人探し? 何のこと?(^^;
前へ|目次|次へ
yossy@hodogaya.org