プロキシ下でも動作するSSL-VPNをOpenVPNを用いて構築する
例えば80番や443番などしか通過させないようなプロキシが強制的に導入されている環境(たとえば会社や公衆無線LANサービス)では、通常のようにVPN接続を行うことが出来ない。
よく使われる方法は、softetherを用いる方法である。ただ、Softetherをわざわざ使うのが面倒であるのなら、OpenVPNを443/tcpで動かしてしまえば良い。
SSLHを導入する
sslhは、443ポートをSSHの待ち受けにも、Apacheの待ち受けにも、OpenVPNの待ち受けにも分けてくれる魔法のソフト。
以下のページを参考にインストールをして欲しい。
OpenVPNを導入する
今回はOpenVPNを用いる。
OpenVPNを用いたVPNサーバーの立て方は、下記のページにて詳細を説明している。
OpenVPNのproto設定を変更する
先ほどのsslhの設定では、
--openvpn 127.0.0.1:1194
とした。つまり、443に入ってきたopenVPNの通信は、1194ポートに飛ばすという形だ。従って、openvpnはtcpの1194で動かすこととなる。
openvpnのserver.confのうち、portとprotoを次のように変えてあげる。
port 1194
proto tcp
OpenVPNクライアントの設定を変更する
クライアント用の「ovpn」ファイルに関して、次のように変更をしてあげる。
client
dev tun
proto tcp
remote サーバーのアドレス 443
ここで重要なのは、本当のポートである「1194」ではなく、443と記入すること。これで、sslhが自動的にこの通信をOpenVPNに引き継ぎ、処理が行われる。
これらの設定を用いれば、限られたポートでの通信しか許可されていない場合でも、VPN回線を張ることで自由に通信を行うことが可能だ。