@unsstrennen

Как реализовать доступ к локальному веб-серверу за NAT через VPS?

Дано: локальная сеть, находящаяся за NAT провайдера, в ней малина, на ней веб-сервер. К нему нужно получать доступ из любой точки мира. Я не эксперт (почему и обращаюсь в сообщество), но, кажется, чтобы оно работало, нужно проложить канал связи между VPS, которая будет выступать в роли посредника и непосредственно моего сервера. VPS есть. Представляю себе это как-то так:

*На клиенте указываю ip VPS и определенный порт
*VPS просто передает каким-то магическим образом данные на веб-сервер, пропуская их через себя.
Как я могу это реализовать? Вероятно, я говорю о пробросе портов за nat провайдера, но тут сообществу виднее.
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@none7
Для начала поднять между малинкой и vps VPN вроде такого.
Выполнить на vps команду echo 1 > /proc/sys/net/ipv4/ip_forward чтобы ядро перенаправляло сетевой трафик.
Для того чтобы firewall не блокировал транзитный трафик
iptables -A FORWARD -o $vps_main_interface -j ACCEPT
iptables -A FORWARD -o $wireguard_interface -j ACCEPT

Основной NAT
iptables -t nat -A POSTROUTING -o $vps_main_interface -j MASQUERADE

Проброс портов
iptables -t nat -A PREROUTING -p tcp -i $vps_main_interface --dport 80 -j DNAT --to $client_ip
.
Как это прописать, чтобы всё сохранялось после перезагрузки зависит от дистрибутива. Также это упрощённая "магия" может сломаться по различным причинам и для того, чтобы разобраться почему это произошло, нужно, чтобы это перестало быть для Вас магией.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Zzzz9
Разместить сайт на VPS.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы