サーバーの準備


サーバーには、FreeBSD 3.4-RELEASE を選びました。
使い慣れているから & OTP(S/KEY)の実装が 標準でインストールされているからです。

概要

  1. gettyで受けて
  2. loginで認証して
  3. シェルとして(user-)pppを起動し、PPP接続する。

pppのPAP認証でOTPを試したのですが、どうやら対応していないようです。ppp をOTP対応にするべきかと思いましたが、「認証だけloginにさせてしまう」方 法を採りました。(loginは、最初からOTP対応しています)

モデムの接続方法や、gettyでの受け方は、 FreeBSDハンドブックを参照。

pppの設定

1. /etc/ppp.confの設定

default:
        allow users *
        disable lqr
        deny lqr

cuaa1:
        set timeout 0
        enable proxy
        set ifaddr 10.0.0.1/32 10.0.0.128/32

default:のlqr関係の行は、まだ FreeBSD2.2.5を使っていた頃に「lqrはうま く動かないのでdisableすべし」と言われた名残がそのまま残っています。今 はどうかしりません。

2. /etc/ppp/ppp-dialupの設定(作成)

#!/bin/sh

IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`

if [ x$IDENT = xdialup ]; then
        IDENT=`basename $TTY`
fi

echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"

exec /usr/sbin/ppp -direct $IDENT

3. ppp-dialupを、/etc/shellsへ登録

シェル登録していないと、メール関係でちと問題が出たので、登録しておきます。

4. pppログインさせたいユーザーのデフォルトシェルを変更

testuser:*:1000:1000::/home/test:/etc/ppp/ppp-dialup


これで、サーバー側の準備は整いました。
また、応用として、簡易メニューなどを作ってシェル登録しておき、接続時に ppp接続とシェル(/bin/sh等)をメニューによって選ばせるようにも出来ると 思います。