<% 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を使うのでしょうか。

その他の機器での実現

ISDNを使うのなら最近(1997年12月現在)はやりのMN128-SOHOみたいな「ダイアルアップルータ」がまさに同じ機能を持ってます。 管理が楽でしょうし機械もそれほど高価ではないので、ISDNをお使いなら良い選択かと存じます。 我が家でも将来、ISDNを導入するならその様な機械を使う可能性が高いです。 (と言うか1997年12月にMN128-SOHOを買ってしまいました。) なおMacintoshを中心としたネットワークでMN128 SOHO/DSUを導入した話がのりさんのページで紹介されているので参照して下さい。 (また、Windows98SEやWindows2000でしたら標準でインターネット接続共有の機能を持っています[2000年4月加筆])

またrilyさんに教えてもらったのですが、アナログ回線でも使えるルータがあります。 NetGenesis4がそれです。 実売弐万円を切るそうなので現実的な選択ですね。


マシンの構成

我が家では以下のマシンを原則として三つの部屋と廊下に設置して三人で使っています。 なお、ノートパソコンは移動して使う場合もあるので四部屋で同時に使う事もあります。

8ポートHUB

PLANETの製品です。5000円ぐらいで購入しました。

10BaseTケーブル

30m×1, 20m×2, 10m×2 全てストレートです。

拾った486DX2マシン

主役の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

Apple PowerMacintosh 7300/166

デスクトップマックです。 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 Performa 575

Appleの一体型デスクトップ。メモリ20MBです。 漢字Talk7.5.5にてNetscapeNavigator3専用マシンです。
IP: 192.168.1.4 ホスト名: pfm575.s.door.or.jp

Apple PowerBook 5300cs

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 Macintosh IIci

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.gzdiald-patch-0.16.4.gzをダウンしました。 ホームページには(英語ですけど)丁寧にパッチの当て方を説明してあります。 コンパイルとインストールは以下でいいでしょう。
% make depend
% make
% su
# make install

その後の設定

起動時に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ではMacPPPFreePPP, OpenTransport/PPP、Windows95ではダイアルアップネットワークは使いません。 削除する必要もないので、何もいぢらずに放っておけばいいでしょう。

Windows95での設定

現在準備中です。m(_ _)m

MacOSや漢字Talkでの設定

MacTCP」か「TCP/IP」という名前のコントロールパネルがあると思います。 (少なくともそのマックでインターネットを使っていたならある筈です。) もし無ければシステムCDからインストールして下さい。
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 JurnalUNIX User, UNIX Magazine, ざべ(THE BASIC)等の雑誌にも役に立つ記事が掲載される事があります。

インターネット上のリソース


[ さきらのホームページ | NIK-Code for Macintosh ]

感想、希望、要望、意見等ありましたら sakira.09@g4.mnx.ne.jpまで。