読者です 読者をやめる 読者になる 読者になる

サーバの繋がり、ルーティング、そして

オッス!オラオープン部位ピーエヌ!みんな元気にしてっか?

外出先からオフィスに繋ぎたい、そんな瞬間、みんなあるよな!
そういう時は大体みんな社内にOpenVPNサーバ立てて
そこに向かって \ 部位ピーエヌ! / って叫びながら繋ぐと思うんだけど
その設定入れた時にハマったのでメモしておくんだぜ。

構成

+-- オフィス -------+
|                   |
|  192.168.0.0/24 サーバ [10.8.0.0] <===> [10.8.0.4] クライアントPC
|                   |
+-------------------+

サーバ

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 6

クライアントPC

client
dev tun
proto udp
remote サーバIPアドレス 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
pull
nobind

このような設定をいれたとして、VPNは接続できたのに
社内のサーバにアクセスできねーじゃねーかボーイ!
って混乱することがあるよな!!

そんな時は素数を数えて落ち着きながらよく考えるんだ
「どのIPアドレスからアクセスされてるのか」をな!!!

クライアントPC -> サーバ -> 社内サーバ

にアクセスしてるんだからアクセス元はサーバのIPだろボーイ!

ノンノンノンノン。

正解は、10.8.0のセグメントだよボーイ!!!

つまり、アクセスしたいサーバに事前に

$ route add -net 10.8.0.0/24 gw OpenVPNサーバのインターナルIP

って書いてやらなきゃ戻りパケットがどこに行ったらいいのかわからないんだよ!!!
わからない時はどこに行くかって?ゲートウェイだろウェーイ!

だからよ、社内ネットワークのゲートウェイルータに上のルーティング書いてやれば
サーバ毎にスタティックルート書かなくてもいいんだよボーイ。

以上、自分用メモでした。