|
次のページ
前のページ
目次へ
2. 手順2.1 PART I: 自宅でネット?ほとんどの人は仕事場でインターネットを使っています。しかし、自宅であ るいは仕事場以外の場所でもたびたびネットを必要とすることがあります。在 宅での作業は、会社からの作業よりもより安上がりになるかもしれません。もっ ともよい解決方法は Linux のサーバにコールバックソフトウェアをインストー ルすることだと思います。コールバックは、費用を会社負担とし、リストした 電話番号に再ダイアルできるようにします。 運用方法を紹介しましょう。モデムがコールバックしてもよいと許可されてい る人は、まず Linux のサーバに電話をかけて認証を受けます。ユーザ側では、 モデムを "モデムを切断する" という設定に変更しておくと、同時に Linux はユーザに電話をします。ユーザは再度認証を受けます。接続が完了するとサー バには課金がかかります。ユーザは接続を開始したときだけの料金を払うので す。許可されていない人たちにコールバックが使えないように、コールバック プログラムには二度の照合や追加オプションがあります。社内ネットワークや インターネットからの接続だけにアクセス者を限定できます。コールバックは とても融通がききます。以下、Linux システムでのコールバックサーバのコン フィグレーションを公開し、お使いのコンピュータで再電話接続を設定する方 法を紹介しています。
2.2 PART II: モデムについて管理者はさまざまな種類のモデムを使いたがりますが、モデムを購入するとき は、いくつかの注意事項を忘れてはいけません。
適切なモデムを入手したら、システムにモデムを設定しなければなりません。 モデムが、どの com ポート上にあるかをチェックします。それからハードウェアと /dev/modem にシンボリックリンクを作ります。たとえば、2つ目の com ポートにモ デムがつながっているなら、次のようにします。
ln -s /dev/cua1 /dev/modem
リンクを確認しておきます。
lrwxrwxrwx 1 root uucp 9 Sep 19 19:10 /dev/modem -> /dev/cua1
別の com ポート上にモデムがつながっているなら、モデムデバイスと com ポートは 次のような関係になっています。
/dev/cua0 is com1 /dev/cua1 is com2 /dev/cua2 is com3 /dev/cua3 is com4
新しいカーネルでは次のようになっています。
/dev/ttyS0 is com1 /dev/ttyS1 is com2 /dev/ttyS2 is com3 /dev/ttyS3 is com4 minicom を使って設定をチェックします。 訳注:kernel-2.2.x の /usr/src/linux/Documentation/Changes の General Information に次のような記述があります。 /dev/ttyS* で設定したほうがよいでしょう。 Also, please remember that cua* devices are now obsolete. Switch to the corresponding ttyS* device instead (e.g., cua0 -> ttyS0, cua1 -> ttyS1, etc.). cua* デバイスは現在は使われていません。 かわりに対応する ttyS* デバイスに変更します。 (たとえば、cua0 は ttyS0 に、cua1 は ttyS1 のようになります。) また mgetty のパッケージの doc のディレクトリに ttyS-cua.txt という ファイルが添付されているので参照してください。
2.3 PART III Linux に電話をかけるLinux 上にアクセス可能なコールバックを作る最初の手順は、カーネルに適切 なパラメータを設定することです。カーネルに ppp が組み込まれているかどう かをチェックします。お使いのカーネルに ppp が組み込まれていない、ある いはモジュールにもなっていないなら、カーネルを再構築し、ppp を組み込ま なければいけません。より詳しい情報は Kernel-HOWTO にあります。できてい ますね。適切なカーネルをお使いですね。それではシステムにソフトウェアを インストールしましょう。コールバックプログラムは mgetty-sendfax と ppp の一部です。お使いのディストリビューションにすべてのものが入っているで しょう。コールバックシステムは二回認証を行いますから、サーバ側では ppp を走らせるユーザを作っておきます。 訳注 : /etc/passwd に以下の内容を追加します。
pppuser:klkIOM89mn65H:230:PPP Dialin:/home/pppuser:/etc/ppp/ppplogin
次にパスワードを変更します。/etc/ppp/pap-secret にパスワードについての 情報を追加しなければいけません(詳細は man pppd で確認してください)。
pppuser * password_for_pppuser * 訳注:$ cat /etc/ppp/pap-secret で確認しておきます。
このユーザは通常のシェルを持っていませんが /etc/ppp/ppplogin ファイル に存在します。このファイルは自分で作成します。 たとえば vi を使って /etc/ppp/ppplogin を次のように編集します。
#!/bin/sh exec /usr/sbin/pppd -detach 192.168.1.1:192.168.1.2
アドレス 192.168.1.1 はモデムを持つサーバのアドレスで、 アドレス 192.168.1.2 は自分のモデムに割り当てるアドレスです。 このファイルに実行オプションを立てます。 ppp デーモンを使うので、このデーモンにオプションを設定しなくてはいけません。 /etc/ppp/options ファイルを編集します。
netmask 255.255.255.0 proxyarp lock crtscts modem
Proxyarp は、サーバにあるモデムを通じてインターネットに出て行くことが できるので、上記オプションで最も重要なものです。その他のオプションはお 使いのモデムの制御に使われます。オプション proxyarp を使わなければ、ユー ザはローカルネットワークでだけ作業ができます。詳細は PPP-HOWTO やオン ラインマニュアルで pppd を調べてください。 注:ARP [Address Resolution Protocol] それではサーバ上のモデムを設定しましょう。 サーバ起動後に接続を受け入れる準備をしなければいけません。 /etc/inittab を編集し、2つ目の com ポート上にモデムを加えます。
s1:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1 vt100
1つ目の com ポートに対しては次のようになります。 s0:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1 vt100 init q を送ります。 記録にどんなエラー情報も出ないなら、次に進みましょう。 /etc/ppp のディレクトリに戻り、 options.ttyS1 というファイルを作ります(com1 ポートのモデムには options.ttyS0 になります)。
IP_local: IP_remote
われわれのネットでは次のようにしています。 192.168.1.1:192.168.1.2
さらにすることがあります。 /etc/mgetty+sendfax/login.config というファイルをチェックします。 一番重要なものは次の行です。
/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login detach kdebug 7 debug
他の行は
pppuser はpppd を稼働させ、インターフェースとして動くようにしなければ なりませんから、次のコマンドで、pppd に suid を設定します。
chmod u+s /usr/sbin/pppd 訳注:$ ls /usr/sbin/pppd そうすればこのようになります。 -rwsr-xr-x 1 root root 106892 Jan 11 1999 /usr/sbin/pppd
私のサーバでは pppd の再起動を優先させた後に問題があったので、 cron に加えるのはよい考えだと思います。 サーバはルータとして動きます。 IP forwarding を使えるように /etc/rc.d/rc.local に次の行を加えます。 echo "1" > /proc/sys/net/ipv4/ip_forward
RedHat のユーザの場合は、 FORWARD_IPV4=false から FORWARD_IPV4=true に /etc/sysconfig/network ファイルで変更できます。
認証のために Linux に電話をかけます。そのためにスクリプトを使います。
MS Windows を使うなら、
2.4 PART IV Linux が電話をかける私たちはすでに Linux サーバ に電話をかけることができます。さて、Linux
が私たちに電話をかける番です。難しいことではありません。2つのファイル
を編集しなくてはいけません。
次にユーザの電話番号を登録します。さきほど接続に使った電話番号を書きこみます。 そのために /etc/mgetty+sendfax/login.conf に次のような行を加えます。
call - - /usr/sbin/callback - S 123456
電話が非ユーザの場合は接続の開始を要求します。
&c0s0=1
モデムプロパティの窓を閉じ電話をかけます。上に示した方法でログインしま す。Linux を使うならスクリプトを使わなければいけません。Linux ではこれ が一番良いというスクリプトをひとつだけ提示するのは難しいです。システム において、ppp をうまく設定することがまずは重要なことです。(次に示した スクリプトを使って pppuser として電話をすることができます)。下記のスク リプトは、 A. Gozdz によって書かれました。
これらのスクリプトは Slackware で動きます。
ppp デーモンのコンフィグレーションファイル /etc/options (com2 ポートにつながっているモデムの例)
lock defaultroute noipdefault modem /dev/cua1 33600 crtscts debug passive asyncmap 0
目的別のスクリプトです。
次のスクリプトはLINUX RED HAT 6.x です。
M$ Windows をお使いなら接続のために次のスクリプトを使えます。私はこの スクリプトのテストをしていません(私はターミナルを使っています)が、質問 があれば Adrian Debkowski(adrian@cr-media.pl) に尋ねてください。
proc main delay 1 waitfor "ogin:" transmit "call^M" waitfor "RING" transmit "ATA^M" waitfor "CONNECT" waitfor "ogin:" transmit "pppuser^M" waitfor "word:" transmit "ppp^M" endproc
次のページ 前のページ 目次へ |
[ |