Solaris2.5.1 for Intel Edition
簡易ダイアルアップルータ構築指南

自宅 Macintosh のために……

  1. 目的...

    『Solaris for Intel Edition 買ったよ〜!! でも、オカネが無くなっちゃったゾ!? ルータ買えないよ〜〜(涙) それでも、インターネットにアクセスしてみた〜い!!!!』
    そんなあなたに、これ以上『オカネ』をかけないで、 簡易ダイアルアップルータを創る方法をこっそり教えちゃいましょう!
    でも、ここに書いてある方法が最良の方法じゃ無い! って事だけは、覚えといてネ!!
    IP Masquerade とか NAT とか使うのがスジだけど、よ〜わからんので。。。
    何が起こっても、僕は一切関知しないので。。。

  2. 前提条件

  3. OS インストール

    Solaris2.5.1 for Intel Edition を開発者以上で インストールする。

  4. シリアルポートの設定

    Solaris にはシリアルポートを設定する為の、 様々な管理ツールが OS インストールとともに提供されている。 中でも、GUI で設定できる admintool を利用するのが便利。 以下の様に操作する。

    1. まず、/etc/ttydefs ファイルに以下の一行を追加。 38400 を 57600 に変えても多分大丈夫。。。
      38400PPP:38400 -markp crtscts hupcl:38400 -markp crtscts hupcl:A:38400PPP
    2. root もしくは、sysadmin (GID=14) に属しているユーザで、 /usr/bin/admintool を起動。
    3. ブラウズ(B) → シリアルポート(E) を選択
    4. モデムの継っているポートをダブルクリックする。
    5. 新しく開いたウィンドウで、
      『テンプレート:』より“モデム - 発着信両用”を選び、
      『設定レベル:』の“上級”をクリックして選択する。
    6. 『ボーレート:』の“その他”を選び、 開いたダイアログボックスで先程登録した /etc/ttydefs のエントリの第一カラム目を入力し、『了解』ボタンをクリック。
      ここでは、“38400PPP”を入力する。
    7. 更に開いたウィンドウの下方、
      『上級用オプション:』の“キャリア検出時に接続” をクリックして選択しておく。
    8. admintool を終了する。
    参考:英語版の admintool の設定例

    上記の設定をコマンドラインから確認しておく。 シリアルポート関連のコマンドライン命令の一つである、 pmadm コマンドを使う。

    % /usr/sbin/pmadm -l
    PMTAG          PMTYPE         SVCTAG         FLGS ID       
    zsmon          ttymon         ttyb           ux   root     /dev/term/b I - /usr/bin/login - 9600 ldterm,ttcompat login:  - tvi925 y  #
    zsmon          ttymon         ttya           u    root     /dev/term/a bc - /usr/bin/login - 38400PPP ldterm,ttcompat login:  - - n  #
    とりあえず、上記のように設定すれば着信は一通り出来るハズ。

    kterm 等のターミナルエミュレータから、 発信を適切なスピードで簡単に行う為、 /etc/remote ファイルに以下の一行を付け加えておく。

    cuaa:dv=/dev/cua/a:br#38400:nt:hf:
    tip コマンドでテストしてみる。
    % tip cuaa
    connected
    ATS0=1 (← 自動着信の設定。モデムのマニュアルを参照のこと)
    OK
    ~.
    [EOT]
    実際に接続できるかどうか、電話を使って確かめておく。 Macintosh の Jterm2 や Windows95 のターミナルエミュレータ (パソ通クライアント)から Solaris へ電話をかけてみる。
    ATDT03-3xxx-xxxx
    CONNECT 14400
    login: hoge
    Password: your pass word
    ......
    これだけ出来れば、ppp サーバにも、ppp クライアントにもなれるハズ!!

  5. PPP-2.3.1 の設定

    もっと新しいバージョンがある場合は、そちらを使うこと。 古いバージョンにはセキュリティホールがあるかもしれない。。。
    コンパイルが終わったら、インストールされた pppd が存在するか確認しておく。 設定ファイルは、/etc/ppp にある事を想定している。 /etc/ppp/options ファイルは中身が空でも絶対に必要なので、 touch コマンド等で作っておく。

    # touch /etc/ppp/options

    クライアントとしての設定
    pppd はクライアントとしても動作する。 クライアントとして使いたい場合には、 PPP-2.3.1 の distributions ディレクトリ内にある、 スクリプトを修正し、利用する事で簡単に接続が可能である。
    1. PPP-2.3.1/scripts/ppp-on, PPP-2.3.1/scripts/ppp-on-dialer
      この2つのスクリプトを利用する。
    2. ppp-on: TELEPHONE, ACCOUNT, PASSWORD, NETMASK, DIALER_SCRIPT, pppd の場所を自分の環境に合わせて修正する。
    3. ppp-on-dialer: chat の場所 (PPP-2.3.1 の作成と共に出来る), ogin:--ogin:, assword: 等を自分のプロバイダが返す値に合わせる。
    4. ppp-on には、パスワードを平文で格納する為、 パーミッションには充分留意する必要がある。
    5. ppp-on, ppp-on-dialer を適切な場所 (他人がアクセスできないディレクトリ) に移動させておく。(/etc/ppp等)
    6. 接続する為には、ppp-on を実行するだけで良い。
      # /etc/ppp/ppp-on
    7. しばらくしてから、ifconfig -a コマンドで ppp0 に IP アドレスが割り当てられている事を確認する。
    8. 接続を切る場合には、pppd のプロセスを kill する。
      # kill -INT `cat /etc/ppp/ppp0.pid`
    この状態で、delegate 等を動作させたり、 sendmail を動作させておくと、簡易ルータとして利用できる。 便利!! どちらかと言うと、プロキシサーバかな???
    細かい話は抜きにして……(笑)

    サーバとしての設定
    参考ページ: 鬼生田さんのページ
    1. /etc/passwd ファイルに PPP ユーザ用のアカウントを作成する。 (これが一番安全かつ便利)
      ppp-ac:x:20000:60001:ppp test:/var/tmp/ppp:/usr/local/sbin/ppplogin
    2. 以下の ppplogin シェルスクリプトを作成し、/usr/local/sbin に置く。
      #!/bin/sh
      /usr/bin/mesg n
      exec /usr/local/sbin/pppd proxyarp passive modem crtscts \
      netmask 255.255.255.0 192.168.1.1:192.168.1.10 disconnect /etc/ppp/ip-down
    3. また、pppd を確実に終了させる為に、ip-down シェルスクリプトを用意し、 /etc/ppp に置く。
      #!/bin/sh
      kill -9 `/bin/cat -9 /etc/ppp/ppp0.pid`
    4. ppp-ac ユーザで Macintosh の PPP クライアントからログインする。
      但し、Open Transport-PPP のチャットスクリプトが必要である。

  6. Delegate の設定

    Delegate はプロキシサーバの一つで、自宅 LAN ─→ Internet の仲介をしてくれる機能を持つ。 ただ、Internet ─→ 自宅 LAN へのアクセスは設定した事が無いので、 出来るかどうか不明である。
    ここでは、自宅 LAN ─→ Internet への Web アクセスについて説明する。 他に、telnet, FTP 等のプロキシ機能も持つが、 僕は Web だけ出来れば良いと思ったので…… また、本来ならば、FireWall を構築するツールを使う方が、 より安全ではあると思うが……

    参考ページ:電総研、佐藤さんのページ

    1. Delegate をコンパイルし、インストールする。 別に難しい事を設定する事も無かった。
    2. スーパーユーザで、HTTP のみプロキシする様に delegate を起動する。
Copyright (c) by Takashi TANI Neko!!
takashi@deathsdoor.com
1