Форум программистов, компьютерный форум, киберфорум
Сети и средства коммуникаций
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 28.04.2017
Сообщений: 55
1

Публикация сайта с локальной виртуальной машины в интерент с через VPN wireguard

05.07.2022, 08:39. Показов 775. Ответов 7

Author24 — интернет-сервис помощи студентам
Вводные:
1.Мой компьютер стоит за NAT, и за роутером.
2.На арендованом в интеренте хосте 111.222.333.444 настроен Ubuntu 20.04 с VPN сервером на wireguard. Мои устройства выходят через тунель wireguard в интерент без проблем, минуя модные блокировки.
3.Раз у меня появился свой "белый" IP от хостинга, то хочу, чтобы запросы из интернета по формату http://111.222.333.444:8080/ обрабатывались на виртуальной машине VMware, которая прекрасно себя чувствует в VPN сети под адресом 10.0.0.2
4.Моя цель, чтобы при обращении из интерента к http://111.222.333.444:8080/ шла переброска по тунелю wireguard на виртульную машину Vmware.
Миниатюры
Публикация сайта с локальной виртуальной машины в интерент с через VPN wireguard  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2022, 08:39
Ответы с готовыми решениями:

RDP c локальной машины из вне, через mikrotik (VPN pptp) на локальную машину, возможно?
Всем привет, собственно вопрос. Есть офис, в роли роутера выступает mikrotik, на котором сейчас...

Настроить vpn для виртуальной машины
День добрый! Подскажите можно ли сделать так: есть windows 7 и виртуальная машина (vmware) как...

Создание локальной сети через интерент из двух роутеров
Здравствуйте! Интересует данный вопрос, а именно сделать "виртуальную" локальную сеть из двух...

VPN, из виртуальной сети недоступны некоторые локальные машины
Доброго времени суток. Есть локальная сеть 192.168.1.x, есть впн сервер 192.168.1.2 ras 192.168.2.1...

7
Модератор
Эксперт по компьютерным сетям
11429 / 6998 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
05.07.2022, 09:03 2
Покажите ifconfig -a с поднятым туннелем
0
2 / 2 / 0
Регистрация: 28.04.2017
Сообщений: 55
07.07.2022, 06:13  [ТС] 3
#################### На сервере
Код
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9e:e6:97:8d:70:04 brd ff:ff:ff:ff:ff:ff
    inet xxx.yyy.zzz.162/23 brd xxx.yyy.zzz.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 2a0a:8c40::2b2/32 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::9ce6:97ff:fe8d:7004/64 scope link
       valid_lft forever preferred_lft forever
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.0.0.1/8 scope global wg0
       valid_lft forever preferred_lft forever
    inet6 fd00::1/8 scope global
       valid_lft forever preferred_lft forever
#################### На клиенте
Код
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:21:ee:dc brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.37/24 brd 192.168.1.255 scope global dynamic ens33
       valid_lft 17817sec preferred_lft 17817sec
    inet6 fe80::20c:29ff:fe21:eedc/64 scope link
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:a6:33:35:1c brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
5: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.0.0.2/8 scope global wg0
       valid_lft forever preferred_lft forever
    inet6 fd00::2/8 scope global
       valid_lft forever preferred_lft forever
Надо чтобы при обращении к адресу http://xxx.yyy.zzz.162:8080/ всё пакеты шли к клиенту и обратно.
0
Модератор
Эксперт по компьютерным сетям
11429 / 6998 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
08.07.2022, 11:34 4
Терминология ниже:

Сервер: машина с адресом 10.0.0.2, которая слушает порт 8080
Клиент: машина, которая подключается к серверу на порт 8080
Шлюз: машина с внешним адресом и адресом 10.0.0.1, на которой и настраивается перенаправление порта 8080.

Преднастройка:

Включение маршрутизации пакетов

На сервере:
Код
sudo iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -I INPUT 2 -p tcp --dport 8080 -j ACCEPT
На шлюзе:
Код
sudo iptables -I FORWARD 1 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -I FORWARD 2 -d 10.0.0.2 -o wg0 --dport 8080 -j ACCEPT
Вариант 1.
Обращение к серверу из внешней и локальной сети по внешнему адресу (nat loopback).

На шлюзе:
Код
sudo iptables -t nat -A PREROUTING -d xxx.yyy.zzz.162 -p tcp --dport 8080 -j DNAT --to-destination 10.0.0.2
sudo iptables -t nat -A POSTROUTING -o wg0 -p tcp --dport 8080 -d 10.0.0.2 -j SNAT --to-source 10.0.0.1
Вариант 2.
Обращение к серверу из внешней сети с подменой адреса клиента.

