ホストオンリーアダプタを備えたVirtualBox LinuxゲストのOpenVPNサーバー

ホストオンリーアダプタを備えたVirtualBox LinuxゲストのOpenVPNサーバー

VPN として機能する VirtualBox 仮想マシンをセットアップする必要があります。Vagrant を使用して、Ubuntu 14.04 LTS クライアント上に VM を作成しています。Ubuntu 14.04 LTS サーバー上の VPN サーバーとして OpenVPN を使用しています。

OpenVPN は 10.8.0.0/255.255.255.0 ネットワークで動作するように設定されています。VPN サーバー自体は 10.8.0.1 です。OpenVPN を起動して接続すると、どのログ ファイルにもエラーは表示されません。

Vagrant を「パブリック ネットワーク」を使用するように構成すると、VPN に接続して VPN サーバーに ping を実行できるようになります。

ping 10.8.0.1 # ok

Vagrantを「プライベートネットワーク」(静的に定義された192.168.50.42 IP)を使用するように構成すると、VPN には接続できますが、VPN サーバーに ping できなくなりましたVPN アドレス (10.8.0.1) を使用しようとするもの (SSH、HTTP など) はすべて失敗します。

ping 10.8.0.1 # ko

VPN クライアント上の ifconfig:

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:10278 errors:0 dropped:0 overruns:0 frame:0
      TX packets:10278 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:920543 (920.5 KB)  TX bytes:920543 (920.5 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:21 errors:0 dropped:0 overruns:0 frame:0
      TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:100 
      RX bytes:7192 (7.1 KB)  TX bytes:87424 (87.4 KB)

vboxnet0  Link encap:Ethernet  HWaddr 0a:00:27:00:00:00  
      inet addr:192.168.50.1  Bcast:192.168.50.255  Mask:255.255.255.0
      inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:486 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:63895 (63.8 KB)

wlan0     Link encap:Ethernet  HWaddr 34:68:95:ee:01:75  
      inet addr:192.168.40.45  Bcast:192.168.40.255  Mask:255.255.255.0
      inet6 addr: fe80::3668:95ff:feee:175/64 Scope:Link
      inet6 addr: 2a01:e35:8af4:2240:ad1b:a074:194:ce3f/64 Scope:Global
      inet6 addr: 2a01:e35:8af4:2240:3668:95ff:feee:175/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:38051 errors:0 dropped:0 overruns:0 frame:26967
      TX packets:26737 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:43426256 (43.4 MB)  TX bytes:3423106 (3.4 MB)
      Interrupt:19 

VPNクライアント上のルート:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.40.254  0.0.0.0         UG    0      0        0 wlan0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun0
192.168.40.0    *               255.255.255.0   U     9      0        0 wlan0
192.168.50.0    *               255.255.255.0   U     0      0        0 vboxnet0
192.168.50.42   192.168.40.254  255.255.255.255 UGH   0      0        0 wlan0

ここで興味深い部分があります。最後のルートを削除すると、ping が機能するようになります。

route del -net 192.168.50.42 gw 192.168.40.254 netmask 255.255.255.255 dev wlan0

問題は次のとおりです:

  • このルートは、VM をリセットするたびに (おそらく vagrant up を実行するたびに) 戻ります。
  • Windowsクライアントでどのように動作するかは分かりません
  • これをできるだけ自動化する必要があります

質問:

  • VPN サーバーにアクセスできるようにするには、別のネットワーク上のまったく関係のないルートを削除する必要があるのはなぜですか? (これは、VPN サーバーに接続するために使用する IP と関係があると思います...)
  • これをどうすれば修正できますか?

ありがとう、

関連情報