@spazmoGnom
Absolutely regular man

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

Хочу сделать так, чтобы я мог подключиться к устройству в локальной сети стоящим за NAT (нет белого IP) из интернета через купленный у провайдера сервер/vps.

Имеется компьютер (назовём его К1) на локальном адресе 192.168.1.10 к примеру. И есть своя VPS с белым IP (пусть будет 88.77.66.55). Требуется сделать так, чтобы у К1 порты 80, 443, и все порты с 1000 по 65535 были видны по адресу VPS с соответствующим портом. Всё локальное дело стоит за keenetic ultra роутером, хотя могу добавить mikrotik hap или другой необходимый роутер до 3-4к ценой (но если есть возможность без оного - будет замечательно)

То есть делаю запрос на 88.77.66.55:8080 и я получаю ответ от K1 с 8080 порта. И все остальные порты так же.

Есть ли у кого готовый туториал как такое настроить или можете посоветовать куда начать копать и в какой стороне (может статьи какие) или какой функционал может помочь мне решить эту потребность?
  • Вопрос задан
  • 355 просмотров
Решения вопроса 2
@dronmaxman
VoIP Administrator
Тебе необходимо
- поднять VPN между 88.77.66.55 и 192.168.1.10
- пусть адреса внутри VPN будут 10.200.200.1 и 10.200.200.2
- настроить проброс с адреса 88.77.66.55 на 10.200.200.2

В качестве VPN рекомендую Wireguard, самый просто в настройке.

Ниже примерный минимального конфига, не забываем про безопасность (закрыть ненужные порты). Не забудь поменять $WAN$ на свой интерфейс. Важно, что бы при пробросе портов весь трафик от 192.168.1.10 ходил через VPN или использовать на 88.77.66.55 nginx-proxy.

spoiler

https://habr.com/ru/post/486452/
### Install the WireGuard and WireGuard tools.
sudo apt install wireguard-dkms wireguard-tools

### Enable the WireGuard kernel module and check the status
sudo modprobe wireguard && lsmod | grep wireguard

### Generate keys
wg genkey | tee wg-server-private.key | wg pubkey > wg-server-public.key
wg genkey | tee wg-client-private.key | wg pubkey > wg-client-public.key

### Server config /etc/wireguard/wg0.conf
[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = $wg-server-private.key$

[Peer]
PublicKey = $wg-client-public.key$
AllowedIPs = 10.200.200.2/32

### Restart server wg
sudo systemctl restart wg-quick

### Client config
[Interface]
PrivateKey = $wg-client-private.key $
Address = 10.200.200.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = $wg-server-public.key$
AllowedIPs = 0.0.0.0/0
Endpoint = 88.77.66.55:51820

## Allow Forward
sysctl -w net.ipv4.ip_forward=1

### Firewall
iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o $WAN$ -j MASQUERADE
iptables -t nat -A PREROUTING -i $WAN$ -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.200.200.2
iptables -t nat -A PREROUTING -i $WAN$ -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.200.200.2
Ответ написан
Jump
@Jump Куратор тега Системное администрирование
Системный администратор со стажем.
  1. Поднимаете на VPS с белым IP VPN сервер. Любой удобный вам.
  2. Настраиваете на устройстве К1 с серым IP VPN клиент, чтобы он подключался к VPN серверу автоматически.
  3. В настройках фаервола VPS пробрасываем нужные порты на IP адрес К1 в VPN.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
ky0
@ky0 Куратор тега Системное администрирование
Миллиардер, филантроп, патологический лгун
Это делается не прокидыванием портов "с адреса VPS", а банальной настройкой VPNа - чтобы оба устройства, между которыми нужна передача данных, оказались в одной сети. Берите любой гайд с Хабра, хоть OpenVPN, хоть Wireguard.
Ответ написан
@Karpion
Если NAT делает подвластное Вам устройство - можно настроить проброс портов внутрь сети. Сделать это можно для всего мира (т.е. любой желающий сможет законнектиться к устройству в локальной сети); или не для всех, а для избранных IP-адресов.

Можно настроить не проброс портов, а SSh-туннель. Мануал есть на Хабре, искать по слову "ssh". Инициировать SSh-туннель может и Ваш VPS, и устройство в локальной сети.

Можно настроить VPN от устройства в локальной сети к Вашему VPS. Инициировать VPN-соединение должно устройство в локальной сети.
Ответ написан
Комментировать
Maxlinus
@Maxlinus
VPN
SSH tunnel
Ответ написан
Комментировать
pindschik
@pindschik
ФЫВА ОЛДЖ
Решайте задачу в обратную сторону. Подключайтесь в белому IP вашего VPS, и задним ходом получите доступ в локалку.
Только сперва убедитесь - не режет ли провайдер такие подключения. VPN - обычно это отдельная услуга и вам ее не дадут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы