カスタム検索
|
Tweet |
|
|
ルータ専用機を作る実験の記録
Modified: 15 Apr 2001
とりあえずフレッツISDNを導入し24時間接続できたものの決して高速ではありません。サービスが始まったらADSLかCATVとかFTTH!?などに乗り換えるつもりです。今はダイヤルアップルータの機能でファイヤウオールの役割を果たしていますが、ADSLやCATVでは使えません。
すると、ルータの設定をきちっとできる技術を身に付けておく必要がある。ということで、Linuxでルータを作る実験をすることにしました。
実験は、Redhat6.2 で行いました。
2001年3月15日 - 2つのLANカードを認識させる
2001年3月18日 - パケット転送させる
2001年3月20日 - IP Masqueradeを使うときKernelの再構成が必要
2001年3月23日 - ルータの勉強に役立つVMwareを使ってみる
2001年4月15日 − フロッピーディスクだけで動作するファイヤーウオールがあった
2001年3月23日 - ルータの勉強に役立つVMwareを使ってみる
ネットワークの勉強する場合、複数のPCを入手しないとできません。いろんなネットワーク構成を勉強するには、4,5台は欲しいところです。したがって、個人で勉強することは大変困難でした。
しかし、VMwareというソフトがそんな悩みを解消してくれました。一つのPC上で、複数の仮想PCを動作させることのできるソフトです。
必要な台数の仮想PCを作って、それらをネットワーク接続(これも仮想的に)すれば、たった1台のPCでいろんな実験ができます。
と言うわけで、「VMwareの話題と実験」のようなページを作りました。
2001年3月20日 - IP Masqueradeを使うときKernelの再構成が必要
Linuxは標準で、IP Masqueradeをサポートしていないそうで、使うにはカーネルの再構成と言って、機能を組み込む設定をしてMakeしなおす必要があるそうです。
そこで、みようみまねで再構築してみましたが、現時点ではうまく動作しません。
「IP MasqueradeをサポートしたKernel2.2の構築」でその内容を記録しました。
LANカード2つ実装できることがわかったのであらためてRedhat6.2 をインストールしました。インストール後は、PCIのLANカードしか認識されていませんでしたので、"Linuxconf"で、2番目のアダプタを設定しました。
環境の説明
今後のためにどんな環境かを説明しておきます。
インターネットにはダイヤルアップルータで接続しています。"linuxserver"は静的マスカレードを利用して、外部に公開しているサーバーです。気持ち的には、DMZの場所です。ネットワークアドレスは、"192.168.0.0"のクラスCのローカルアドレスを使っています、"Firewall&Router"と書いているところが今回実験しているルータです。ルーターの後ろは、"172.16.0.0"のクラスBのネットワークアドレスを使っています。
「PC1」や「PC2」は、Windows PCです。
パケット転送を設定する
パケット転送とは、上記の「PC2」からのパケットを中継して、"192.168.0.0"のネットワークに転送してくれるように設定することです。"192.168.0.0"からインターネットへは、ダイヤルアップルータが行ってくれます。したがって、転送ができるようになると、「PC2」からインターネットをブラウズできるようになります。
Redhat6.2は、デフォルトでパケット転送はしないようになっていますので、「PC2」からは、ルータしかアクセスできません。
"/etc/sysconfig/network"に以下のように追加します。
NETWORKING=yes
HOSTNAME="p5100"
GATEWAY=192.168.0.1
FORWARD_IPV4=yes"/etc/sysctl.conf"を以下のように変更します。
# Disables packet forwarding
net.ipv4.ip_forward = 1
# Enables source route verification
net.ipv4.conf.all.rp_filter = 1
# Disables automatic defragmentation (needed for masquerading, LVS)
net.ipv4.ip_always_defrag = 0
# Disables the magic-sysrq key
kernel.sysrq = 0ここで再起動しました。
「PC1」(Windows)の設定
「PC1」は、以下の設定をします。
IPアドレス 192.168.0.2 ネットマスク 255.255.255.0 ゲートウエイ 192.168.0.1
192.168.0.4「192.168.0.0」にないアドレスは、「192.168.0.1」または「192.168.0.4」に送る。つまり、「172.16.0.0」のアドレスは、「192.168.0.4」に送り、それ以外は、「192.168.0.1」に送る。
アドレスによってゲートウエイを切り替えるには、以下のように追加設定する。
C:\> route add 172.16.0.0 MASK 255.255.255.0 192.168.0.4
「PC2」(Windows)の設定
「PC2」は、以下の設定をします。
IPアドレス 172.16.0.8 ネットマスク 255.255.0.0 ゲートウエイ 172.16.0.4 「172.16.0.0」にないアドレスは、ゲートウエイである「172.16.0.4」に送る。
以上の設定で、「PC1」と「PC2」が通信できます。
「ダイヤルアップルータ」の設定
「PC2」から、「ダイヤルアップルータ」に対して、"ping 192.168.0.1"としても応答がありません。
これは、「ダイヤルアップルータ」から、「PC2」の存在が見えないからです。「ダイヤルアップルータ」に送り先がわからないとき、ルータ(192.168.0.4)に送るよう指定する必要があります。
したがって、以下のように「ダイヤルアップルータ」の設定を行います。
# ip lan route add net 172.16.0.0/16 192.168.0.4 1 "172.16.0.0"のIPアドレスは、"192.168.0.4"に送信するよう指定しました。
2つの ISAのLANカードの動作はできない
2つの ISAのLANカードを動作させるのは大変です。安いPCIのLANカードを買いましょう。
仕様上は、ISAカードであっても、2つのLANカード(ISA)を動作させることはできます。しかし、実際には、片方のLANカードが動作している状態で、もう片方のカードを動作させると、元のカードが動作しなったりして、両方を動作させることは困難を極めます。
試行錯誤で動作させることに時間を費やしてもいいですが、安いPCIのLANカードを買ってきたほうが手っ取り早いと思います。
ISAとPCIはOKだった
ISAカードと、PCIカードの共存は容易にできました。ただ、インストール後は、PCIのLANカードだけが動作しています。後からISAのLANカードを追加設定することにより動作します。
"/etc/conf.modules"
:
alias eth0 3c59x <----PCIのLANカードで自動設定された
:
alias eth1 3c509 <----ISAのLANカードを手動設定した起動する
# /sbin/ifup eth1
ISAカードをうまく使う方法
ISAカードを使うには、IOアドレスと、IRQを手動で設定します。
空いているIOアドレスと、IRQを探します。IOアドレスは、"cat /proc/ioports"で、IRQは、"/proc/interrupts"で確認します。
Webからユーティリティソフトダウンロードして、PNPを禁止し、IOアドレスとIRQを割り付けます。2枚使う場合、当然異なるIOアドレスとIRQに設定します。
2001年4月15日 − フロッピーディスクだけで動作するファイヤーウオールがあった
設定方法を試行錯誤しているうち、FDだけで動作するファイヤーウオールがあるのを知りました。
実験は成功しましたので、「FDだけで動作するファイヤウオールの実験」で紹介しています。