Как ходить на сайт через VPN, поднятый на виртуалке

12
Александр Фролов
На сайте с 27.12.2007
Offline
155
2771

Проблема:

Удаленный разработчик сидит на динамическом IP, ему нужно предоставить доступ к виртуальной машине FreeBSD и сайтам, один http, другой https. И виртуалка, и сайты, открыты через ipfw только для определенных адресов IP по соображениям безопасности. Сайты работают на других серверах, не на виртуалке разработчика.

Установил на виртуалке OpenVPN, так что проблема доступа к виртуалке с динамических IP через SSH решена. Подскажите, пожалуйста, как мне теперь через VPN настроить доступ к сайтам, работающим на нестандартных портах и на других серверах, и доступ к которым тоже ограничен по IP?

Пробовал через nginx, не сумел разобраться с SSL.

Может есть какой-то другой, более правильный способ, например, сделать NAT с переадресацией?

Есть ли какие-нибудь инструкции по настройке NAT для решения подобной задачи?

Спасибо!

Himiko
На сайте с 28.08.2008
Offline
560
#1

Так в чём проблема?

Если VPN работает с выходом "наружу", то на других серверах разрешите доступ с ip-адреса виртуалки с VPN.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
Александр Фролов
На сайте с 27.12.2007
Offline
155
#2
Himiko:
Так в чём проблема?
Если VPN работает с выходом "наружу", то на других серверах разрешите доступ с ip-адреса виртуалки с VPN.

Да, это мы сделали. Проблема вот в чем.

Разработчик обращается к ресурсу по адресу вида: https_://developer.domain.ru:6678/, со своего домашнего компьютера, у которого динамический IP от провайдера и IP от VPN вида 10.12.1.3.

При этом браузер пытается загрузить https_://developer.domain.ru:6678/, отправляя запрос с динамического IP домашнего компьютера. А хочется сделать так, чтобы запрос шел с адреса IP виртуалки, через VPN. Тогда мы действительно можем открыть доступ для внешнего IP виртуалки и все будет хорошо.

Т.е. браузер не ходит на сайт через VPN и виртуалку, а ходит напрямую... В этом трабл.

DV
На сайте с 01.05.2010
Offline
644
#3
Александр Фролов:
При этом браузер пытается загрузить https_://developer.domain.ru:6678/, отправляя запрос с динамического IP домашнего компьютера.

Почему так получилось? Значит, VPN не совсем и VPN. Браузер тоже должен заворачиваться в туннель.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
Александр Фролов
На сайте с 27.12.2007
Offline
155
#4

Вообще я просто установил OpenVPN GUI по инструкции, добавил сертификаты. После подключения я могу обращаться к виртуалке через SSH, указывая PuTTY адрес вида 10.12.1.3. Может надо делать что-то специальное, чтобы браузер отправлял запросы через сеть VPN и с адреса VPN, а не через сеть локального провайдера и его IP?

Тут еще такой момент - сервер https_://developer.domain.ru:6678/ не находится в сети VPN и не будет туда добавлен. Тут нужен какой-нибудь прокси, наверное?

DV
На сайте с 01.05.2010
Offline
644
#5

Александр Фролов, вообще не знаю, как заставить браузер ходить через VPN, если он почему-то не ходит. В последний раз (2008-й год) без танцев с бубнами все программы ходили сразу. Прогуглите вопрос, должно быть решение.

А как самый простой способ — поднять локальный сокс и туннелировать трафик браузера по SSH на VPN сервер. Хоть с помощью Putty, хоть plink, хоть MyEnTunnel. Firefox может ходить через сокс, остальным вроде бы соксификатор нужен, наподобии Proxifier.

G
На сайте с 27.01.2012
Offline
20
#6

Как настраивался сервер OpenVPN? Вы можете показать лог подключения из OpenVPN GUI? Могу предположить, что сервер не пушит на клиент default gateway. Было бы здорово взглянуть и на конфиг сервера.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#7
DenisVS:
Почему так получилось? Значит, VPN не совсем и VPN. Браузер тоже должен заворачиваться в туннель.

Вообще-то никто никому ничего не должен, заворот трафика в тунель происходит путем роутинга, который в общем-то может и не создаваться при поднятии интерфейса тунеля....

Другими словами тс-у надо завернуть developer.domain.ru в гетвей тунеля.

Читаем про команду route.

---------- Добавлено 23.05.2014 в 13:44 ----------

Александр Фролов:
Вообще я просто установил OpenVPN GUI по инструкции, добавил сертификаты. После подключения я могу обращаться к виртуалке через SSH, указывая PuTTY адрес вида 10.12.1.3. Может надо делать что-то специальное, чтобы браузер отправлял запросы через сеть VPN и с адреса VPN, а не через сеть локального провайдера и его IP?

Тут еще такой момент - сервер https_://developer.domain.ru:6678/ не находится в сети VPN и не будет туда добавлен. Тут нужен какой-нибудь прокси, наверное?

Вам Роутинг нужен, а не прокси.... и уж тем более не NAT ;)

На стороне компьютера который является клиентом VPN посмотрите "route print" если там винда конечно (и естественно в момент когда вы подключены по VPN). Можете вывод запостить сюда. Я полагаю что вам необходимо нечто типа этого:


route add ip-developer.domain.ru mask xxx.xxx.xxx.xxx VPN-GW-IP

Это как раз таки и будет поворачивать трафик к ip-developer.domain.ru в шлюз на стороне VPN.

🍿

---------- Добавлено 23.05.2014 в 13:45 ----------

geeque:
Как настраивался сервер OpenVPN? Вы можете показать лог подключения из OpenVPN GUI? Могу предположить, что сервер не пушит на клиент default gateway. Было бы здорово взглянуть и на конфиг сервера.

Нужен ли ему deault gw ? ;) У него весь интернет повернет в тунель ;))) Связь с миром отвалится :)))

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
G
На сайте с 27.01.2012
Offline
20
#8

Romka_Kharkov, связность с внешним миром не пропадет. Не хочу сейчас объяснять принципы маршрутизации в этом конкретном случае, но - в default gateway попадет трафик только до самой общей маски пакетов - 0.0.0.0. Трафик до P-t-P-интерфейса туннеля описан в таблице на момент подключения, и маска у него точнее, чем 0.0.0.0/0, поэтому ничего ужасного не произойдет.

Впрочем, топикстартеру действительно будет достаточно в конфигурацию сервера добавить что-то вроде

push "route 1.1.1.1"

где 1.1.1.1 - адрес сервера с сайтом. Дефолт здесь и не нужен.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#9

geeque, утверждать не буду, так как это зависит от того, какой набор роутинга будет выставлен при поднятии интерфейса, но мир таки отвалится может, если придет default gw И будет установлен для 0.0.0.0/0 .... иначе какой же он Default Если он только для подсети связи клиента и сервера :)

L
На сайте с 29.10.2006
Offline
110
#10

Есть 2 способа:

1. Как говорили выше - заворачиваем весь трафик в VPN туннель. Смотрите опцию redirect-gateway def1 в конфиге клиента. Но тогда и заботьтесь, чтобы инет не пропал, и на стороне сервера нужно делать NAT наружу.

2. В файле hosts разработчкика указать IP-адрес ресурса как VPN-овский. Соответственно, он будет ходить везде со своего адреса, а к нужному ресурсу через VPN

Думаю способа 2 будет достаточно. Если что - пишите, попробуем разобраться.

SeBlock (/ru/forum/851994) - программа для ведения проектов по НЧ/СЧ. Буду рад отзывам/комментариям.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий