Global Linux-TIA HOWTO

Irish <irish@eskimo.com>

v2.0T, 1995/12/16

Shintaro Shito <sshito@daniel.drew.edu>

v2.0Tj, 1996/04/01
この文書は Linux システムを他のホストへ TIA (The Internet Adaptor) を使って 接続するための方法について説明しています。この文書に関して筆者は責任を負 いませんが、間違いを見つけたら連絡して下さい。 TIA を使って他のホストに接続が成功した後何が出来るのかについては、この文 書では説明しません。しかし、それらについては他に数多くの文書が作成されて いるので、そちらを参考にしてください。

注意: この文書はかなり以前に書かれたものなので、 いまどきの Linux 環境にはあてはまらない箇所があります。 (JF Project)

1. TIA とは何か?

2. あなたの Linux システム側での準備

3. さてこれから...

4. その他


1. TIA とは何か?

The Internet Adaptor (TIA) は、marketplace.com の人達によって作成された、シ ェルアカウントから SLIP 接続をシミュレートするソフトウエァです。価格は、シ ングルユーザ用ライセンスが 25 ドル、その他にサイトライセンスも入手可能です。 TIA は標準的な TCP/IP と SLIP が使える OS があれば、どのようなマシンでも クライアントとして使用できます。

1.1 TIA はどのように動作するか?

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 接続かの様に見せているだけなのです。

1.2 term との違いは?

では結局 term とどう違うのか? 筆者の意見では term を使うのは、ちょうど昔の 自動車みたいにクランクを回してエンジンを始動するようなもので、不要な努力だけ が多い様に思われます。もちろん、何らかの理由であなたの Linux システムへの root でのアクセス権が無く、しかも誰かに SLIP や dip をインストールしてもらう ことも出来ない状況なら、仕方がありません。もし term についてもっと詳しく 知りたいなら、Sunsiten にある HOWTO ドキュメント ( 日本語訳) を読んで下さい。

1.3 SLiRP との違いは?

SLiRP は新しく、しかも GPL 準拠なのでフリーなソフトウエァです。一方、TIA は フリーではないのですが、そのかわり非常に安価で安定していてサポートや ドキュメント類も充実しています。もしどうしても SLiRP のほうが良いと感じるなら 使ってみて下さい。 これから説明してゆく TIA 用の諸設定に多少の変更を加えるだけで SLiRP も使える はずです。ただし SLiRP に関して筆者は良く知らないので、メールで質問するのは 止めて下さい。もちろん筆者はフリーソフトに対しては好意的ですが、これは TIA に 関する文書なのでこれ以上言及しません。筆者のホストはサイトライセンスを持って いるので、TIA にお金を払ったわけではありませんが、TIA には金額相当かそれ以上 の価値があると確信しています。

前置きはこのくらいにして、セットアップに移りましょう。

2. あなたの Linux システム側での準備

おおまかにいえば、以下のような作業が必要です。これらについては後で詳しく説明 します。

上記のことがらの他に、あなたのリモートホストの OS に合った TIA のバイナリを インストール(もちろんリモートホスト上に)する必要があります。これに関しては、 TIA のホームページに詳しく書いてあります。

注意:
TIA 2.0.5 が完成しました。新しいバージョンでは CSLIP と PPP が新にサポート されました。CSLIP を使うにはほんの少し設定に変更が必要なのですが、この ことについてはあとで触れます。また、PPP については、新しい PPP HOWTO ( 日本語訳) が完成しつつあるので、そちらを参照して下さい。

では、はじめましょう!

2.1 カーネルの再構築

もしいままでカーネルを再構築したことがないのならば、再構築しなくてはいけません 。「再構築」などと言っても、べつにそれほど難しいわけではありません。まず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 に接続出来ません!あとは新しいカーネルをコンパイルして、 正しくインストールして下さい。

2.2 /etc 以下のファイルを編集する

/etc 以下のファイルで、あなたの Linux システムからリモートホストまで のルートを設定します。/etc ディレクトリはシステムの諸設定をするため のものです。以下に挙げる例を参考にして、あなたのシステムに合うように ダブルクオート("")内を書き換えて下さい。(書き換える際にダブルクオートは書く 必要がありません。ダブルクオートは単に書き換える場所を示しているだけです) TIA を使うためには /etc 以下の3つのファイルを編集する必要があります。 それら3つのファイルとは、

