PPxP (1998/8/2 更新)

PPxPは、簡単に言うとPPPの実装系のひとつです。(というかこれ以上説明できません(笑))
NetBSDに標準実装されているPPPと比較すると、設定が簡単だと思いました。
また、NetBSDに標準実装のPPPはroot権限でしか実行できませんので、一般ユーザから使用するためには、ちょっとした工夫が必要で、これがセキュリティーホールになる可能性もありますが、PPxPはユーザプロセスとして実行しますので、こうした心配はないでしょう。

PPxPに関する詳細や入手は、「PPxP Home Page」をご覧下さい。

最初に使用したのは、ppxp-0.98052123.tar.gzで、一応使用できましたが、「core dumpの件」の問題がありました。
ppxp-0.98071017.tar.gzでは問題ありません。

含まれるドキュメントは、日本語なので助かります。

PPxPの構成

PPxPは大きく分けて次の2つで構成されています。
  1. ppxpd
    実際に通信を行うdaemon。
    次のコンソールを使用する事で、自動的に起動します。
  2. コンソール
    ppxpdを操作するもの(ppxpdのインターフェイス)で、次のものがあります。

    これらの内どれかお気に入りを使います。


makeに必要な物

多くは、NetBSD.orgやそのミラーFTPサイトから入手できます。([DOWNLOAD])

makeとinstall

  1. $ tar zxpvf ppxp-0.98052123.tar.gz
  2. $ cd ppxp
  3. $ ./configure
  4. $ gmake (注6)
  5. $ su
  6. # gmake install
installすると/usr/local/{sbin,bin,etc/ppxp}に必要な物がコピーされます。
したがって、/usr/local/{sbin,bin}にpathが通っている必要がありますね。

実行に必要な物

設定

PPxPは、基本的にコマンドを与えて動作させますが、そのコマンド内容を記述したスクリプトファイルを作成し、そのファイルを指定して動作させる事になります。
そのスクリプトファイルは、$HOME/.ppxp/conf(rootは/usr/local/etc/ppxp/conf)ディレクトリに置いておきます。
また、ユーザ認証のためのユーザ名とパスワードを記述したファイルも必要です。
これらのファイルは、ppxpを起動してqdialコマンドを実行して設定を行うと自動的に作成されるので楽でしょう。
  1. $ ppxp
  2. ppxp>qdial
    次の設定画面になります。
    +-------------------|Q U I C K    D I A L U P|-------------------+
    |                                                                |
    |                                                                |
    |         Device Name: [/dev/modem]                              |
    |                                                                |
    |         Dial Type: {Default/ISDN}                              |
    |                                                                |
    |         Phone Number(s): []                                    |
    |                                                                |
    |         Login Name: []                                         |
    |                               Login Password: []               |
    |                               Password(again): []              |
    |                                                                |
    |        <More...>                                               |
    |                                                                |
    |        <Save...>                                               |
    |                                                                |
    |                                                                |
    |                                                                |
    |                                                                |
    |                                       <Dial> <Apply> <Cancel>  |
    +----------------------------------------------------------------+
    項目の移動: tab, control+p, control+n
    [...] : 文字入力(文字の削除: control+h)
    {...} : 設定選択(設定の選択: control+f, control+b)
    <...> : 内容実行: return
  3. Device Name(デバイス名)
    /dev/tty00または/dev/tty01など
  4. Dial Type、Phone Numberなどを設定します。
  5. 詳細設定を行います。(<More...>でreturnキーを押す)
    次の詳細設定画面になります。
    +-------------------|Q U I C K    D I A L U P|-------------------+
    |+--------------------------|More...|---------------------------+|
    ||                                                              ||
    ||                                                              ||
    ||        Authentication Protocol: {PAP CHAP/MD5 CHAP/MS}       ||
    ||                                                              ||
    ||        PPP Mode: {active}                                    ||
    ||                                                              ||
    ||        Modem Type: {generic}                                 ||
    ||                                                              ||
    ||        Idle time []                                          ||
    ||                                                              ||
    ||        IP Masquerade: []                                     ||
    ||                                                              ||
    ||        VJ compression ( )                                    ||
    ||                                                              ||
    ||        Create resolv.conf: ( )                               ||
    ||                                                              ||
    ||        DNS Servers: []                                       ||
    ||                                                              ||
    ||                                                      <Back>  ||
    |+--------------------------------------------------------------+|
    +----------------------------------------------------------------+
    
  6. Modem Typeで使用するモデムを選びます。
    ここに使用するモデム名が現れない場合、genericを選びます。 これでうまくいかない場合は、モデム設定ファイルを作成します。
  7. 必要な設定を行って、元の画面に戻ります。(<Back>でreturnキーを押す)
  8. 保存します。(<Save...>でreturnキーを押す)
    スクリプトファイルとして保存されます。 このファイル名をppxpの起動オプションやppxpでのsourceコマンドの引数として指定します。
    保存ディレクトリは、rootの場合 /usr/local/etc/ppxp、一般ユーザの場合 ~/.ppxp となります。
    ここで作成されるファイルは、次の通りです。
  9. ここで作成したスクリプトファイルの変更は、保存したファイルを直接viなどのテキストエディタで修正します。
    qdialコマンドは、新規作成だけで、修正はできないようです。
  10. パスワードの変更は、ppxpのpasswdコマンド(ppxp>プロンプトでpasswdコマンド)を使用します。(保存したファイルを直接viなどのテキストエディタで修正してもかまいませんが...)

