ゼロ円でできるブロードバンド・ルータ
1FD Linuxで古いPCをルータにする
北浦訓行
2000/12/8
floppyfwの設定
インストールが終了したら、設定作業に取りかかります。設定作業は、設定用のテキストファイルを編集することによって行います。また、機能(DHCPやNICのドライバなど)を追加する場合は、パッケージファイルやモジュールファイルなどをダウンロードする必要もあります。
●NIC
最初は、最大の難関であるNICの設定です。floppyfw 1.0.6のカーネルには、あらかじめ以下のNIC用ドライバが組み込まれています。従って、これらのNICを使用する場合は、特に作業は必要ありません。
- 3com 3c509(3c509.cを使用)
- NE2000互換
- Tulip互換
- Intel EtherExpress PCI
■コラム ファイル名に注意! |
floppyfwを使い始めたころ、eth1のNICが認識できなくて苦労しました。原因は、「via-rhine.o」というファイル名が8.3形式を超えているためのようです。ファイル名を「via-rhin.o」に変更し、MODULES.LSTも修正すると無事認識されました。ちなみに、後ほど出てくる「post-dhcpd.ini」というファイル名も8.3形式を超えているのですが、こちらの方は、なぜか問題なく読み込まれます。 |
上記以外のNICを使用する場合は、ドライバをダウンロードして、設定ファイルを編集する必要があります。
旧バージョンでは、カーネルに組み込まれていないドライバを使用するためには、カーネルの再構築もしくは対応ドライバの作成が必要でした。これが、これまでfloppyfwを使用するうえで大きな足かせとなっていたのです。しかし、現行バージョンではWebサイト上に各NICのドライバが用意されていますから、使用するNICに搭載されているコントローラが分かればよいのです。NICとドライバの対応については、Linux Ethernet-Howto(http://www.linux.or.jp/JF/JFdocs/Ethernet-HOWTO-5.html)が参考になります。
筆者の使用しているNICは、RealtekのRTL8139Bを搭載したエレコムLD-10/100Sと、VIAのVT86C100Aを搭載したプラネックスコミュニケーションズのFNW-8700-Tです。RTL8139Bは「rtl8139.o」を、VT86C100Aは「via-rhine.o」を使用しますから、floppyfwのサイト(http://www.zelow.no/floppyfw/download/modules/2.2.17/net/)にあるドライバをダウンロードし、FDの\MODULESディレクトリにコピーします。
このモジュールを使用するという設定は、MODULES.LSTで行います。テキストエディタで、MODULES.LSTを開き、ファイルの末尾にドライバ名を入力します。
rtl8139.o |
●DHCP
■コラム .bz2形式はそのままでOK |
.bz2は圧縮されたファイル形式です。floppyfwでは、モジュール読み込み時に自動解凍しますので、インストール時に解凍する必要はありません。.bz2形式のままディレクトリにコピーしてください。 |
DHCPの設定には、接続先のIPアドレスを受け取るためのDHCPクライアントと、内部のLANにローカルのIPアドレスを供給するDHCPサーバがあります。いずれも、固定のアドレスの場合は必要ありません。
DHCPクライアントを使用する場合は、パッケージファイルをダウンロードしなければなりません。パッケージのファイル名は、「dhcpcd.bz2」です。これもfloppyfwのサイト(http://www.zelow.no/floppyfw/download/packages/dhcpcd/)からダウンロードして、\PACKAGESディレクトリにコピーします。DHCPクライアントの設定は、CONFIGというファイルで行います。これについては後述します。
DHCPサーバを使用する場合も同様です。パッケージのファイル名は、「dhcpd.bz2」です。ただし、DHCPサーバーの場合は、「post-dhcpd.ini」という設定ファイルも必要です。floppyfwのサイト(http://www.zelow.no/floppyfw/download/packages/dhcpd/)から2つのファイルをダウンロードして、\PACKAGESディレクトリにコピーします。
DHCPサーバの設定は、post-dhcpd.iniで行います。このファイルをテキストエディタで開いて、以下の部分の値を設定します。
INSIDE_NET=192.168.1.0 # Network address
to listen on |
■コラム IPアドレスのリース情報 |
floppyfwでは、DHCPでリースしたIPアドレスの情報などは、すべてRAMディスク上に保存しています。何らかの理由によりfloopyfwがリブートした場合は、クライアント側で、IPアドレスを再取得しなければなりません。 |
「INSIDE_NET=」は、内部LANのIPアドレスの最初の番号を指定します。「DHCPD_FIRST_IP=」には、DHCPで供給する開始アドレスを、「DHCPD_LAST_IP=」には、DHCPで供給する最終アドレスを指定します。初期設定では、内部LANのIPアドレスは、192.168.1.0から始まり、192.168.1.100〜192.168.1.200がDHCPとして割り振られます。これ以外のアドレスは、固定IPが必要なサーバ用のリザーブとなります。「LEASE_TIME=」には、DHCPによって供給されたIPアドレスのリース期間を指定します。初期設定では、1週間になっています。
●CONFIG
「CONFIG」ファイルでは、floppyfwの最も基本的な設定を行います。テキストエディタで開いて、以下の部分を修正します。
OUTSIDE_IP= |
接続先からIPアドレスが固定で供給される場合には、「OUTSIDE_IP=」に指定されたIPアドレスを記述します。一般的には、DHCPによる自動割り当てのケースが多いでしょう。その場合は、以下のようにします。
#OUTSIDE_IP= |
IPアドレスが固定の場合は、以下の部分にも、指定されたアドレスを記述します。DHCPの場合はそのままで構いません。
OUTSIDE_NETMASK= |
次に、LANサイドの設定を行います。
INSIDE_IP=10.42.42.1 |
「INSIDE_IP=」には、LANの開始アドレスを入れます。DHCPを使用する場合は、post-dhcpd.iniの「INSIDE_NET=」で指定したアドレス+1(上記の例では、192.168.1.1)を指定します。「INSIDE_DEV=eth1」は、LAN側のNICです。「INSIDE_NETMASK=」は、LANのネットマスクです。原則として、これらはこのままにしてください。「INSIDE_BROADCAST=」は、ブロードキャストのアドレスです。DHCPを使用する場合は、post-dhcpd.iniの「INSIDE_NET=」で指定したアドレスの最終アドレス(上記の例では、192.168.1.255)を指定します。
次に、デフォルトゲートウェイなどの設定です。
DEFAULT_GATEWAY= |
これらは、DHCPを使用する場合には、デフォルトのままで構いません。固定IPの場合には、指定された値を入力してください。
最後に、ネットワーク関係以外の設定です。
OPEN_SHELL=y
|
「OPEN_SHELL=」は、キーボードからのコマンド操作を可能にするかどうかの設定です。最初は、NICの認識などがうまくいっているかどうかを確認する必要がありますから、デフォルトのままにしておきます。floppyfwが完全に動作するようになって、キーボードによる操作が必要なくなったら、値を「n」に変更してもよいでしょう。「ONLY_8M=」は、メインメモリが8MBのシステムで運用する場合に、「y」にします。「USE_SYSLOG=」はsyslogを使用するかどうかの設定です。「SYSLOG_FLAGS=」とともに、デフォルトのままにしておきましょう。
以上で、CONFIGファイルの設定は終了です。
●FIREWALL.INI
FIREWALL.INIでは、ファイアウォールの設定を行います。一般的な接続形態は、DHCPによる動的なアドレス割り当てでしょうから、このファイルを変更する必要はありません。もし、固定アドレスを割り当てられている場合、以下の行を変更することにより、内部LANのサーバを外部に公開することができます。
#ipmasqadm portfw -a -P tcp -L $1 80
-R 10.42.42.<SERVER-IP> 80 |
例えば、固定アドレスで、210.xxx.yyy.zzzを割り当てられている場合、
ipmasqadm portfw -a -P tcp -L $1 80
-R 10.42.42.2 80 |
とすると、外部から「http://210.xxx.yyy.zzz」とすると、内部LANの「10.42.42.2」にアクセスすることができるようになります。ただし、筆者の環境は、残念ながらDHCPですので、この機能を実際に試したわけではありません。ご了承ください。
また、ネットワークゲームなどのように、外部から接続が必要なものは、パケットフィルタリングを通りません。その場合は、FIREWALL.INIの設定が必要です。具体的なパラメータなどは、Masq ApplicationsというWebサイト(http://www.tsmservices.com/masq/)などで公開されています。ICQに関しては、floppyfwのWebサイトにモジュールが用意されています。以下の項を参照してください。
●ICQ
ICQを使用する場合は、floppyfwのサイト(http://www.zelow.no/floppyfw/download/modules/ip_masq_icq/2.2.17/)にあるドライバ「ip_masq_icq.o」をダウンロードし、FDの\MODULESディレクトリにコピーします。
NICのドライバと同様に、このモジュールを使用するという設定は、MODULES.LSTで行います。テキストエディタで、MODULES.LSTを開き、ドライバ名を入力します。最終的には、以下のようになります。
ip_masq_irc.o |
以上で、すべての設定は終了です。早速、動作確認を行いましょう。ケーブルなどの結線をすべて確認してください。ケーブルモデムやADSLモデムに接続するのがeth0、LAN(HUB)に接続するのがeth1です。確認が終わったら、PCの電源を投入します。最初に、BIOSの設定メニューで、FDから起動するように設定を変更します。ちなみに、筆者がfloppyfwを運用しているPCからは、HDDは取り除いてあります。
floppyfw起動中は、エラーメッセージなどが表示されていないかどうか、十分に注意してください。起動したら、
# ifconfig |
で、NICの設定が正しいかどうかを確認してください。eth0とeth1が逆になっている場合は、PCIバスの挿入位置を入れ替える必要があります。問題ないようであれば、クライアントPCを起動します。接続先によっては、Webブラウザにプロキシサーバなどの設定を行う必要があります。これらの設定が終わったら、インターネットにアクセスできます。
システムが安定して運用できることが確認されたら、キーボードは必要ありません。FIREWALL.INIの「OPEN_SHELL=」を「n」に変更し、キーボードを取り外してください(もちろん、接続したままでも構いませんが)。BIOSによっては、キーボードを取り外すと、システムが起動しなくなります。その場合は、BIOSメニューでキーボードのチェックを行わないように設定の変更が必要です。
3/3
|
|
Index | |
ゼロ円でできるブロードバンド・ルータ 1FD Linuxで古いPCをルータにする |
|
floppyfwのススメ | |
floppyfwとは | |
機材の準備 | |
floppyfwのインストール DOS/Windowsで行う場合 Linuxで行う場合 |
|
floppyfwの設定 NIC DHCP CONFIG FIREWALL.INI ICQ |
|
動作確認 |
Linux Square全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|