Windows XP Tips/NATゲートウェイ

提供: fukudat
移動: 案内検索

2つのネットワーク(例えばLANとWAN)がつながっているWindows XPをNATゲートウェイにする方法.

NATの先がVPNだったりしてもよい.

目次

接続の共有

まず最初に,以下の手順で接続を共有する.

  • 共有したい論理接続(WAN側)をダブルクリック --> プロパティをクリック --> 詳細設定タブをクリック
  • インターネット接続の共有のセクションにある「ネットワークのほかのユーザに,このコンピュータのインターネット接続をとおしての接続を許可する」をチェックする.

静的アドレスに変更

インターネット接続共有を行うと,このWindowsマシンのIPアドレスが自動的に192.168.0.1となってしまう.物理的ブロードバンドルーターのIPアドレスとぶつかってしまうので,別の静的アドレスに固定してしまうことにする.(もともと静的アドレスだったとしても,接続の共有を行うと 192.168.0.1 に勝手に変更されるので,このセクションの変更が必要となる).

  • スタート --> マイネットワーク を右クリック --> プロパティ を開く.
  • 2個以上の LANまたは高速インターネット アイコンが存在するはず.
    • 1つはPrivate LANへの物理接続をあらわし,
    • もう1つはVPNへの論理接続をあらわしている.
  • Private LANへの物理接続をダブルクリック --> プロパティをクリック --> 「この接続は次の項目を使用します」のリストから TCP/IP を選択して,プロパティ をクリック.
  • 「IPアドレスを自動的に取得する」ではなく,「次のIPアドレスを使う」を選択して,適切な値を設定する.ここでは,以下の値を用いている.
    • IPアドレス: 192.168.0.33 (LAN側であいているアドレス)
    • サブネットマスク: 255.255.255.0 (LAN側のネットマスク)
    • デフォルトゲートウェイ: 192.168.0.1 (LAN側のデフォルトゲートウェイ)
    • 優先DNSサーバー: 192.168.0.11 (LAN側のDNS)
    • 代替DNSサーバー: 192.168.0.12 (LAN側のDNS)

DHCPサーバーの無効化

前節の接続の共有の設定を行うと,このVPNゲートウェイはDHCPサーバー兼DDNSサーバーとしても動き出してしまう.我が家のLANには既にDHCPサーバーが動いているので余計な御世話だ.このことにより次の問題が生じる.

  • このDHCPによりIPアドレスをアサインされたクライアントは,DDNSとの連携がないため,名前でアドレス解決ができない.
  • 複数の連携していないDHCPサーバーが存在することにより,IPアドレスの衝突が起こる可能性がある.

一方,次のようなメリットもある.

  • このDHCPによりIPアドレスをアサインされたクライアントは,default gatewayがこのゲートウェイになるため,次節のルーティングの設定をしなくてもVPNにアクセスできる.

このため,常にこのVPNゲートウェイが動いているのであれば,既存のDHCPサーバーを止めてしまうという選択肢もなくはない.もう少しconfigurableでだったらよかったのだが.

さて既存のDHCPサーバー, DDNSサーバーを生かしたいならば,このDHCPサーバーはなんとかして無効化しなければならない.独立したサービスであれば,サービスを無効化すればよいのだが,残念ながらDHCPサーバーは独立したサービスではないのでサービスとして停止させることはできないようだ.そこで,DHCPサーバーがlistenしている bootp のUDPポート (67, 68)をふさいでしまうことにする.

考えられる手段として,ファイアーウォールのソフトウェアがインストールされていればそれを使えばよい.何も入っていない場合でも,以下のように設定することによりDHCPのポートをふさぐことができた.

  • Private LANへの物理接続をダブルクリック --> プロパティ --> インターネットプロトコル(TCP/IP)を選んでプロパティボタンをクリック
  • 詳細設定...をクリック --> オプションタブを選択 --> TCP/IPフィルタリングを選択し,プロパティボタンをクリック
  • UDPポートの上の「一部許可する」ラジオボタンを選び,その下の「追加...」を押して bootp (67, 68) 以外のポートをできるだけ追加する.私のマシンでは,以下のポートを追加したら問題なく動いている.
22, 42, 53, 123, 137, 138, 389, 443, 445, 500, 636, 1027, 1040, 1046, 1047, 1900, 4500, 10000

ルーティング設定

Private LAN内にあるVPNに接続したいマシンで,VPN向けのIP routingを設定する必要がある.

Windowsマシンなら,

C\> route add <VPNのネットアドレス> mask <VPNのネットマスク> <ゲートウェイマシンのIPアドレス>

を実行する.例えば 10.x.x.x/8 がVPNであれば,

C\> route add 10.0.0.0 mask 255.0.0.0 192.168.0.33

となり,10.x.x.x との通信は 192.168.0.33を経由することとなる.

Linuxマシンでも同様に

# route add -net 10.0.0.0 mask 255.0.0.0 gw 192.168.0.33

とする.

上手く設定できていれば,これでVPNとIP reachableのはずである. (DNSはまだ設定していないので)VPN内で生きているIPアドレスをゲートウェイで調べて, ping が通るか確かめてみよう.

C\> ping 10.0.4.1

ping は通らないこともあるので,ウェブサーバーにブラウザで接続してみる方がよい確認方法かもしれない(その場合もホスト名ではなくIPアドレスを用いること).

これらの設定はリブートすると消えてしまうので,永続的な静的ルーティングを参照して,永続的な設定を行う.

DNSの設定

毎回IPアドレスを直打ちするわけには行かないので,bindのVPNとNAT接続したときの設定を参照してDNSの設定をしておこう.

以上で,Private LANのどのマシンからでも透過的にVPNにアクセスできるようになった.

参考文献

  • 関連設定
    • 永続的な静的ルーティング
    • 複数ドメインと接続したときの設定
  • 外部情報
    • マイクロソフト エキスパートゾーン インターネット接続の共有
個人用ツール
名前空間

変種
操作
案内
ツールボックス