Создание PPP (VPN) туннеля между Debian / Ubuntu гостевой и хост системой в VirtualBox

Добавить в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru memori.ru moemesto.ru


VirtualBox является платформой для виртуализации (или просто: виртуальная машина) операционных систем (Windows, Linux, Mac OS и т.д.). Установка и минимальная настройка VirtualBox уже освещалась раннее.

Как правило, после установки виртуальной машина возникает необходимость в установке соединения между гостевой и хост системой. Для этого есть множество способов, начиная от простого использования Shared Forleds или проброса портов в гостевую систему и заканчивая полноценной настройкой сети, включающей создание мостов и использование таких утилит, как tunctl, brctl, ip и т.д. Но есть способ гораздо проще.

Итак, допустим, что у нас есть хост машина, на которой установлен Debian, и гостевая машина, на которой установлена Ubuntu.

Установка необходимого ПО для создания PPP (VPN) туннеля в VirtualBox

Устатанавливаем в гостевой и хост системах один и тот же набор утилит: ppp и netcat.

Для этого, необходимо выполнить в хост системе:

user@debian-host$ sudo aptitude install ppp netcat

То же самое необходимо выполнить в гостевой системе:

user@ubuntu-guest$ sudo aptitude install ppp netcat

Создание PPP (VPN) туннеля между гостевой и хост системами в VirtualBox

Для создания PPP (VPN) туннеля между гостевой и хост системами VirtualBox, необходимо сделать два простых действия.

Выполнить в хост системе:

user@debian-host$ sudo pppd noauth local lock nodefaultroute persist debug nodetach 10.1.2.3:10.4.5.6 pty "netcat -l -p 3042"

Незамедлительно выполнить в гостевой системе (пока только что запущенная команда в хост системе не отвалилась по timeout'у):

user@ubuntu-guest$ sudo pppd noauth local lock nodefaultroute persist debug nodetach passive pty "netcat 200.200.200.200 3042"

При этом "200.200.200.200" - это есть реальный IP-адрес хост системы.

Теперь к гостевой системе можно обращаться по адресу 10.1.2.3, а к хост системе из гостевой - по адресу 10.4.5.6. При этом доступны все UDP/TCP порты в каждой из систем.

Проверяем созданный PPP (VPN) туннель между гостевой и хост системами в VirtualBox

Сначала убеждаемся, что PPP-туннель действительно создан.

Для этого смотрим на вывод ifconfig на хост системе. Он должен быть приблизительно таким:

user@debian-host$ sudo ifconfig | grep -A6 ppp
      ppp0      Link encap:Протокол PPP (Point-to-Point Protocol)
      inet addr:10.1.2.3  P-t-P:10.4.5.6  Mask:255.255.255.255
      ВВЕРХ POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:22284 errors:0 dropped:0 overruns:0 frame:0
      TX packets:26816 errors:0 dropped:0 overruns:0 carrier:0
      коллизии:0 txqueuelen:3
      RX bytes:9499906 (9.4 MB)  TX bytes:2668093 (2.6 MB)

Далее, можно проверить доступность гостевой машины.

Результат должен быть приблизительно таким:

user@debian-host$ ping -c 3 10.1.2.3
PING 10.1.2.3 (10.1.2.3) 56(84) bytes of data.
64 bytes from 10.1.2.3: icmp_seq=1 ttl=64 time=0.051 ms
64 bytes from 10.1.2.3: icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from 10.1.2.3: icmp_seq=3 ttl=64 time=0.029 ms

--- 10.1.2.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.029/0.045/0.056/0.012 ms

И наконец, можно попытаться, например, войти в гостевую систему по SSH:

user@debian-host$ ssh 10.1.2.3 -l user
user@10.1.2.3's password:
Linux ubuntu-guest 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/

6 packages can be updated.
0 updates are security updates.

Last login: Thu Jun  1 07:20:38 2009
user@ubuntu-guest$

Вопросы по теме ...

Есть еще вопрос?