雑記など
ウチの自鯖の構築の記録2
/
1_telnet再び
の編集
1_telnet再び の編集
[ ]
# v34b9721 の編集
*問題なければ一旦停止させる [#v34b9721] さて、うまく動きましたか? 接続・ログなどがキチンと意図通りに動作したら、一旦停止させましょう。 # rm /service/telnet # svc -xd /var/servide/telnet/log # svc -xd /var/servide/telnet 一番最初、inetd でtelnetを起動した時、「ないよりはマシ」という程度で、hosts.allowとhosts.denyにて接続の制限をかけましたね。 今、telnetはdaemontools経由で動いていますから、この制限は効きません。daemonntools自身には、接続の制限をする機能がないのでしょうか? そこで、tcpserver が持っている機能で接続の制限をかけましょう。 まず、一旦、telnetデーモンを止めます。 # rm /service/telnet # svc -xd /var/servide/telnet/log # svc -xd /var/servide/telnet 現在、/var/servicd/telnet/run スクリプトはこうなっていますね。 exec env - PATH="$PATH" \ tcpserver -l0 -R -H -v -c 3 0 telnet /usr/sbin/in.telnetd 2>&1 これを、以下のように書き換えます。 exec env - PATH="$PATH" \ tcpserver -l0 -R -H -v -c 3 -x ./tcp.telnet.cdb 0 telnet /usr/sbin/in.telnetd 2>&1 この -x のオプションは、 ./tcp.telnet.cdb という接続制御ファイルの通りに接続を制限しろ! という意味です。 スクリプトを保存したら、さっそくこの tcp.telnet.cdb ファイルを作成します。 まずは、tcp.telnet というファイルを作り、こんな内容を書き込みます。 tcp.telnet 192.168.1.:allow 127.:allow :deny これで、発信元が192.168.1.xxな所からの接続は許可され、それ以外からの接続は全て拒否されます。 (127.:allow は、ループバックと言って自分自身のことを表しますので、通常は全て受け入れます。まあ、おまじないみたいなものと思っておいてください。) ちなみに、この定義ファイルは上から評価されますので、もうすこし細かくコントロールしたい場合は、たとえば 192.168.1.22:allow 192.168.1.126:allow 192.168.1.8:allow 192.168.1.211:allow 192.168.1.:deny 127.:allow :deny こんな書き方をすることもできます。 さあ! これでようやっと完成・・・・・ではありません。 daemontoolsは、この定義ファイルにとんでもない量を書き込んでも速度が落ちないように、バイナリ(ハッシュテーブル)に変換しなくてはいけません。 しかし、そのコマンドはちょっと面倒くさいです。 なので、/var/service/telnet/ に、make_cdb なんてスクリプトファイルを作っておきましょう。 make_cdb #!/bin/sh tcprules tcp.telnet.cdb tcp.telnet.tmp < tcp.telnet さあ、あとは、このmake_cdbを実行すれば、tcp.telnet から、 tcp.telnet.cdb を作成してくれます。 # ls log/ make_cdb* run* supervise/ tcp.telnet #./make_cdb # ls log/ make_cdb* run* supervise/ tcp.telnet tcp.telnet.cdb さあ、接続の制御ファイルの準備も出来ました。リンクを張って、再びtelnetデーモンを動かしましょう。 # cd /service # ln -s /var/service/telnet
Q & A 認証
: ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
日本の首都は?(漢字で)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
なにこれ?
クスクスリーナとは?
設定とか
登場人物
お品書き
日記
お絵かき
リンク集
雑記など
鯖構築日記(Vine3.0編)