注意: この文書はかなり以前に書かれたものなので、 いまどきの Linux 環境にはあてはまらない箇所があります。 (JF Project)
The Internet Adaptor (TIA) は、marketplace.com の人達によって作成された、シ ェルアカウントから SLIP 接続をシミュレートするソフトウエァです。価格は、シ ングルユーザ用ライセンスが 25 ドル、その他にサイトライセンスも入手可能です。 TIA は標準的な TCP/IP と SLIP が使える OS があれば、どのようなマシンでも クライアントとして使用できます。
TIA がどのように動作するか、そしてどのような制限があるのか、という事を理解 しておくのはとても重要なことです。まず第一に、あなたの Linux システムに TIA をインストールする必要はないという事に注意して下さい。TIA は、あなたのリモ ートホスト上でのみ動かせば良いのです。あなたの Linux システム上に必要なのは、 TCP/IP と SLIP がサポートされたカーネル(カーネルについては後で触れます)と、 いくつかのクライアントです。
動作の仕組み:
あなたの Linux システムからのコマンドやデータをホストへ送るには、SLIP を使
用します。送られたデータは TIA が受け取り、ネットワークへ中継します。そし
て、ネットワーク側から返されてくるデータは一旦リモートホスト上のあなたの
シェルアカウントへ送られ、それを TIA が横取りしてあなたの Linux システムへ
SLIP を使って転送します。したがって、ネットワーク側からはあなたはリモートホ
スト上で行動しているように見えますが、あなたの Linux システムは実際にネッ
トワークに繋がっているかのように見えるのです。
上記のように多少複雑な手順を踏んでいるため、ネットワーク側から送られてくる データは時に混乱を招きます。例えば、talk は TIA を通しては使えません。なぜなら ネットワーク側からやってくる talk のリクエストはリモートホスト上の talk daemon を動かそうとするからです。
また、本当の SLIP 接続と TIA を使った接続の大きな違いは、独自の IP アドレスが 無いということです。つまり、何度も言うように TIA はダイアルアップのシェル アカウントを普通の SLIP 接続かの様に見せているだけなのです。
では結局 term とどう違うのか? 筆者の意見では term を使うのは、ちょうど昔の 自動車みたいにクランクを回してエンジンを始動するようなもので、不要な努力だけ が多い様に思われます。もちろん、何らかの理由であなたの Linux システムへの root でのアクセス権が無く、しかも誰かに SLIP や dip をインストールしてもらう ことも出来ない状況なら、仕方がありません。もし term についてもっと詳しく 知りたいなら、Sunsiten にある HOWTO ドキュメント ( 日本語訳) を読んで下さい。
SLiRP は新しく、しかも GPL 準拠なのでフリーなソフトウエァです。一方、TIA は フリーではないのですが、そのかわり非常に安価で安定していてサポートや ドキュメント類も充実しています。もしどうしても SLiRP のほうが良いと感じるなら 使ってみて下さい。 これから説明してゆく TIA 用の諸設定に多少の変更を加えるだけで SLiRP も使える はずです。ただし SLiRP に関して筆者は良く知らないので、メールで質問するのは 止めて下さい。もちろん筆者はフリーソフトに対しては好意的ですが、これは TIA に 関する文書なのでこれ以上言及しません。筆者のホストはサイトライセンスを持って いるので、TIA にお金を払ったわけではありませんが、TIA には金額相当かそれ以上 の価値があると確信しています。
前置きはこのくらいにして、セットアップに移りましょう。
おおまかにいえば、以下のような作業が必要です。これらについては後で詳しく説明 します。
/etc
ディレクトリ以下のいくつかのファイルを編集する。上記のことがらの他に、あなたのリモートホストの OS に合った TIA のバイナリを インストール(もちろんリモートホスト上に)する必要があります。これに関しては、 TIA のホームページに詳しく書いてあります。
注意:
TIA 2.0.5 が完成しました。新しいバージョンでは CSLIP と PPP が新にサポート
されました。CSLIP を使うにはほんの少し設定に変更が必要なのですが、この
ことについてはあとで触れます。また、PPP については、新しい PPP HOWTO
(
日本語訳) が完成しつつあるので、そちらを参照して下さい。
では、はじめましょう!
もしいままでカーネルを再構築したことがないのならば、再構築しなくてはいけません 。「再構築」などと言っても、べつにそれほど難しいわけではありません。まずFAQ集 などをよく読んで、もしそれでも不明な点があればメールを下さい。
では、かいつまんで説明しましょう。まず「make config
」コマンドで
セットアップを開始します。最初に「Network Devices
」のセクションで、
「y」と(もちろん!)答えて下さい。すると、いろいろと詳しい設定を聞かれますので、
SLIP と TCP/IP のサポートのみ「y」と答え、それ以外の質問には特に必要のない限り
「n」と答えて下さい。ethercard や、SLIP と TCP/IP 以外のプロトコルのサポート
が必要な場合は適宜「y」と答えて下さい。( TIA 2.0.5 以上のバージョンを使う人
は CSLIP に関しても「y」と答えて下さい) SILP と TCP/IP のサポートがない
カーネルでは TIA に接続出来ません!あとは新しいカーネルをコンパイルして、
正しくインストールして下さい。
/etc
以下のファイルを編集する
/etc
以下のファイルで、あなたの Linux システムからリモートホストまで
のルートを設定します。/etc
ディレクトリはシステムの諸設定をするため
のものです。以下に挙げる例を参考にして、あなたのシステムに合うように
ダブルクオート("")内を書き換えて下さい。(書き換える際にダブルクオートは書く
必要がありません。ダブルクオートは単に書き換える場所を示しているだけです)
TIA を使うためには /etc
以下の3つのファイルを編集する必要があります。
それら3つのファイルとは、
/etc/hosts
:
127.0.0.1 localhost
192.0.2.1 "your.hostname.domain"
"XXX.XXX.XX.XX" "remote.hostname.domain remote" #<- ホストの略称も付記
/etc/host.conf
:
order hosts, bind
multi on
/etc/resolv.conf
:
domain "yourdomainhere"
nameserver "XXX.XXX.XX.XX" #<- 普通は/etc/hostsのリモートホストと同一
また、NNTP サーバを使う時は、以下を /etc/profile
に付け加えて下さい。
export NNTPSERVER="remote.hosts.nntpservername"
Dip とは、リモートホストへ電話をかけて TIA を起動し、回線を SLIP 接続にする ためのソフトウェアです。Dip は Slackware パッケージの「N」ディスクセットの中に 含まれています。「N」ディスクセットにはたくさんのクライアントやユーティリティ が含まれていて、そのなかのいくつかはあなたもインストールすることになる でしょう。=) 「N」ディスクセット以外でも、Sunsite で別個に tar された Dip が 入手できます。
Dip をインストールしたら、正しく接続するために Dip 用のスクリプトを書かなけれ ばいけません。以下に挙げる例を参考にして、ダブルクオート("")で囲まれた部分を あなたのシステムに合うように書き換えて下さい。(前章同様、ダブルクオートを つける必要はありません)
----------CUT HERE--------------------------------
main:
get $local "your.hostname.domain"
get $remote "remote.hostname.domain"
port cua"?" #<-- モデムが繋がっているポート
speed 38400 #<-- 新しいカーネルなら57400まで早くする
reset # 事が可能です。
init AT "string of commands" #<-- 「AT」の直後にスペースを入れないこと
wait OK 5
# このスクリプトではリダイアルをします。もしうまく動かなかったら、wait time
# を書き換えてみて下さい。もしそれでもうまく動かないようでしたら、筆者に
# メールで質問して下さい。
# また、このスクリプトの最後に注意が書いてあるので、そちらも確認してくださ
# い。
dial:
dial "phonenumber"
print Dialing...
if $errlvl != 0 goto error
wait BUSY 20 #<-- ここのwait timeをあなたのモデムに合う
if $errlvl == 0 goto dial # ように書き換えて下さい。
login:
print Connected and Logging in...
wait ==> 60 #<-- この部分のwaitとsendは筆者のホストへ接
send 4\n #<-- 続するための設定なので書き換えて下さい
wait ogin: 60
if $errlvl != 0 goto login_error1
send "LOGIN"\n
wait assword: 60
if $errlvl != 0 goto login_error2
send "PASSWORD"\n
loggedin:
wait "SYSTEM PROMPT" 60
if $errlvl != 0 goto shell_error
send tia\n
wait software. 60
if $errlvl != 0 goto tia_error
print Starting TIA...
get $mtu 296 #<--TIAは1500を推奨しているようですが、この設定のほ
default #うがインタラクティヴなセッションは早くなります。
#ただしFTPは遅くなるので、好みで書き換えてください.
done:
print CONNECTED to $remote with address $rmtip
mode SLIP
# TIA 2.0.5 を使う人は上記の設定を
# 「mode CSLIP」と書き換えて下さい。
goto exit
error:
print Dialing Error
login_error1:
print No Login
login_error2:
print No Password prompt
shell_error:
print No shell prompt
tia_error:
There was a problem starting TIA
exit:
\r #<-- -vオプションをつけて起動するとここの部分でエラー
# が出て止まってしまいます。でも普通に起動した場合は
# エラーが出ません。
-------------CUT HERE-----------------------------
新しいバージョンの Dip は、モデムのステータスコードを文字列(BUSY とか NO CONNECT など)で返さず、数字で返します。下記の一覧を参照して下さい。
0 = OK
1 = CONNECT
2 = ERROR
3 = BUSY
4 = NO CARRIER
したがって、新しいバージョンのものを使う場合はサンプル中の「dial
」
セクションを下記のように書き換えて下さい。
dial:
dial "phonenumber"
print Dialing...
if $errlvl != 0 goto error
wait 1 20
if $errlvl != 1 goto dial
この部分はに関しては Lee Olds 氏 (lee@eskimo.com) が指摘してくれました。
サンプル中の\n
と \r
はそれぞれ、\n = newline
,
\r = carriage return
の意味です。
これらのどちらか(または両方)が正しい場所に記述されていなければいけません。もし
サンプル中の \n
か \r
に問題があるようでしたら、適宜変更
して下さい。
Dip 用のスクリプトを編集したら、そのファイルを(例えば) remote.dip
というような名前で /root
ディレクトリに置いて下さい。そして、root
権限で「dip remote
」とコマンドを打てば、そのスクリプトが実行されます。
また、最初にスクリプトを実行させる時は、-v
オプションをつけて(例えば
「dip -v remote
」というように)起動するとデバッグが可能です。
(スクリプト中のすべてのステップを表示します)
Dip は root 権限でのみ実行できます。しかし一般ユーザ権限で実行する方法も いくつか存在します。もしその方法が知りたければ、直接質問してください。 問い合わせが多ければ、その方法を今後この HOWTO ドキュメントに付け加える かもしれません。
もし Dip がすぐにエラーで止まってしまう様ならば、#
で始まるコメント
を削除してみて下さい。
もしすべてがうまく行ったなら、もうあなたの Linux システムはネットワークに繋がっ
ているはずです。「telnet remote
」などのコマンドで確認してみましょう。
(前に /etc/hosts
を編集した際にリモートホストの略称を付記したのを
覚えてますか?)
正しく接続されていれば、リモートホストのログインプロンプトがでるはずです。
さあ、試してみましょう!これであなたの Linux システムから telnet や ftp を
使ってネットワークに接続されているどこのマシンへもアクセス出来るはずです。
どんな仕掛けになってるんでしょう?あなたの Linux システムはリモートホストをネ
ームサーバとして使い、ネットワークのアドレスを解釈しています。(/etc/resolv.conf
で設定しましたよね) なにが出来て、なにが出来ないかは
自分でいろいろと実験してみて下さい。
あなたの Linux システム上では、リモートホストが持っていない機能は残念ながら使え ません。例えば、リモートホスト上で telnet が使えないなら、あなたのシステムでも 使えない可能性が高いです。なぜでしょう?それは TIA が単にリダイレクションをして いるだけだからです。
ニュースリーダについては、SLRN というとてもシンプルで簡単に使えるものがあります 。SLRN は NNTP を使うニュースリーダなので、あなたの Linux システム上にニュース の配送を受けなくても使えます。(つまり Cnews や INN をインストールする必要が ないということです) SLRN を使うには、NNTP サーバへのアクセスが出来なければ いけませんが、大抵のプロバイダーは NNTP サーバを用意しているので心配する必要 はありません。もし MS Windows用の「WinVN」などのニュースリーダを使える状況 ならば、SLRN も使えるでしょう。SLRN はテキストベースのニュースリーダですが、 カラーで使えてマウスのサポートもあり、rxvt などのウインドゥ上でも快適に 使えます。まだ β 版なのですが、筆者のマシンでは現在なんの問題もなく動いて います。
メールリーダに関しては、ローカルマシンがどのようなメール配送状態にあっても(つ まり、メーラーが動作しているかどうかに関係なく)きちんと動作をする SMTP/POP3 の良いソフトウェアを探しています。Xベースでなければいけない訳ではない のですが、X対応だとなお良いです。もしあなたが良いものを知っていれば、 是非メールで教えて下さい。筆者は popclient などには明るいのですが、ちょと 扱いにくい気がします。だから、最低でも検索程度のことが出来るメールリーダを 探そうと思っています。
Mosaic/Netscape をつかうにはもちろんXが必要です。でも、Xは ftp からバイナリを 拾ってきて、圧縮を解凍してインストールすれば良いだけなので、心配する必要はあり ません。
筆者がすべて説明し終わって、まだなお質問がある場合はメールを下さい。(筆者は メールを毎日読んでいます) この文書は定期的にアップデートされる予定なので、とき どきチェックしてください。(バージョンナンバーを見ればアップデートされたかどう かわかると思います) あなたがいろいろ情報を寄せてくれれば、この文書ももっと充実 したものになるでしょう。だから、ためらわずにどんどん情報を寄せて下さい。
セットアップに関してもしなにかトラブルやわからない事があったら、筆者宛にメール で質問して下さい。ただし、以下のことがらをメールに明記して下さい。
/etc
以下のファイルのコピー
(hosts, host.conf, resolv.conf
)dip -v
で得られる、スクリプトの実行結果のコピー(あなたの
password は消してから送って下さい。)この文書が本当に役に立っているかどうか知りたいので、たとえなにも協力できる事が なくても、この文書通りにやって成功したら是非筆者にメールを下さい
Sunsite とは、sunsite.unc.edu にある ftp サーバの事です。Linux 関係のもの ならなんでも (FAQ や HOWTO, README ファイルなどを含む)本当に沢山あります。
marketplace.com は TIA の販売元で、TIA はここでしか入手出来ません。
SLRN に関してのホームサイトは、space.mit.edu の /pub/davis です。
筆者は Irish <irish@eskimo.com> です。ネコとじゃれているか子供を あやしている時以外は Linux に関するコメントを受け付けています。
原著(英語)は以下の場所で入手できます。
http://www.eskimo.com/~irish ftp://ftp.eskimo.com/u/i/irish ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/TIA
訳者注:
SLRN の日本語パッチは、
http://www.eis.or.jp/muse/kikutani/slrn.html
にあるので、興味のある方は試してみてください。ただし、このURLは
変更されている可能性があるので、存在しなかったら
hgf03701@niftyserve.or.jp 氏まで問い合わせて下さい。
翻訳に関しての御意見、御質問等は sshito@daniel.drew.edu まで お問い合わせ下さい。