Задать вопрос
@hypertonyc

Существует ли простое решение проброса порта без поднятия VPN-сервера?

Разрабатываем сервис(на винде), который слушает определенный tcp порт. Сервис развернут на локальном сервере. Сервер за NAT, имеет доступ в интернет, но провайдер предоставляет серый IP. Появилось подразделение в другом городе, которое также должно работать(тестировать, иметь доступ) к этому сервису. Пока обходимся ngrok'ом, но он каждый раз присваивает новый адрес/порт публикуемому порту, что неудобно по ряду очевидных причин. В распоряжении имеются сервера с белыми IP (и виндовые и линуксовые), есть ли простое решение, которое решит нашу проблему? Т.е. нужно что-то типа серверной части NGROK'а, которую мы установим на сервер с белым IP...к нему подключится какая-то клиенсткая часть(виндовая!), в которой настроено, какой порт нужно пробросить и эта связка поможет видеть tcp порт локального сервера.
P.S.
Эх.я думал может есть какое готовое решение, ситуация ж тривиальная вроде. Наверное самое стабильное решение объединить всех в одну vpn-сеть.
  • Вопрос задан
  • 437 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
IlyaEvseev
@IlyaEvseev
Opensource geek
Примерно так:
#!/bin/sh

WAN_IFACE="$(ip route get 8.8.8.8 | awk '/ dev / { print $5; exit }')"
   WAN_IP="$(ip route get 8.8.8.8 | awk '/ src / { print $7; exit }')"
SSH_PORT="22"

CLIENT_1="1.2.3.4"
CLIENT_2="5.6.7.8"

iptables -t nat -A PREROUTING  -i $WAN_IFACE -s $CLIENT_1 -p tcp '!' --dport $SSH_PORT -j DNAT --to-destination $CLIENT_2
iptables -t nat -A PREROUTING  -i $WAN_IFACE -s $CLIENT_2 -p tcp '!' --dport $SSH_PORT -j DNAT --to-destination $CLIENT_2

iptables -t nat -A POSTROUTING -o $WAN_IFACE -d $CLIENT_1 -p tcp -j SNAT --to-source $WAN_IP
iptables -t nat -A POSTROUTING -o $WAN_IFACE -d $CLIENT_2 -p tcp -j SNAT --to-source $WAN_IP

iptables -A FORWARD -s $CLIENT_1 -d $CLIENT_2 -j ACCEPT
iptables -A FORWARD -s $CLIENT_2 -d $CLIENT_1 -j ACCEPT
Ответ написан
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
https://ngrok.com/docs#tcp
ngrok tcp --remote-addr 1.tcp.ngrok.io:20301 22

Стоит это всё $8/month
Ответ написан
Ваш ответ на вопрос

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

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