LINUX.ORG.RU
ФорумAdmin

VPS ubuntu WireGuard проброс порта на внутренней ресурс

 


1

1

Добрый день. Чего то третий день пытаюсь настроить форвардинг порта. Все не получается… Вообщем у меня серый IP от провайдера, да и фиг с ним. Арендовал я VPS сервер с белым IP поставил туда сервер VPN Пытаюсь прокинуть порт толку нет… Я совсем недавно начал работать в Линукс сильно не пинайте xxx.xxx.xxx.xxx серый IP 10.8.0.2 Внутренний клиент VPN сети
Сервер WireGuard

Задача тривиальная, что бы при внешнем обращение на IP xxx.xxx.xxx.xxx открывался Apahe который стоит на клиенте 10.8.0.2:8081

Внешний интерфейс ens3 Внутренний интерфейс wg0 Правда в ifconfig у меня не отображается данный интерфейс wg0 Но вроде как я понял так и должно быть…
Есть интерфейсы из ifconfig docker0: ens3: lo: vethca0c02e:

Пробвал пробрасывать так:

iptables -t nat -A PREROUTING –dst xxx.xxx.xxx.xxx -p tcp –dport 8081 -j DNAT –to-destination 10.8.0.2

iptables -I FORWARD 1 -i ens3 -o wg0 -d 10.8.0.2 -p tcp -m tcp –dport 8081 -j ACCEPT

iptables -t nat -A POSTROUTING –dst 10.8.0.2 -p tcp –dport 8081 -j SNAT –to-source xxx.xxx.xxx.xxx

iptables -t nat -A OUTPUT –dst xxx.xxx.xxx.xxx -p tcp –dport 8081 -j DNAT –to-destination 10.8.0.2

nmap сканирую xxx.xxx.xxx.xxx, порт висит, но трафик не маршрутизируется. Помогите кому не сложно.



Последнее исправление: Dobi234 (всего исправлений: 3)

Арендовал я VPS сервер с белым IP поставил туда сервер VPN Пытаюсь прокинуть порт толку нет…

Зачем прокидывать порт с белого IP внутрь серой сетки, если у тебя поднят Wireguard? Ведь для того и поднимается WG, чтоб поиметь доступ к серой сети по шифрованному каналу, и не к какому то конкретному порту, а ко всему прописанному в

[Peer]
......
AllowedIPs = 10.8.0.2/32

Прокидывать порт можно и нужно без WG при обрашении к внешнему белому IP, чтоб попасть на внутренний IP серой сети. Апач у тебя скажем публичный, но стоит с серой сетке. Тут WG не причем, разбирайся с пробросом портов, я не погружался, что у тебя не верно в сети примеров масса. Кстати, оформляй правила как положено, читать это никто не станет.

Внешний интерфейс ens3 Внутренний интерфейс wg0 Правда в ifconfig у меня не отображается данный интерфейс wg0 Но вроде как я понял так и должно быть…

Как это нету? как это не отображается? А как ты вообще понял что WG у тебя поднят и работает, пробрасывая уже порты? А по Ip то пингуется wg0? на твоем клиенте?

Каша какая то в голове, разберись сначала с пробросом портов, внутрь сетки (WG тут совсем не нужен)….. заработало? отключай проброс и начинай разбираться с WG, чтоб сразу по серому IP открывался твой Апач.

nmap сканирую xxx.xxx.xxx.xxx, порт висит, но трафик не маршрутизируется.

Что значит висит? но не маршрутизируется?

alex_sim ★★★★
()
Ответ на: комментарий от alex_sim

Интересно как вы видите проброс порта в серую сетку если нет VPN и провайдер вам дает серый IP. Не будет не какого пинга до локальной машины с VPS сервера. Один в интернете другой в локальной сети. Для этого был и поднят VPN сервер на VPS с белым IP что бы машины с серым ip подключались к VPS с поднятым VPN сервером и получали от него IP шники и уже с сервера VPN с его внешнего адреса шла маршрутизация до машины в локальной сети.

Dobi234
() автор топика
Ответ на: комментарий от Dobi234

А ты в лючил пересылку пакетов? Ну в случае iptables на своем web-сервере, куда ты делаешь NAT, будешь видеть вместо ip адреса клиента ip адрес vps в wireguard сети.

kostik87 ★★★★★
()
Ответ на: комментарий от Dobi234

При условии, что у тебя работает vpn тебе нужны 2 команды:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp --dport 8081 -j DNAT --to-destination 10.8.0.2

Все.

UPD.

серый ip xxx.xxx.xxx.xxx

Ну, если ты конченый балбес, то есть шанс, что ты не там и не туда команды вводишь. Это надо все вводить на твоей белой vps, где xxx.xxx.xxx.xxx - белый ip твоей vps.

Anoxemian ★★★★★
()
Последнее исправление: Anoxemian (всего исправлений: 1)
Ответ на: комментарий от Anoxemian

Шутиш? Разобрался я этот долбаный Wireguard не поднимал интерфей локальный. Тобишь вводишь на сервере ifconfig а интерфейса wg0 нет который смотрит на локальную сеть. Поставил openvpn прописал команды что выше указав локальный интерфей tuh и все заработало

Dobi234
() автор топика
Ответ на: комментарий от Dobi234

Шутиш? Разобрался я этот долбаный Wireguard не поднимал интерфей локальный. Тобишь вводишь на сервере ifconfig а интерфейса wg0 нет который смотрит на локальную сеть

Я разве тебя не спрашивал, как же ты ее видя поднятого интерфейса решил что поднял WG? Ичто то там прокидываешь внутрь…. долбаный, извини я обиделся за wg, сам ты долбаный.

Поставил openvpn прописал команды что выше указав локальный интерфей tuh и все заработало

Принципиально ничем Ovpn от wg не отличается, я лет 15 использовал ovpn, сейчас wg. Уверяю тебя.

alex_sim ★★★★
()
Ответ на: комментарий от Dobi234

Интересно как вы видите проброс порта в серую сетку если нет VPN и провайдер вам дает серый IP.

Ну извиняй, ты так все описал, что понять было трудно (ну старый я и тупой) куда и откуда ты ломишся. Я понял, что наоборот. Извини за «ты»

alex_sim ★★★★
()
Ответ на: комментарий от Dobi234

Да не в нем дело а вскрипте по которому я ставил… Все надо ручками ставить

Естественно, надо понимать что делаешь, и не доверять скриптам, только если понимаешь, что он делает. Тогда можно самому скриптить, ну хоть для себя

alex_sim ★★★★
()

vpn не надо, хватает sshd на vps с автроизацией по ключу

с сервера/сети на котором апач поднимаешь тунель на vps

типа такого

ssh user@vps.server -2 -4 -nNT -i priv.key -o ServerAliveInterval=10 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -R ip_vps:8081:ip_apache:80

чтоб само поднималось делаешь unit в systemd в настройки sshd на vps нужны ClientAliveInterval и ClientAliveMaxCount, тогда при сбоях соединения не будут зависать

если порты привилегированные поднимай туннель от рута на vps,без рута 80 не даст пробросить а 8081 пройдет

cylon17
()
Последнее исправление: cylon17 (всего исправлений: 2)