Lisikpng.com/port-forwarding
Проброс портов с VPS в виртуальную/физическую машину
Всем привет. в этом гайде будем пробрасывать порты с VPS

в вашу виртуальную машину с помощью OpenWRT + WireGuard

Для начала. Почему я выбрал именно WireGuard?

Потому-что WireGuard работает быстрее OpenVPN + меньше проблем

с организацией статического ip для клиента.

OpenWRT нам пригодится для обхода NAT провайдера.

Если у вас белый ip и вы хотите просто его скрыть

за счёт пропускания всего траффика через вашу VPS.

Начнём с простого, настройка VPS для проброса портов.

Логинимся под root аккаунт на вашей VPS и вводим

echo 1 > /proc/sys/net/ipv4/ip_forward

теперь установим WireGuard, данный гайд

для не самых опытных юзеров лини. потому будем использовать скрипт.

Если у вас не установлен curl. ставим (Я использовал Debian)


# apt install curl -y (-y используется для утснаовки без подтверждения)
# curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
# chmod +x wireguard-install.sh
# ./wireguard-install.sh
При установке WG можно ничего не менять, по вашему желанию. В самом конце после установки скрипт предложит назвать юзера. после установки WG пропишем: clear cat your-file.conf копируем содержимое (В Putty просто выделяем текст)
[Interface] PrivateKey = ************* Address = *************/32, *************/128 DNS = *************, ************* [Peer] PublicKey = ************* PresharedKey = ************* AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = *************:*****
Для удобства создадим файл на рабочем столе. Вставляем в этот файл ваш скопированный конфиг Сохранить как -> все файлы Называем как угодно. расширение вписываем .conf Теперь заходим в настройки openwrt. как установить OpenWRT я писал ТУТ В шапке веб интерфейса роутера наводим курсор на пункт "System"(Система) Заходим в "Software" (Программы) Кликаем по кнопке "Update Lists" теперь в фильтрах (строке пойска) пишем wireguard-install Устанавливаем: luci-app-wireguard luci-proto-wireguard После установки желательно перезагрузить роутер После перезагрузки наводим курсор на "Network" (сеть) Заходим в "Interfaces" (Интерфейсы) Кликаем по кнопке "Add new Interface" (Добавить новый интерфейс) Name - любое Protocol - WireGuard VPN В Private key вводим ваш приватный ключ
PrivateKey = *************
Listen Port не трогаем Ip address вводим тот, что прописан в конфиге. Это клиентский ip Находится в строке
Address = *************/32, *************/128 (вводим ipv4 - тот, что с маской /32)
Переходим во вкладку peers Кликаем по кнопке "add peer" В поля вводим Public Key, Preshared Key, Allowed IPs, Endpoint Host, Endpoint Port. 10.10.10.10:8888 (Endpoint Host 10.10.10.10, Endpoint port 8888) [EXAMPLE] Ставим галочку route Allowed IPs Сохраняем настройки Кликаем Save & Apply После сохранения настроек, кликаем по кнопке edit (изменить) на нашем WireGuard тоннеле. Заходим в Firewall Settings и выбираем зону WAN. Сохраняем настройки, жмём кнопку Edit уже на WAN порте роутера. Заходим в Advanced Settings и убираем галочку "Use default gateway" Сохраняем настройки, жмём Save & Apply и желательно перезагружаем наш роутер. Теперь займёмся пробросом портов с VPS на OpenWRT. В консоли VPS введём
iptables -A PREROUTING -t nat -i (YOUR_NET_INTERFACE) -p tcp --dport (PORT/PORT-RANGE) -j DNAT --to (IP ADDRESS_IN CONFIG:PORT)
FOR EXAMPLE:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 10.7.0.2:80
теперь вводим
iptables -A FORWARD -p tcp -d (IP ADDRESS_IN CONFIG) --dport (PORT/PORT/PORT-RANGE) -j ACCEPT.
Теперь уже пробрасываем порты в роутере. Заходим в Network -> Firewall Port Forwards -> Add Задаём имя, Destination Zone в зависимости куда пробрасывать нужно, если на ваш Пк например, ставим WAN Если в виртуальную машину, которая подкючена к вашему роутеру - то LAN. собственно говоря и всё. Пример конфига
NAME: alo PROTOCOL: TCP UDP Source Zone: WAN External port: 80 Destination Zone: WAN Internal IP address: 192.168.1.35 Internal Port: 80
Спасибо за прочтение