На шлюзе:
Код
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 10.0.0.2
sudo iptables -t nat -A POSTROUTING -o wg0 -p tcp --dport 8080 -d 10.0.0.2 -j SNAT --to-source 10.0.0.1
Вариант 3.
Обращение к серверу из внешней сети без подмены адреса клиента.

На шлюзе:
Код
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 10.0.0.2
На сервере:
Код
route add default gw 10.0.0.1 wg0
https://www.dmosk.ru/instrukti... s-settings
0
2 / 2 / 0
Регистрация: 28.04.2017
Сообщений: 55
10.07.2022, 00:27  [ТС] 5
Всё преустановил

Настроил на пире (сервере)

Код
sudo iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -I INPUT 2 -p tcp --dport 8080 -j ACCEPT

Настроил на интерент-шлюзе
Код
sudo iptables -I FORWARD 1 -m state --state ESTABLISHED,RELATED -j ACCEPT
но при установке на шлюз
Код
sudo iptables -I FORWARD 2 -d 10.0.0.2 -o wg0 --dport 8080 -j ACCEPT
выдало ошибку:

iptables v1.8.4 (legacy): unknown option ""--dport""
Try `iptables -h' or 'iptables --help' for more information.


Оба сервера: арендованный и домашний взаимно пингуются и домашний сервер имеет IP арендованного


В этом XLS файле настройки которые я делаю: схема, две папки по установке и две по настройке
https://docs.google.com/spread... =866812070

Добавлено через 34 минуты
Наверно надо было протокол tcp указать, хотя вроде бы wireguard работает по udp (или только его внутреннее управление ходит по udp)

Сделал так
Код
sudo iptables -I FORWARD 2 -d 10.0.0.2 -o wg0 -p tcp --dport 8080 -j ACCEPT
0
Эксперт по компьютерным сетям
4295 / 1632 / 325
Регистрация: 23.06.2009
Сообщений: 5,815
10.07.2022, 08:15 6
что-то сильно накручено, VPN клиент поднят на самой виртуалке где вебсервер?

по уму, на виртуалке где вебсервер, нужно промаркировать в mangle пакеты пришедшие из туннеля, добавить маршрут через туннель и в ip route rules добавить правило: пакеты с меткой отправлять назад в туннель

а дефолтный маршрут оставить на роутер
Цитата Сообщение от awkozlov Посмотреть сообщение
Настроил на интерент-шлюзе
Цитата Сообщение от awkozlov Посмотреть сообщение
но при установке на шлюз
шлюз это что?
0
Модератор
Эксперт по компьютерным сетям
11429 / 6998 / 1903
Регистрация: 25.12.2012
Сообщений: 29,398
14.07.2022, 01:17 7
awkozlov, решили?
0
2 / 2 / 0
Регистрация: 28.04.2017
Сообщений: 55
14.07.2022, 02:56  [ТС] 8
Да, нашел утилитку nginx там в файле /etc/nginx/sites-enabled/default можно чудеса творить.

Теперь хочу сделать доступ к локальной машине не по ftp, а по http.

Это позволит, через nginx (арендованый за 2 доллара IP) предоставить доступ к файлам домашнего компа.

Ну типа Яндекс.Диск, только без ограничения размера и с домашней локацией.

Это же круто сделать через VPN доступ к файлам домашнего компа отовсюду.

Но предчустивие, что-то не очень.

Вот нашёл статью https://admin812.ru/faylovyiy-server-iz-nginx.html

, но совет не работает, пишет 403 т.е. ему нужен файл indeх.php в папке с файлами для расшаривания.

Наверно надо php изучить, чтобы он делал списки файлов из папки, которая подлежит публикации в интрнете.
0
14.07.2022, 02:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2022, 02:56
Помогаю со студенческими работами здесь

Автокопирование из локальной папки виртуальной машины в папку локального хранилища компьютера
Ребята, подскажите, как устроить автокопирование из локальной папки виртуальной машины в...

Создание vpn - Разобраться в вопросе создания виртуальной локальной сети
доброго времени суток. Можете пожалуйста помочь разобраться в вопросе создания виртуальной...

Создание виртуальной машины через Vagrant
Здравствуйте. Сразу скажу, что только учусь. Хочу создать виртуальную машину в Vagrant (простите,...

Запуск виртуальной машины через API
Если честно, не знаю даже как сформулировать правильно свой вопрос, я новичок. У меня арендована...

Сообщение не доходит до виртуальной машины через сокет
Здравствуйте! У меня есть две машины: 1) основная на которой есть клиент 2) виртуальная на...

Связь через TServerSocket и TClientSocket виртуальной машины и основной ОС
Здравствуйте. Пробую написать клиент-серверное приложение. Пользуюсь компонентами ClientSocket и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru