OpenVPNを使って出先から自宅へアクセスするときの設定。
- 基本的にはOpenVPN 2 HOWTO 日本語訳 通りに進める
- IPアドレス
- 出先からアクセスしたい自宅マシンたちには固定IPアドレスを割り当てる。必須ではないがDHCPだとかなり面倒になる。
- 自宅と出先で異なるアドレス空間にする。でないと出先で192.168.0.cにアクセスしようとしても、出先ルータ直下の192.168.0.cへアクセスを試み、VPNが使用されない。
- 自宅ルータが出先と同じアドレス空間を張っていてもよい。自宅マシンたちが出先とはかぶらないアドレス空間に属するIPアドレスを持っていればよい。図のように各マシンに複数のIPアドレスを割り当てるのがひとつの方法。
- 自宅ルータの設定
- 外部からのOpenVPN接続に対してOpenVPNサーバの適切なポート(通常1194)へフォワードする。
- インターネット側のIPアドレス(my.global.ip.address)が固定で無い場合は、DDNSサービスなどを使用する。
- 自宅OpenVPNサーバの設定
- ファイアーウォールがOpenVPNの受信を妨げないように設定する。
- Server系以外のWindows (XP, Vista, 7など)はIPルーティングを有効にする 。具体的にはレジストリHKEY_LOCAL_MACHINE のSYSTEM¥CurrentControlSet¥Services¥Tcpip¥Parameters¥IPEnableRouterの値を1にしてWindows再起動。これをやらないとOpenVPNサーバ(10.8.0.1)にしかアクセスできなくなる。
- OpenVPNサーバ設定ファイル
- push "route 192.168.1.0 255.255.255.0"を設定することで、自宅の192.168.1.0/24のマシンたちにアクセス可能。
port 1194 proto tcp dev tun dev-node Tap1 ca ca.crt cert myhome.crt key myhome.key dh dh1024.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "route 192.168.1.0 255.255.255.0" keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log verb 3
client dev tun proto tcp remote myhome.global.ip.address 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert mycert.crt key myhome.key comp-lzo verb 3
Comments