背景と目的

このVPNに要求されているのは次の二点である

  1. 2Fと3Fに分断されているサブネットを接続する
  2. 外部からssh経由で、内部のネットにアクセスできるようにする

2Fと3FにそれぞれOpenVPNのサーバとクライアントを置き、
その間のトンネルを経由してVPNに参加しているマシン以外の端末からも
VPNの向こうのサブネットが見えるようにする


またsshゲートウェイから2Fのゲートウェイsshのポートフォワードで
トンネルを張り、2FのゲートウェイからNAT越しにOpenVPNのポートを
VPNサーバへ転送することで、外部からの接続を許す


といった形にしよう、と


図にするとこのような感じ

global web -----
 |             |
 |             |
 |          ssh gateway
 |          ip.of.ssh.gw
 |             |
 |             |
 |    -----------------------------------
 |      |                             |
 |      |                             |
 |   2F gateway                     3F gateway
 |   ip.of.2f.gw                    ip.of.3f.gw
 |      |                             |
 |      |                             |
 |   ---2F subnet------------       ---3F subnet------------
 |   | 172.16.131.0/24  |           | 172.16.133.0/24   |
 |   |                  |           |                   |
 |  machineA          OpenVPN       OpenVPN           machineB
 |                    server        client
 |                172.16.131.xxx    172.16.133.yyy
 |                         |          |
 |                         |          |
OpenVPN                    |          |
client                     |          |
     |                     |          |
     |                     |          |
    --------Virtual Private Network--------------
             10.8.0.0/24


懸念としては2の外部からの接続では、
sshトンネルとOpenVPNで二重にTCP over TCPになるため、
パケットが輻輳する危険性が高いこと、だろうか。
外部からの接続の需要はそれほど高くないはずなので、
動かしてみて問題があるような停止するものとしておく。