VPN Port Forwarding

Цель 127.0.0.1:80 port forwarding to vps-ip:80 (для примера)
Интернет на 127.0.0.1 при этом остается обычным от провайдера, с vps не берется
Подскажите, может кто встречал скрипт/софт для настройки подобного, в идеале еще и учетом реалий блокировки по протоколам?

Платные/триал решения не интересуют.

xray через dokodemo-door, sing-box через direct, stunnel, hysteria2 через udpForwarding и tcpForwarding должны уметь что вы хотите

пример xray

"inbounds": [
        {
            "listen": "0.0.0.0",
            "port": 1,
            "protocol": "dokodemo-door",
            "settings": {
                "address": "127.0.0.1",
                "network": "tcp,udp",
                "port": 50090
            }
        }
    ],

sing-box direct

"inbounds": [
		{
            "listen": "0.0.0.0",
            "listen_port": 1,
            "network": "tcp",
            "override_address": "127.0.0.1",
            "override_port": 50090,
            "tag": "direct-in2",
            "type": "direct"
        },
        {
            "listen": "0.0.0.0",
            "listen_port": 1,
            "network": "udp",
            "override_address": "127.0.0.1",
            "override_port": 50090,
            "tag": "direct-in2",
            "type": "direct"
        }
    ],

локальный порт 1 = удаленный порт 50090
это часть конфига, вы сами должны поднять сервер и добавить outbounds в конфиг.

или, если у вас уже поднят VPN, то можно использовать freedom/direct outbound (стандартный инет, без заворачивания в туннель) и параметр sendThrough в xray (или bind_interface в sing-box), в который можно прописать локальный ip адрес интерфейса/название интерфейса, если у вас уже поднят VPN, и трафик пойдёт через него

Не очень понял постановку задачи, причём тут VPN.
Возможно вам поможет данный пример конфигурации менеджера туннелей GOST для windows:

services:
# Port forwarding
- name: service-Wintun-Forwarder
  addr: "127.0.0.1:80"
  interface: "OpenVPN Wintun"
  handler:
    type: udp
  listener:
    type: udp
    metadata:
      keepAlive: true
      ttl: 5s
  forwarder:
    nodes:
    - name: target-vps
      addr: 198.51.100.1:80

Тут в interface необходимо вписать название виртуального интерфейса VPN, если вы хотите через него форвардить.

https://portmap.io/ и похожие платные сервисы работают через vpn туннель

Если нужен reverse forwarding, то есть:
Public SSH Jump & Port Forwarding Server (onion)
Есть ещё Segfault, только меня там забанили через месяц за использования публичного порта в торрент клиенте.

Если нужно объединить пользователей за NAT в виртуальную сеть, то есть ZeroTier (бесплатно до 25 устройств) и Tailscale (бесплатно до 100 устройств), работает через UDP hole punching.

https://portmap.io/ подходит мне, но пинг и скорость не радуют, хотелось на своем сервере так же в пару кликов делать подобное.

так вам с локалхоста на впс, или с впс на локалхост? в 1 посте первое, а щас про второе…

Я так понимаю, Вы не очень глубоко разбираетесь в теме :slight_smile: Поэтому попробую структурировать Вашу задачу, чтобы было понятно, что в каком порядке гуглить.

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

Во-вторых, для начала забудьте про проброс портов и просто сделайте VPN между компом и VPS. Рекомендую настроить Wireguard, пока он ещё чаще работает, чем нет. Он простой как три рубля, в сети вагон мануалов. Потом, когда всё заработает, сделаете его стойким к блокировкам, об этом ниже.
Единственный нюанс в настройке WG у Вас будет в том, что со стороны компа Allowed IPs VPS’а должны быть 0.0.0.0/0, т.к. запросы будут прилетать с любых адресов, а вот маршрут по умолчанию строить Вам через VPS не надо. Для этого добавьте в конфиг строчку “Table=off”. Остальное в гугле на каждом углу разжёвано.

В-третьих, после того, как VPN заработает, комп и VPS будут успешно пинговать друг друга по адресам в VPN-сети, сделайте на VPS проброс нужных Вам портов с WAN-интерфейса на адрес компа в VPN-сети, ну и forwarding включите. Настроек там три строчки, больше специфики для каждого дистрибутива, куда эти настройки записать, чтобы после перезагрузки сохранились. Опять же, гугл по словам “port forwarding ваш_дистрибутив” в помощь.

И вот уже в четвёртых, когда всё заработает, тогда или поменяйте обычный Wireguard на Amnezia-WG (проще, быстрее, но в случае совсем уж ковровых блокировок может не спасти) или заверните его в Cloak (должен лучше продержаться даже в самые тёмные времена, но чуть сложнее настройка и ощутимо медленнее). Опять же, руководств полно, темы и здесь на форуме есть, когда дойдёте до этого этапа и будете готовы задать конкретные вопросы, Вам обязательно помогут :slight_smile:

Удачи!

Доступ нужен публичный, про наличие огромного количество гайдов тоже знаю, хоть и могу потратить пару часов на настройку, но ищу именно скрипт/софт где это делается в один клик, чтобы не тратить время на настройку когда очередной vps провайдер сообщит что со следующего месяца цена станет в 2-3 раза выше или сменит айпи просто так и сломает конфиг. К сожалению сталкиваюсь с таким постоянно в сегменте 1-2$ vps, но ежики кололись, но продолжали есть кактус.

В один клик знаю способ, если не нужна анонимность: купить у вашего ISP белый IP.
В GOST можно настроить Remote Port Forwarding.

Если не хотите разбираться сами - платите деньги тому, кто сделает за Вас… Всё, что я написал выше, за ту самую пару часов один раз оформляется в плейбук Ansible, который потом можно хоть по три раза в день на новую VPS’ку раскатывать.