カスタム検索
このエントリーをはてなブックマークに追加
tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

ルータ専用機を作る実験の記録

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の構築」でその内容を記録しました。


2001年3月18日 - パケット転送させる

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"に送信するよう指定しました。


2001年3月15日 - 2つのLANカードを認識させる

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だけで動作するファイヤウオールの実験」で紹介しています。


To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)line.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)
カスタム検索



このエントリーをはてなブックマークに追加