Совместное использование VPN-подключения от гостя к хосту
Я заметил, что есть несколько похожих вопросов, но ни один не заставил меня достичь цели.
Моя цель - подключить мой компьютер с Ubuntu к удаленной контрольной точке VPN. Похоже, что VPN-клиент не существует для прямого подключения.
Что я сделал:
- Я создал виртуальную машину Windows локально с Oracle VirtualBox.
- Я подключаю гостя к 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 на хосте и госте для совместного использования соединения.