호스트 전용 어댑터가 있는 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

"개인 네트워크"(정적으로 정의된 192.168.50.42 IP 사용)를 사용하도록 Vagrant를 구성하면여전히 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

흥미로운 부분은 다음과 같습니다. 마지막 경로를 삭제하면 핑이 작동합니다.

route del -net 192.168.50.42 gw 192.168.40.254 netmask 255.255.255.255 dev wlan0

문제는 다음과 같습니다

  • 이 경로는 VM을 재설정할 때마다 돌아옵니다(제가 방랑을 할 때마다 생각합니다).
  • Windows 클라이언트에서 어떻게 작동할지 모르겠습니다.
  • 가능한 한 자동화되어야 합니다.

질문:

  • VPN 서버에 접근하려면 다른 네트워크에서 전혀 관련이 없는 경로처럼 보이는 것을 삭제해야 하는 이유는 무엇입니까? (이건 VPN 서버에 연결하는 데 사용하는 IP와 관련이 있는 것 같습니다...)
  • 이 문제를 어떻게 해결할 수 있나요?

감사합니다,

관련 정보