Windowsでネットワーク間のルーティングをする

今日入れたVMwareとか、coLinuxとかは仮想NICを通して物理ネットワークと接続するみたい。たいだいは仮想HUB見たいなのつくって、ホストOSと同じネットワークにアドレス割り振って接続するらしい(たいていブリッジとか言ってる)。なんだけど、自分の環境はちょっと特殊で、IEEE802.11gのアクセスポイントみたいなものとNICをLANケーブルで結んでるんだけど、そのアクセスポイントもどきは下にひとつのNICしかぶら下げられない。なので、ブリッジを使って仮想PCをネットワークに接続することはできない。その場合は、ホストOSにNATを設定してゲストOSにポートフォワードするのが定石らしい。で、Windowsだとネットワーク接続の共有とかをするとできるらしい。
なんだけど、設定が悪いのか、環境が悪いのか、Vistaが悪いのか、何が悪いのかわからないけど何回やっても繋がらない。ホストOSとはpingが通るけど、外部にはどうがんばってもだめ。ブリッジ接続って言うのをしてみようとしたけど、VMwareの仮想NICが対応してなきゃ意味がない。
で、いろいろ調べてたらWindowsにルータの機能を持たせられる、なんて話を聞いて、それを使えばできるんじゃね?と思ってやってみたらできた。
VMwareネットワークアダプタの設定はHostOnlyにして、ホストOSにできたVMwareの仮想NICに、もともと繋いでたネットワークとは異なったネットワーク部を持つアドレスを指定しておく。ゲストOSには、設定したアドレスをゲートウェイに設定して、同じネットワーク部で異なるアドレスを指定する。で、Windowsのレジストリを設定してIPルーティングを有効にする(WindowsマシンをIPルーターにする):Tech TIPS - @ITに乗ってるレジストリを弄って再起動。ルータのルーティングテーブルに、指定したネットワーク部のゲートウェイをホストOSのアドレスに指定する。
具体的には、今のネットワークが192.168.1.1/255.255.255.0のルータに192.168.1.3/255.255.255.0なホストOSが繋がってるとしたら、ホストOSの仮想NICには192.168.2.1/255.255.255.0を指定、ゲストOSは192.168.2.2/255.255.255.0を指定して、ゲートウェイには192.168.2.1を指定。ルータに宛先が192.168.2.0/255.255.255.0だったら192.168.1.3をゲートウェイにするように設定するだけ。これだけ。
こうすると、外のネットワークからもゲストOSが見れて、幸せになれると思うよ!ルータのポートマッピングに直接ゲストOSのアドレス書けたりとか、ゲストOSのDNSサーバに直接ルータのアドレス書けたりとか。どうしてこの方法あまり出てこないんだろう。