- 目的...
『Solaris for Intel Edition 買ったよ〜!!
でも、オカネが無くなっちゃったゾ!?
ルータ買えないよ〜〜(涙)
それでも、インターネットにアクセスしてみた〜い!!!!』
そんなあなたに、これ以上『オカネ』をかけないで、
簡易ダイアルアップルータを創る方法をこっそり教えちゃいましょう!
でも、ここに書いてある方法が最良の方法じゃ無い!
って事だけは、覚えといてネ!!
IP Masquerade とか NAT とか使うのがスジだけど、よ〜わからんので。。。
何が起こっても、僕は一切関知しないので。。。
- 前提条件
ハードウェア
- Intel 版 Solaris2.5.1 が動作する PC。
(HCL参照)
- モデム (14,400bps 〜 28,800bps 以上の AT コマンドが使えるもの)。
ソフトウェア
- Intel 版 Solaris2.5.1 (OS だから……)。
(Sun Microsystems参照)
- PPP-2.3.1 (最新版の使用をオススメ)。フリーウェア
- Delegate 。フリーウェア。電総研の佐藤さん作。
- OS インストール
Solaris2.5.1 for Intel Edition を開発者以上で
インストールする。
- シリアルポートの設定
Solaris にはシリアルポートを設定する為の、
様々な管理ツールが OS インストールとともに提供されている。
中でも、GUI で設定できる admintool を利用するのが便利。
以下の様に操作する。
- まず、/etc/ttydefs ファイルに以下の一行を追加。
38400 を 57600 に変えても多分大丈夫。。。
38400PPP:38400 -markp crtscts hupcl:38400 -markp crtscts hupcl:A:38400PPP
- root もしくは、sysadmin (GID=14) に属しているユーザで、
/usr/bin/admintool を起動。
- ブラウズ(B) → シリアルポート(E) を選択
- モデムの継っているポートをダブルクリックする。
- 新しく開いたウィンドウで、
『テンプレート:』より“モデム - 発着信両用”を選び、
『設定レベル:』の“上級”をクリックして選択する。
- 『ボーレート:』の“その他”を選び、
開いたダイアログボックスで先程登録した /etc/ttydefs
のエントリの第一カラム目を入力し、『了解』ボタンをクリック。
ここでは、“38400PPP”を入力する。
- 更に開いたウィンドウの下方、
『上級用オプション:』の“キャリア検出時に接続”
をクリックして選択しておく。
- 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 クライアントにもなれるハズ!!
- PPP-2.3.1 の設定
もっと新しいバージョンがある場合は、そちらを使うこと。
古いバージョンにはセキュリティホールがあるかもしれない。。。
コンパイルが終わったら、インストールされた pppd が存在するか確認しておく。
設定ファイルは、/etc/ppp にある事を想定している。
/etc/ppp/options ファイルは中身が空でも絶対に必要なので、
touch コマンド等で作っておく。
- # touch /etc/ppp/options
クライアントとしての設定
- pppd はクライアントとしても動作する。
クライアントとして使いたい場合には、
PPP-2.3.1 の distributions ディレクトリ内にある、
スクリプトを修正し、利用する事で簡単に接続が可能である。
- PPP-2.3.1/scripts/ppp-on, PPP-2.3.1/scripts/ppp-on-dialer
この2つのスクリプトを利用する。
- ppp-on: TELEPHONE, ACCOUNT, PASSWORD, NETMASK, DIALER_SCRIPT,
pppd の場所を自分の環境に合わせて修正する。
- ppp-on-dialer: chat の場所 (PPP-2.3.1 の作成と共に出来る),
ogin:--ogin:, assword: 等を自分のプロバイダが返す値に合わせる。
- ppp-on には、パスワードを平文で格納する為、
パーミッションには充分留意する必要がある。
- ppp-on, ppp-on-dialer を適切な場所
(他人がアクセスできないディレクトリ) に移動させておく。(/etc/ppp等)
- 接続する為には、ppp-on を実行するだけで良い。
- # /etc/ppp/ppp-on
- しばらくしてから、ifconfig -a コマンドで ppp0 に
IP アドレスが割り当てられている事を確認する。
- 接続を切る場合には、pppd のプロセスを kill する。
- # kill -INT `cat /etc/ppp/ppp0.pid`
- この状態で、delegate 等を動作させたり、
sendmail を動作させておくと、簡易ルータとして利用できる。
便利!!
どちらかと言うと、プロキシサーバかな???
細かい話は抜きにして……(笑)
サーバとしての設定
参考ページ:
鬼生田さんのページ
- /etc/passwd ファイルに PPP ユーザ用のアカウントを作成する。
(これが一番安全かつ便利)
ppp-ac:x:20000:60001:ppp test:/var/tmp/ppp:/usr/local/sbin/ppplogin
- 以下の 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
- また、pppd を確実に終了させる為に、ip-down シェルスクリプトを用意し、
/etc/ppp に置く。
#!/bin/sh
kill -9 `/bin/cat -9 /etc/ppp/ppp0.pid`
- ppp-ac ユーザで Macintosh の PPP クライアントからログインする。
但し、Open Transport-PPP のチャットスクリプトが必要である。
- Delegate の設定
Delegate はプロキシサーバの一つで、自宅 LAN ─→ Internet
の仲介をしてくれる機能を持つ。
ただ、Internet ─→ 自宅 LAN へのアクセスは設定した事が無いので、
出来るかどうか不明である。
ここでは、自宅 LAN ─→ Internet への Web アクセスについて説明する。
他に、telnet, FTP 等のプロキシ機能も持つが、
僕は Web だけ出来れば良いと思ったので……
また、本来ならば、FireWall を構築するツールを使う方が、
より安全ではあると思うが……
参考ページ:電総研、佐藤さんのページ
- Delegate をコンパイルし、インストールする。
別に難しい事を設定する事も無かった。
- スーパーユーザで、HTTP のみプロキシする様に delegate を起動する。