Совместное использование VPN-подключения от гостя к хосту

Я заметил, что есть несколько похожих вопросов, но ни один не заставил меня достичь цели.

Моя цель - подключить мой компьютер с Ubuntu к удаленной контрольной точке VPN. Похоже, что VPN-клиент не существует для прямого подключения.

Что я сделал:

  1. Я создал виртуальную машину Windows локально с Oracle VirtualBox.
  2. Я подключаю гостя к VPN.

В качестве шага 3 я хотел бы подключить хост к гостевой VPN, но я не смог этого добиться.

Я настроил сеть NAT и сеть только для хоста:

  • Ведущий: Ubuntu 16.04
  • Гость: Win 10 Home
  • Сеть только для гостевого хоста: ipv4 192.168.56.101 gw 192.168.56.1 sub 255.255.255.0

  • Oracle VirtualBox 5.2.8

  • Целевой пример VPN-подсети: 123.123.0.0/24

Я попытался отредактировать свой шлюз по умолчанию (хост) как Как использовать VPN-соединение в гостевой виртуальной машине VMWare с хостом:

sudo add route default 192.168.56.101

... выглядит хорошо, но не работает.

Я пытался сохранить маршрут в /etc/networking/routes 123.123.0.0 255.255.255.0 192.168.56.101 any

... до сих пор не работает.

Я пробовал с iptables:

FORWARD
ACCEPT     all  --  123.123.0.0/24        anywhere             ctstate NEW
ACCEPT     all  --  anywhere              anywhere             ctstate RELATED,ESTABLISHED

Я попробовал это https://www.expressvpn.com/support/vpn-setup/share-vpn-connection-windows/ от гостя, но по какой-то причине не могу запустить размещенную сеть.

У меня сейчас действительно нет идей. Я могу настроить другой физический компьютер Windows на том же WiFi, если это может помочь.

РЕДАКТИРОВАТЬ:

Сначала я действительно попробовал snx решение, это то, что отображает консоль

# snx -s 123.123.123.123 -u username -g
Check Point's Linux SNX
build 800005013
Please enter your password:

SNX: Authentication failed

пока это логи в snx.elg

[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] exists_in_buf: returning 1
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] snx_browser::Receive: state==FIRST_REQ
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] search_for: searching for SESSION_ID= and  ;
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] search_for: prefix not found!
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] parse_page_for_sessionid: session_id not found!
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] snx: quit.
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] snx_browser::~snx_browser: called
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] talkssl::~talkssl: delete link
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] talkssl::end_handler: ending connection
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] snx_browser::Failure: entering with code: 2
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] got link down!- exit
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] talkssl::~talkssl: end
[ 17505 -140036352]@riccardo-notebook[11 May  8:34:03] done

3 ответа

Что касается ошибки, которую вы имеете с snx, я думаю, что вы используете неправильную сборку. AFAIK (по прямому опыту), сборка 800007075 должна работать.

Смотрите этот пост Супер пользователя.

Это не будет работать, если VPN-сервер не настроен на раздельное туннелирование. В этом случае его VPN-соединение не может использоваться совместно с другими компьютерами.

Мне очень странно, что вы не можете найти VPN-клиент Checkpoint для Ubuntu.

Ознакомьтесь с этой статьей сообщества Checkpoint, в которой приведены ссылки и инструкции для доступа к Checkpoint VPN.

Одна из ссылок, которую он предоставляет, - на статью CheckPoint SNX по установке для основных дистрибутивов Linux, в которой говорится:

Начиная со сборки 800007075 Checkpoint больше не поддерживает использование собственного клиента в командной строке. Это предотвращает вход в систему с помощью сценариев, а также требует тяжелого рабочего стола, когда мы смогли выжить с автономным сервером. Доступ по-прежнему возможен, но только через "SSL Network Extender". Это серьезная проблема, поскольку для ее работы требуется (из моего опыта) X-сервер, Oracle Java и браузер FireFox.

Инструкции, которые статья дает для Ubuntu 15.04 Vivid Vervet, приведены ниже. Адаптируйте их к своей версии Ubuntu.

Мы собираемся установить ppa для получения java, изменить пароль root и установить некоторые дополнительные библиотеки, необходимые для запуска контрольной точки.

sudo su -
passwd
add-apt-repository -y ppa:webupd8team/java
apt-get update
apt-get install oracle-java9-installer libstdc++5:i386 libpam0g:i386 libx11-6:i386
java -version

Нажатие "connect" откроет окно xterm, которое загрузит и запустит собственный скрипт install.sh. Вам нужно будет ввести пароль root, который вы установили ранее, sudo не будет работать.

Теперь, наконец, попробуйте Connect > Continue > Accept Key, и вы должны подключиться.

Прочитайте всю мою первую ссылку для получения дополнительной информации и других методов, чтобы заставить Checkpoint VPN работать.

Я написал статью, описывающую, как разделить соединение между гостем и хостом:https://krasovs.ky/2021/04/26/checkpoint-snx-adventure.html .

Самое сложное — это NAT. Вам нужно настроить snat, простой маскарад не помогает:

      GATEWAY=$(ip -o -4 addr show tunsnx | awk '{printf $4}')
nft add rule inet nat postrouting oifname "tunsnx" ip daddr 10.0.0.0/8 snat ip to $GATEWAY

Также, чтобы сделать его более гибким, я использовал WireGuard на хосте и госте для совместного использования соединения.

Другие вопросы по тегам