実行の際の注意点

実行例

  1. $ ppxp
  2. ppxp>source スクリプトファイル名
  3. ppxp>conn
    これでモデムがダイアルし、接続します。
    接続が完了するとプロンプトが全て大文字の「PPXP>」になります。

    接続を切るには、次のようにします。
  4. PPXP>disc
  5. ppxp>quit


DOWNLOAD

PPxP: [DOWNLOAD]

GNU make 3.76.1: [DOWNLOAD package]
GNU readline 2.2: [DOWNLOAD package]
ncurses-1.9.9g: [DOWNLOAD package]
xpm 3.4j: [DOWNLOAD package]
Tcl-8.0p2: [DOWNLOAD package]
Tk-8.0p2: [DOWNLOAD package]
xforms-0.88: [DOWNLOAD package]


注1:
カーネルがトンネルデバイス対応になっているかどうかは、ifconfigコマンドで調べることができます。
ifconfig -aで表示される内容にtunデバイスが含まれていると、トンネルデバイス対応になっています。

$ ifconfig -a
sn0: flags=8822<BROADCAST,NOTRAILERS,SIMPLES,MULTICAST> mtu 1500
        address: 08:00:07:7c:07:00
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 32976
        inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
tun0: flags=10<POINTOPOINT> mtu 1500
tun1: flags=10<POINTOPOINT> mtu 1500
eon0: flags=3<UP,BROADCAST> mtu 1500

注2:
カーネルの再構築は、カーネルのコンフィギュレーションファイルに次の内容を追加します。

pseudo-device tun     2     # network tunneling over tty
1.3.2カーネルソースでこの再構築を行ったところ、make depend; makeにかかった時間はCentris660AVで2時間40分でした。

注3:
設定したスクリプトファイルの中を見るとわかります。
1行目のsourceコマンドで設定のベースにするスクリプトファイルを読み込んでいます。

注4:
/dev/MAKEDEVで作成するとownerはuucpになります。
しかし、ほとんどのデバイスはNetBSDのインストール時に「NetBSD/Mac68k Installer」で「Build Device」を行って作成する事になっていますね。 もしかしたら「NetBSD/Mac68k IInstaller」でのこの処理が/dev/MAKEDEVと全く同等の処理になっていないのかもしれません。

注5:
currentカーネルは、98/6/1現在GENERIC*-71です。
DOWNLOADは、こちらです。 このリンクが見つからなかった場合、こちらから探して下さい。

注6:
configureは、xformsライブラリを認識しませんでした。
configure実行後に作成されているMakefileを次のように修正して対応しました。
console/forms/Makefile:

・-I/usr/X11R6/include/X11を追加 ・-lxformsを追加
console/Makefile:
・SUBDIRSにformsを追加

coredumpの件:
ppxpの起動時に引数にスクリプトファイルを指定するとcore dumpしました。

$ ppxp スクリプトファイル名
Segmentation fault (core dump)
$
しかし、ppxpdへの引数としてスクリプトファイルを指定すると動作します。
$ ppxp -c source スクリプトファイル名
ppxp>
または、ppxp起動後、sourceコマンドでスクリプトファイルを読むと動作します。(実行例を参照)


[ NetBSD/mac68k Topics (Japanese) もくじ ]

HQP00700@nifty.ne.jp