次のページ 前のページ 目次へ

2. サーバ側の設定(Linux)

サーバにはLinuxを使い、以下のことを前提として話しを進めます。

  1. モデムは/dev/ttySxデバイスを使います。
  2. isdn4linux /dev/ttyIxデバイス (訳注:isdn4linuxのサイトはftp://ftp.franken.de/pub/isdn4linux/など です。ISDN回線でないと「回線が使用中です。しばらくしてからやり直して みて下さい」(Windows95側)というメッセージが出るのですが、うまくいった方が おられたらぜひ教えて下さい)
もっとも簡単なセットアップとしてmodem demonを起動するための 5行perlスクリプトを使います。

$ cat /usr/sbin/modemd


#!/usr/bin/perl
select((select(STDOUT), $| = 1)[$[]);
select((select(STDIN), $| = 1)[$[]);
exec 'cu -s 115200 -l /dev/ttyS1';
die '$0: Cant exec cu: $!\n';

クライアントが適当なポートに接続している場合、モデムデーモン(modemd)は inetdプロセスによって開始されます。以下述べるように モデムデーモンは単に'cu'コマンドの標準入力/出力をソケットハンドルに接続 して、'cu'ハンドルを実際のモデムデバイスとするだけです。'cu'コマン ドがシステムにない場合は,UUCPパッケージをインストールして下さい。 'cu'は UUCPの一部です(訳注:cu は他のシステムをコールアップ(Call up) するコマンドです)。

モデムデーモンの存在は設定ファイルをアップデートすることでinetdプロセス として認識されます。設定ファイルは通常/etc/inetd/conf


#
# modem daemon
#
modem stream tcp nowait root /usr/sbin/tcpd /usr/sbin/modemd /dev/ttyS1

と書かれます(訳注:/dev/ttyS1は適当なデバイスに変更します)。 これを動作させるために,/etc/servicesにエントリーさせます。
       modem           2006/tcp        modemd

この例では、シンボリック名はポート番号2006に対応しています。 ポート番号は使用されていないサービスのものが使えます。変更後,inetdプロセス にシグナルを送ります。これはinetdで設定を再度読み込み、プロセスを再開させる ために必要です。
$ ps |grep inetd
194  ?  S     0:00 /usr/sbin/inetd
   
kill -HUP 194
これでサーバ側はクライアントからの要求を受ける準備ができました。 正しく機能しているかは以下のようにして確認できます。
       $ telnet localhost modem
   
       Trying 127.0.0.1...
       Connected to localhost.
       Escape character is '^]'.
さあ,モデムにつながりました。セットアップを確認するために'AT'コマンドを うちこんでみます。
       atz
       atz
       OK
   
       ati1
       ati1
       Linux ISDN
       OK
   
       ^]
       telnet>quit
       $
モデムサーバでPerlスクリプトを使う代わりに,mserverというプログラムも あります。ftp://ftp.innet.be/pub/staff/carl/から入手できます。 うまくみつからない時はarchieコマンドで検索するか適当なサーチエンジン を使ってmserverの在処を探して下さい。著者はまだmserverをインストールして 使っていないのでこれ以上はコメントできません(訳注:mserverはネットワーク に繋がっている他のホストからモデムを使うためのネットワークモデムサーバ プログラムです。モデムデバイスはリモートホストがサーバに接続された時だけ オープンされます。詳しくはmserverパッケージのREADMEに書かれています)。


次のページ 前のページ 目次へ