2つのイーサネット LAN がともにインターネットに接続していれば、 LAN 間のトラフィックを透過的にブリッジしてイーサネット LAN を結合できます。
PC1 (192.168.0.1 /24)--| PC3 (192.168.0.3 /24)--| PC5 (192.168.0.5 /24)--|--[ eth0 - bridge_1 - eth1 (195.0.0.1) ] PC253 (192.168.0.253/24)--| | (192.168.0.2 /24) PC2 | (192.168.0.4 /24) PC4 [ (192.0.0.1) eth1 - bridge_2 - eth0 ] --| (192.168.0.6 /24) PC6 | (192.168.0.254/24) PC254 |
PopTop (PPTP サーバ) - http://poptop.lineo.com
PPTP (C.S. Ananian 作の Linux PPTP クライアント) - http://www.pdos.lcs.mit.edu/~cananian/Projects/PPTP/
tarpd (単純なプロクシ ARP デーモン) - htp://www.cs.hut.fi/~tricky/utils/net/tarpd-1.6.tar.gz
以上のソフトウェアは http://www.freshmeat.net でも見つけられます。
MS Chap と MS Encryption (MPPE) を行いたければ、pppd とカーネルに特別なパッチが必要であることを憶えておいてください。 パッチの入手とインストール方法についての解説は、 PoPTop のマニュアルを参照ください。
ルータをインターネットに接続するか、さもなくば IP 以外のプロトコル でなければどんなプロトコルでもいいですから、 二点間の通信を確立してください。
二点間に PPTP トンネルを張ってください。PoPToP (サーバ側)や pptp (クライアント側)のマニュアルに設定例があります。
ここまでで2つのブリッジの間に IP トンネルが張れたはずです。 暗号化されていることもあるでしょう (PPP のマニュアルを参照)。ブリッジングの設定を行いましょう。
ここでのブリッジは実際にはルータなので、ブリッジ上で以下のコマンドを 走らせる必要があることをお忘れなく(bridge_1 と bridge_2 を、ブリッジ間の PPTP トンネルのそれぞれの終端に割り当てられた IP アドレスだと仮定):
bridge_1$ip route add 192.168.0.2 via bridge_2 bridge_1$ip route add 192.168.0.4 via bridge_2 bridge_1$ip route add 192.168.0.6 via bridge_2 bridge_1$ip route add 192.168.0.254 via bridge_2 bridge_1$ip route add 192.168.0.255 via bridge_2 |
もう片側では以下のコマンドを実行します:
bridge_2$ip route add 192.168.0.1 via bridge_1 bridge_2$ip route add 192.168.0.3 via bridge_1 bridge_2$ip route add 192.168.0.5 via bridge_1 bridge_2$ip route add 192.168.0.253 via bridge_1 |
こうして各ブリッジに、どの端末が相手側にいるのかを指定します。 昔ながらの route コマンドでも同じことができます。 以下のような感じです:
bridge_1$route add -host 192.168.0.2 gw bridge_2 bridge_1$route add -host 192.168.0.4 gw bridge_2 bridge_1$route add -host 192.168.0.6 gw bridge_2 bridge_1$route add -host 192.168.0.254 gw bridge_2 bridge_1$route add -host 192.168.0.255 gw bridge_2 |
もう片側では以下のコマンドを実行します:
bridge_2$route add -host 192.168.0.1 gw bridge_1 bridge_2$route add -host 192.168.0.3 gw bridge_1 bridge_2$route add -host 192.168.0.5 gw bridge_1 bridge_2$route add -host 192.168.0.253 gw bridge_1 |
もう一度注意しておきますが、 bridge_1 と bridge_2 は ISP から付与された IP アドレスではなく、 あなたが PPTP トンネルの各終端に割り当てた IP アドレスです。
これでブリッジが2つでき、いずれのブリッジも特定の IP アドレスがある 場所を把握しています。しかし、リモートネットワーク宛てのトラフィックを ローカルのブリッジに送信するようコンピュータに指定するにはどうすれば よいでしょう。その場合 tarpd が必要になります。
tarpd は非常にシンプルなデーモンであり、 特定の IP アドレス宛ての ARP リクエストに応答します。各ブリッジ上で tarpd を走らせ、相手側の端末に割り当てられた IP アドレスのリストを指定するだけでよいです。
例えば、上に示した二つのブリッジの場合、以下を実行します:
bridge_1$tarpd eth0 192.168.0.2 255.255.255.255 \ 192.168.0.4 255.255.255.255 \ 192.168.0.254 255.255.255.255 |
もう片側では以下のコマンドを実行します:
bridge_2$tarpd eth0 192.168.0.1 255.255.255.255 \ 192.168.0.3 255.255.255.255 \ 192.168.0.253 255.255.255.255 |
各ブリッジにリモート設定を128組行います(IPアドレスとマスクアドレス。 tarped を混乱させないように、マスクアドレスは 255.255.255.255 にすべき!)。
通信がブリッジされるのをお楽しみください!