また、NNTP サーバを使う時は、以下を /etc/profile に付け加えて下さい。

export NNTPSERVER="remote.hosts.nntpservername"

Dip について

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 に関する諸注意

新しいバージョンの 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 がすぐにエラーで止まってしまう様ならば、# で始まるコメント を削除してみて下さい。

3. さてこれから...

もしすべてがうまく行ったなら、もうあなたの Linux システムはネットワークに繋がっ ているはずです。「telnet remote」などのコマンドで確認してみましょう。 (前に /etc/hosts を編集した際にリモートホストの略称を付記したのを 覚えてますか?) 正しく接続されていれば、リモートホストのログインプロンプトがでるはずです。 さあ、試してみましょう!これであなたの Linux システムから telnet や ftp を 使ってネットワークに接続されているどこのマシンへもアクセス出来るはずです。 どんな仕掛けになってるんでしょう?あなたの Linux システムはリモートホストをネ ームサーバとして使い、ネットワークのアドレスを解釈しています。(/etc/resolv.conf で設定しましたよね) なにが出来て、なにが出来ないかは 自分でいろいろと実験してみて下さい。

あなたの Linux システム上では、リモートホストが持っていない機能は残念ながら使え ません。例えば、リモートホスト上で telnet が使えないなら、あなたのシステムでも 使えない可能性が高いです。なぜでしょう?それは TIA が単にリダイレクションをして いるだけだからです。

3.1 News とメールについて

ニュースリーダについては、SLRN というとてもシンプルで簡単に使えるものがあります 。SLRN は NNTP を使うニュースリーダなので、あなたの Linux システム上にニュース の配送を受けなくても使えます。(つまり Cnews や INN をインストールする必要が ないということです) SLRN を使うには、NNTP サーバへのアクセスが出来なければ いけませんが、大抵のプロバイダーは NNTP サーバを用意しているので心配する必要 はありません。もし MS Windows用の「WinVN」などのニュースリーダを使える状況 ならば、SLRN も使えるでしょう。SLRN はテキストベースのニュースリーダですが、 カラーで使えてマウスのサポートもあり、rxvt などのウインドゥ上でも快適に 使えます。まだ β 版なのですが、筆者のマシンでは現在なんの問題もなく動いて います。

メールリーダに関しては、ローカルマシンがどのようなメール配送状態にあっても(つ まり、メーラーが動作しているかどうかに関係なく)きちんと動作をする SMTP/POP3 の良いソフトウェアを探しています。Xベースでなければいけない訳ではない のですが、X対応だとなお良いです。もしあなたが良いものを知っていれば、 是非メールで教えて下さい。筆者は popclient などには明るいのですが、ちょと 扱いにくい気がします。だから、最低でも検索程度のことが出来るメールリーダを 探そうと思っています。

3.2 Mosaic/Netscape について

Mosaic/Netscape をつかうにはもちろんXが必要です。でも、Xは ftp からバイナリを 拾ってきて、圧縮を解凍してインストールすれば良いだけなので、心配する必要はあり ません。

4. その他

筆者がすべて説明し終わって、まだなお質問がある場合はメールを下さい。(筆者は メールを毎日読んでいます) この文書は定期的にアップデートされる予定なので、とき どきチェックしてください。(バージョンナンバーを見ればアップデートされたかどう かわかると思います) あなたがいろいろ情報を寄せてくれれば、この文書ももっと充実 したものになるでしょう。だから、ためらわずにどんどん情報を寄せて下さい。

セットアップに関してもしなにかトラブルやわからない事があったら、筆者宛にメール で質問して下さい。ただし、以下のことがらをメールに明記して下さい。

  1. 3つの/etc 以下のファイルのコピー (hosts, host.conf, resolv.conf)
  2. dip -v で得られる、スクリプトの実行結果のコピー(あなたの password は消してから送って下さい。)

この文書が本当に役に立っているかどうか知りたいので、たとえなにも協力できる事が なくても、この文書通りにやって成功したら是非筆者にメールを下さい

4.1 参考

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 まで お問い合わせ下さい。