% ERuby.charset = "Shift_JIS" %>
dialup rooter by Linux
Linuxでダイアルアップルータ
[ さきらのホームページ ]
さきら
Version 1.2a, 2000/04/09
Version 1.2, 1998/07/28
Version 1.1, 1998/01/04
Version 1.0, 1997/12/21
Linuxって何?
無償で入手できるPC-UNIXの一つです。
Linuxはx86、Alpha、PowerPCをはじめとした多種のCPUを使いたコンピュータ上で動きます。
詳しい情報は参考文献等をご覧下さい。
ダイアルアップルータって何?
簡単に言うと電話回線一つだけを経由して複数のパソコンで同時にインターネットする機器です。(言い回しがちとくどいっすね(^^;))
ここではパソコンにLinuxを載せて、IPマスカレードという機能とdialdというソフトウェアを利用して実現します。
IPマスカレード
PPP接続しているマシンのIPアドレスをLAN上の他のマシンにも割り振る機能。
外部からは一つのIPアドレスしか見えないので、一台のパソコンしか繁がっていないのと同じに扱えます。
逆に内側からはゲートウェイ(この場合はPPP接続しているマシンの事)を指定しておけば通常のネットサーフィンは今まで通りに可能です。
diald
インターネットが必要な時に自動的にISP(いわゆるプロバイダー)に電話するプログラム。
WindowsやMacintoshをお使いの方なら言われるまでもなく自然に使っている機能ですよね。
(ネットスケープやInternetExplorerを立ち上げると自動的に電話しますよね、まさにそれです。)
上記のIPマスカレードと組み合わせるとLAN上のパソコンでネットスケープを起動するとゲートウェイが勝手に電話して、使わなくなったら自動に回線を切断するなんて事ができます。
他のパソコン用OSでの実現
Windows95やMacOSでも同様の機能を持つ有料ソフトウェアがあります。
では何故わざわざPC-UNIXを使うのでしょうか。
- 安い:
一番大きな理由は「安さ」です。
OS自体や各種ソフトが無料である事もあるのですが、それよりむしろチープなハードウェアでも余裕で動作する事の方が大きいです。
実際我が家では、多くの人にとって既に現役では使われていないi486DX2/66MHzの捨ったパソコンにLinuxを載せて充分実用になっています。
あなたの近所にもきっと捨てられそうなパソコンがあるでしょうから、そんな可愛そうなパソコンに再び最前線に立たせてあげて下さい。
なおDOS/Vマシンでなくても例えばNEC PC-9801シリーズならFreeBSDというPC-UNIXが動いて同様の仕事をできる筈です。
- 安定性:
安定しています、Linux自体が落ちたのを見た事は今までに片手で数える程度です。
しかもその多くが私の人為的なミスによるもので、「何で止まったのかワケワカラン」という(WindowsやMacOSでは日常的に体験する)現象は一回かせいぜい二回です。
今のマシンも嫁動し始めてから数週間、24時間働きづめで問題は全く発生していません。
- リモートメンテナンス可能:
メンテナンスと言っても普段は何時間ダイアルしたかをチェックしたりする程度ですが、それでもたまには設定を変更したくなったりもします。
その様な場合でもtelnetだけで全ての作業が可能なのは便利です。
LANに繁っているどのマシンからでも管理できますし、何よりよほどの事が起きない限りそのLinuxマシンにモニタを繁ぐ必要さえありません。
WindowsやMacOSも遠隔操作できない訳ではないのですが、telnetほどお手軽ではありません。
- UNIXならではの付加価置:
mailサーバやnewsサーバにもできる筈です。
またファイルサーバとして他の環境でも使うかも知れないファイルをそこに置き、外部からのPPP接続を受け付けるよう設定しておけば、旅行先でもそれを参照できます。
その他の機器での実現
ISDNを使うのなら最近(1997年12月現在)はやりのMN128-SOHOみたいな「ダイアルアップルータ」がまさに同じ機能を持ってます。
管理が楽でしょうし機械もそれほど高価ではないので、ISDNをお使いなら良い選択かと存じます。
我が家でも将来、ISDNを導入するならその様な機械を使う可能性が高いです。
(と言うか1997年12月にMN128-SOHOを買ってしまいました。)
なおMacintoshを中心としたネットワークでMN128 SOHO/DSUを導入した話がのりさんのページで紹介されているので参照して下さい。
(また、Windows98SEやWindows2000でしたら標準でインターネット接続共有の機能を持っています[2000年4月加筆])
またrilyさんに教えてもらったのですが、アナログ回線でも使えるルータがあります。
NetGenesis4がそれです。
実売弐万円を切るそうなので現実的な選択ですね。
マシンの構成
我が家では以下のマシンを原則として三つの部屋と廊下に設置して三人で使っています。
なお、ノートパソコンは移動して使う場合もあるので四部屋で同時に使う事もあります。
PLANETの製品です。5000円ぐらいで購入しました。
10BaseTケーブル
30m×1, 20m×2, 10m×2 全てストレートです。
主役のLinux BOXです。
拾った状態から知り合いの協力で
CPUはi486DX2/66MHz、メモリ8MBでシリアルポート1つ、HDD600MB、3.5inchFDD、Etherカードという環境までにしてLinux 2.0.30をEthernet経由でインストールしました。
現在はモニタもマウスも繁っていません。
IP: 192.168.1.5 | ホスト名: heaven.s.door.or.jp |
デスクトップマックです。
3DCG(Shade Personal)をはじめとするグラフィック処理でのメインマシン。
WWWページ作成・アップロード用マシンでもあります。
WWW閲覧もこのマシンでよくします。
またheavenのメンテナンス、カーネルコンパイル等はここからNCSA Telnet経由で行います。
IP: 192.168.1.2 | ホスト名: casper.s.door.or.jp |
SOTEC Winbook Quattro 90C
Pentium 90MHzでメモリ40MBのノートパソコンです。
Windows95にて3DCG(Animation Master, Shade debut)及びWWW閲覧に使用する一方、
Linux 2.0.30にてNFSを用いてのheavenのメンテナンスもします。
なお、heavenを入手するまでダイアルアップルータとして使ってました。
heavenへのLinuxのインストールにも用いました。
IP: 192.168.1.1 | ホスト名: melchior.s.door.or.jp |
Appleの一体型デスクトップ。メモリ20MBです。
漢字Talk7.5.5にてNetscapeNavigator3専用マシンです。
IP: 192.168.1.4 | ホスト名: pfm575.s.door.or.jp |
Appleのノートパソコン。メモリ32MBです。
MacOS8です。
PCカードスロットによるデジカメやINTERTopとのデータやりとりが主な使われ方です。
他に3DCG、フォトレタッチや文章作成も行います。
実際casperを購入するまではこの機械でShade III Lightを使っていました。
また、この文もPowerBook5300cs+YooEdit+NIK-Codeで打っています。
IP: 192.168.1.3 | ホスト名: ritsuko.s.door.or.jp |
Appleのデスクトップ。拾いました。
動作はかなり遅いのですが、メモリ32MB、ビデオカード2枚にEtherカードまで挿さっていたので使い方によってはまだまだ現役です。
13inchカラーモニタと白黒縦型モニタを繁いで漢字Talk7.5.5にてNCSA Telnet, Jedit, NetscapeNavigator等を使用しています。
IP: 192.168.1.7 | ホスト名: mac2ci.s.door.or.jp |
Apple Macintosh SE/30
Appleの一体型デスクトップ。これも拾いました。
壊れていますが、恐らく簡単な修理で使える様になるでしょう。
やはりEtherカードは入っているので近い内にLANに参加させる予定です。
IPアドレス未定。
接続図
上記のコンピュータ達を1997年12月現在下図のように繋いでいます。
じゃ、設定しよう
IPアドレスを決めよう
IPアドレスは192.168.10.5のような0から255までの数字4つの列ですが、原則として世界中に二つ同じ番号があってはいけませんので、勝手な番号にすると世界中に迷惑をかける可能性もありますので注意して下さい。
プライベートアドレスを使おう
上記の『原則として世界に二つ同じ番号があってはいけません』には例外があります。
それがプライベートアドレスです。
理屈は参考文献等にお任せしますが、ともかく自由に使っていいアドレスが決められているのでそれを使いましょう。
LANに繁がっている機械(パソコンやプリンタ等)の数が255個以下の場合
(一般家庭なら大丈夫ですよね?)
には以下の番号が用意されています。
192.168.0.0〜192.168.255.255
この内最初の三つの番号は一つのLANで固定なので、一つに決めましょう。
ここでは "192.168.1" として話を進めます。
パソコンごとのIPアドレス
IPアドレスの四つの数字の内最初の三つまで決まっだので、最後の一つの数字でLAN上の各パソコンを区別します。
パソコンごとに異なる数字にして下さい。また0と255は使えないので、1〜254から選んで下さい。
例: (全て同じLANに繁がっているとします)
Linux box A | 192.168.1.1 |
Windows95 B | 192.168.1.2 |
MacOS C | 192.168.1.50 |
Linux box D | 192.168.1.53 |
Network Printer E | 192.168.1.100 |
この段階ではまだ『決めるだけ』で結構です。
紙にでもメモしておいて下さい。
さて、diald, IPマスカレードを設定するLinux box(以下「サーバ」と呼びます)のIPアドレスをここでは 192.168.1.5 として話を進めます。
ネットマスク
上の様にIPアドレスを決めた場合には netmask(ネットマスク) と呼ばれる頂目には "255.255.255.0" と入れましょう。
理屈はまたもパスさせて頂きます。m(_ _)m
Linuxの設定
サーバをダイアルアップルータにする為の設定を行います。
雑誌や書籍に付属のCD-ROMからインストールするのが一番手軽かと存じます。
どの道そのCD-ROMが付いていた本にインストール方法が載っているのでこのWWWページでは省略しますね。(^-^)
Linuxのインストール
私はSlackwareを用いました。
melchiorでbootdisk(net.i)とrootdisk(color.gz)を作成した上で、melchiorでマウントしたSlackwareのCD-ROMをNFSでheavenにマウントし、setupを実行します。
ディスクに空きがあればカーネルのソースもインストールした方がいいでしょう。
X関連は最低限インストールしてみたのですが、今は使っていません。
Xを動かせばサーバでもNetscapeNavigatorが動くので嬉しいのでしょうが、heavenは当初からディスプレイも繁がずに廊下の隅に置いとく予定だったのでXは全く必要ありませんでした。
ネットワークの設定
Slackwareのインストーラはインストールに引き続き、そのままネットワークの設定に入ります。
私は以下の通りに行いました。
* ENTER HOSTNAME: heaven
サーバの名前を入れて下さい。好きな名前でいいでしょう。
* ENTER DOMAINNAME: s.door.or.jp
なんちゃら.or.jp という名前で他にないドメイン名にした方が望ましいでしょう。
* LOOPBACK ONLY?: No
ネットワークを使うのですから、必ず No と答えて下さい。
* ENTER LOCAL IP ADDRESS: 192.168.1.5
メモしておいたサーバのIPアドレスを入力して下さい。
* ENTER GATEWAY ADDRESS:
サーバ自身がgatewayなのですからこの頂目は空欄のまま ENTERキーを押せばいいでしょう。
* ENTER NETMASK: 255.255.255.0
255.255.255.0 を入力して下さい。
* USE A NAMESERVER?: Yes
Yes にした方が後々便利です。
* SELECT NAMESERVER: ナイショ
ISP(プロバイダ)から教えられたDNSのIPアドレスを入力して下さい。
本当に「ナイショ」なんて入力しないでね。
ちなみにインストールの後でも /etc/resolv.conf をMule等で編集すればDNSを変更したり追加できます。
JEのインストール
日本語プログラムはJEでインストールします。
日本語関係は必要ないかとも思ったのですが、Muleと日本語ドキュメントはインストールして良かったです。(^_^)
実際UNIXのヘルプは使い物になります。
何かわからない事があった時には先ずHDD上の日本語ドキュメントを読みます。
それでもわからないと英文ドキュメント、それでもわからないとテレホーダイを待ってオンラインのJFのお世話になります。
ここまでやると大低の事は解決しますよ。
カーネルコンパイルのオプション
インストールして最初にするのがカーネルのリコンパイルです。
PPP, Ethernet, IPマスカレード, そしてdialdを使えるように設定しなくてはいけません。
具体的には以下の通りに設定しました。
詳しくは「Networking Linux」のChapter 4, 5をご覧下さい。
# cd /usr/src/linux
# make menuconfig
でカーネル・コンパイルの設定に入ります。
私の現在の設定は以下の通りです。
下に記述のない頂目に関しては各自の環境に合わせて下さい。
* Loadble module support
[*] Enable loadable module support
[*] Kernel daemon support (e.g. autoload of modules)
* General setup
[*] Networking support
* Networking options
[*] Network firewalls
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
[*] IP: firewalling
[*] IP: masquerading
--- Protocol-specific masquerading support will be built as modules.
[*] IP: ipautofw masq support
[*] IP: ICMP masquerading
[*] IP: always defragment
[*] IP: accounting
--- (it is safe to leave these untouched)
[*] IP: Drop source routed frames
* Network device support
[*] Network device support
<*> Dummy net driver support
<*> PPP (point-to-point) support
--- CCP compressors for PPP are only built as modules.
<*> SLIP (serial line) support
(註: SLIPの設定はdialdを使う為には必要です。)
[*] Ethernet (10 or 100Mbit)
* Filesystems
<*> NFS filesystem support
(註: 必要ではありませんが、これを入れておくと他のUNIXマシンからメンテナンスできるので便利です。)
* Character devices
<*> Standard/generic serial support
(註: 外付けモデムを使用するなら必要でしょう。内蔵モデムやシリアルポートを使わないモデム/TAの場合は各自の環境に合わせて下さい。)
dialdのインストール
dialdのホームページがありますので、そこから最新版をダウンロードしましょう。
私の時にはdiald-0.16.4が最新で、diald-0.16.tar.gzとdiald-patch-0.16.4.gzをダウンしました。
ホームページには(英語ですけど)丁寧にパッチの当て方を説明してあります。
コンパイルとインストールは以下でいいでしょう。
% make depend
% make
% su
# make install
- /etc/diald.conf の内容:
pppd-optionsとdeviceは各自の環境に合わせて下さい。
それ以外はこのままでも大丈夫だと思います。
---------- start of /etc/diald.conf ----------
# General options
mode ppp
accounting-log /var/log/diald.log
pppd-options noipdefault name sakira
# Device configuration
connect /usr/lib/diald/connect
device /dev/ttyS0
speed 115200
modem
lock
crtscts
# Network configuration
local 192.168.0.90
remote 192.168.0.91
dynamic
defaultroute
# Timeouts
dial-fail-limit 5
# Get the standard filter policy
include /usr/lib/diald/standard.filter
--------- end of /etc/diald.conf ----------
/usr/lib/diald/connect の内容:
インストールされた時の状態から必要な部分だけ変更すればいいでしょう。
私はこんな感じです。
MODEM_INIT="AT"
あちゃー、これは良くない例ですね。
とりあえず後でATコマンドを調べようと思ったまま忘れてました。(^^;)
でも動いているからヨシとしましょう。
PHONE_NUMBER="0w123-4568"
ISP(プロバイダー)のアクセスポイントの電話番号を書いて下さい。
頭の "0w" というのは私の家に0発信のPBXが入っているからですので、普通の家庭では書いてはいけません。
USER_NAME="sakira"
ISPのログインネームです。
PASSWORD="内緒よん"
パスワードです。
勿論こんなパスワードではありません。(^-^)
こんな事を書いてあるファイルなので、/usr/lib/diald/connectは一般ユーザーには不可視に設定しておくべきでしょう。
以下で大丈夫でしょう。
$ su
# chmod go-r /usr/lib/diald/connect*
chat \
TIMEOUT 45 \
ABORT "NO CARRIER" \
ABORT BUSY \
ABORT "NO DIALTONE" \
ABORT ERROR \
"" ATx3dp$PHONE_NUMBER \
CONNECT ""
ATコマンドの部分のみ注意して下さい。
ちなみに "x3" はダイアルトーンの無視で、これまたPBX用ですので普通の人には関係ありません。
"dp" はパルス回線用のダイアルコマンドですので、プッシュ回線の方は "dt" として下さい。
その後の設定
起動時にIPマスカレードとdialdが有効となるよう、/etc/rc.d/rc.localに以下を追加します。
---------- /etc/rc.d/rc.localの途中から ----------
#
# start IP masquarade
#
/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
/sbin/ipfwadm -F -p deny
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_vdolive
#
# set serial speed
#
/bin/setserial /dev/cua0 spd_vhi
#
# start diald (auto dial-up IP connecting)
#
/usr/sbin/diald
---------- end of /etc/rc.d/rc.local ----------
これで全てが正しく働いていれば
# shutdown -r now
で再起動すればこのLinux boxはダイアルアップルータとして動き出します。
でも実際にはここまで全く問題ないなんて事は経験上ないので (^ー^;)、まず間違いなく参考文献やJF等のお世話になる事でしょう。
しかしEthernetとモデムが動けば後は恐らくソフトウェアの問題だけなので、きっと色々試せば解決しますよ。
クライアントの設定
実際にWWWブラウザー等を動かすパソコンでの設定をしましょう。
PPPは要りません
MacintoshではMacPPPやFreePPP, OpenTransport/PPP、Windows95ではダイアルアップネットワークは使いません。
削除する必要もないので、何もいぢらずに放っておけばいいでしょう。
Windows95での設定
現在準備中です。m(_ _)m
MacOSや漢字Talkでの設定
「MacTCP」か「TCP/IP」という名前のコントロールパネルがあると思います。
(少なくともそのマックでインターネットを使っていたならある筈です。)
もし無ければシステムCDからインストールして下さい。
- MacTCP の設定:
すんません、ここも準備中です。
- TCP/IP の設定:
経由先 | Ethernet |
設定方法 | 手入力 |
IPアドレス | 192.168.1.3 | メモしておいたそのマシン用の番号です |
サブネットマスク | 255.255.255.0 |
ルータアドレス | 192.168.1.5 | メモしておいたサーバのIPアドレスです |
ネームサーバアドレス | | ISP(プロバイダ)から知らされた番号を入れます |
ritsukoでの設定例
参考文献
Networking Linux
やまだあきら・はねひでや共著, 株式会社アスキー, ISBN4-7561-1291-9, 2,800円
TCP/IPのわかりやすい解説もあって、とても役に立った本です。
私のようにダイアルアップルータをLinuxで実現しようという方にはお勧めです。
私はこの本でプロトコルやルーティングがようやく判った気になりました。
IPマスカレードやdialdの仕組やインストール方法も詳しく書いてあります。
なお、私のネットワークに関する知識の大半はこの本の受け売りです。
RunRun Linux
はねひでや・やまだあきら・あべひろのぶ共著, 株式会社アスキー, ISBN4-7561-1605-1, 2,800円
UNIXの基礎的な知識からLinuxのインストール方法、XやPPPの設定等。
スタンダードなLinux入門書です。CD-ROM付き。
なお私が持っているのは初版ですが、既に第二版も出たと聞きます。
Linux入門
小山裕司・斎藤靖・佐々木浩・中込知之共著, トッパン, ISBN-4-8101-89055-4, 4,500円
厚い(618頁)だけあってかなり丁寧な入門書です。
インストールに関しても細かく説明があるので、初心者でも迷う事は少ないでしょう。
Linuxを触った事のない方にはお勧めです。
ただ基本的にネットワークを使わずにスタンドアロンでTeXやMule等を使いこなす事を目標としている様子なので、このWWWページの主旨からは外れます。
CD-ROM二枚付き。
Walking Linux
Walking Linx推進委員会著, 株式会社アスキー, ISBN4-7561-1662-0, 2,800円
ノートパソコンでLinuxを動かす時に必要な情報が多く載っています。
ネットワークによるインストールの際には参考にさせて頂きました。
ノートパソコンをダイアルアップルータとして使うならとても良い本でしょう。
CD-ROM付き。
他にもLinux JurnalやUNIX User, UNIX Magazine, ざべ(THE BASIC)等の雑誌にも役に立つ記事が掲載される事があります。
インターネット上のリソース
[ さきらのホームページ |
NIK-Code for Macintosh ]
感想、希望、要望、意見等ありましたら
sakira.09@g4.mnx.ne.jpまで。