ネットワークのルーティング
会社のネットワークは、次のような構成だ。
インターネット←→ファイヤウォール(プロキシ)←→イントラネット←(イーサネット)→マイPC(Windows)
ところが、突然会社のネットワークに制限がかかり、見たWebページが全て記録されるようになってしまった(仮定の話です)。上の構成だったら、ファイヤウォールのところでログを取られてしまうわけだ。これはマズイ。オークションも見られなくなってしまう。だろう。
そういう場合は、やっぱりこっそり@FreeDやAirEdgeのようなPHSの定額制ダイヤルアップ接続を導入したくなる。つまり、こういうことだ。
インターネット←→ファイヤウォール(プロキシ)←→イントラネット←(イーサネット)→マイPC←(PHS)→インターネット
こういうのって、ネットワーク管理者からするととんでもない話なので、してはいけません。あくまで仮定の話。
普段はイントラネット(社内のローカルネットワーク)を使うが、仕事中や休憩中にWebページを見たくなったらダイヤルアップで外の世界を見に行く。だが、ダイヤルアップするとデフォルトゲートウェイが変わってしまい、社内LANにアクセスできなくなる。かといってダイヤルアップを切断すると外の世界が見られなくなる。ダイヤルアップしたり切断したりを繰り返せばいいわけだが、せっかくの定額制ダイヤルアップなのに、いちいち切断していては不便極まりない。
外のネットワークを見に行くときだけダイヤルアップのルートを通ってアクセスし、イントラネット向けアクセスのときだけイーサネットのルートを通っていけばいいはずだ。どうにかして、共存させたい。
イントラネット向けのアクセスとは?この架空の会社の場合、ファイヤウォール内はクラスAのプライベートIPアドレスで構成されている。つまり、10.0.0.1~10.255.255.254のIPアドレスが振られているということだ。ということは、10から始まるアドレスへアクセスしようとしたときはイントラネット内でのアクセスで、それ以外は外のインターネットへ向けたアクセスであると分類することができる。
ということは、10.*.*.*へのアクセスだけイーサネットで、それ以外はPHSを使用すればいいということがわかる。アクセスしたいIPアドレスによって、ルートを変更するわけだ。これを、ルーティングテーブルを操作することで実現できた。
それには、次のコマンドを使用する。
route -p add 10.0.0.0 mask 255.0.0.0 10.20.30.40
-pはこの設定を記録しておく意味。 addは新しいルートを追加するという意味。元からあるイントラネットなのになぜ追加?という気がするが、ダイヤルアップをするとダイヤルアップの方が優先されてしまうから、イントラネットのルートを追加する必要がある。 ここで指定するIPアドレスと、maskで指定するIPアドレス(というのは正しくないけど)の組み合わせでルーティングテーブルを変更するIPアドレスの範囲を指定する。ここで、10.20.30.40はもともとのデフォルトゲートウェイを指定する。
つまり、「10.*.*.*向けのIPアドレスに対する接続は、ゲートウェイ10.20.30.40を経由して行いなさい」、ということを設定することができた。これで現状うまくいっているが、routeコマンドには他にもオプションがあり、これが最適な指定の方法かどうかまではよくわかっていない。とりあえず、これでうまくいったので一安心。