LINUX.ORG.RU
ФорумAdmin

Переадресация порта Ubuntu Server + Wireguard

 , , , ,


0

1

Всем привет! Такой вопрос: есть сервер Ubuntu Server 20.04.4 LTS c внешним IP «предположим» 111.222.333.444 и настроенным VPN от wireguard к нему через тоннель wireguard подключен роутер Keenetic к которому в свою очередь подключен сервер с OS Windows Server на котором работает сервис «terminal server». Задача подключаться к терминальному серверу по RDP через внешний адрес VPS (111.222.333.444:3389), т.к. у провайдера к которому подключён keenetic нет белого ip. В Keeneticе я переадресовал порт 3389 с виртуального интерфейса wireguard в домашнюю сеть (10.10.10.0) на сервер 10.10.10.5. Но на самом VPS сервере у wireguard подсеть 10.0.0.0 адрес закреплённый за keenetic в этой подсети 10.10.10.5. Что и какими средствами нужно сделать на VPS чтобы всё заработало. На VPS ещё есть файервол UFW, но как я понимаю нужно что то делать в iptables. Форвардинг конечно же был включён при настройке wireguard. Большая просьба объясните развёрнуто, какую команду нужно дать ip tables и как сделать чтобы настройки iptables сохранялись после перезагрузки VPS.



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

https://help.keenetic.com/hc/ru/articles/360012067279-%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF-%D0%B2-%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-VPN-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%83-WireGuard

закреплённый за keenetic в этой подсети 10.10.10.5

Что? У тебя один адрес и для терминального сервера и для кинетика? VPS видит твой терминальный сервер?

NyXzOr ★★★
()

как я понимаю нужно что то делать в iptables. Форвардинг конечно же был включён при настройке wireguard. Большая просьба объясните развёрнуто, какую команду нужно дать ip tables и как сделать чтобы настройки iptables сохранялись после перезагрузки VPS

Выполнить команды на стороне сервера WireGuard с белым IP-адресом:

1. ufw disable.

2. iptables -t nat -A PREROUTING -m tcp -p tcp -d тут_белый_внешний_IP_адрес_сервера_VDS --dport 3389 -j DNAT --to-destination IP_интерфейса_wg0_на_домашнем_клиенте:3389.

3. iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT.

4. apt install iptables-persistent.

5. systemctl enable netfilter-persistent.service.

6. touch /etc/iptables/rules.v4.

7. /sbin/iptables-save > /etc/iptables/rules.v4.

Выполнить команды на стороне домашнего клиента WireGuard:

1. ip ru add from IP_интерфейса_wg0_домашнего_клиента tab 101.

2. ip ro add default via IP_интерфейса_wg0_сервера_VDS tab 101.

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

Спасибо за развёрнутый ответ, но осталось ещё несколько вопросов: в конфиге wireguard на VPS (/etc/wireguard/wg0.conf) прописаны вот такие правила для iptables -
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE. А насколько я понимаю iptables-persistent программное обеспечение для сохранения и загрузки правил iptables при перезагрузке сервера. И не получится ли такое, что вышеуказанные правила задвоятся. Или лучше после того как я выполню команду «/sbin/iptables-save > /etc/iptables/rules.v4» убрать эти правила из конфига wg0.conf или по другому, остановить сервис wireguard (чтобы правило PostDown применилось), а потом выполнить «/sbin/iptables-save > /etc/iptables/rules.v4»? И второй вопрос ip ru add и ip ro add в моём случае выполнять через ssh Keenetic?

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

Или лучше после того как я выполню команду «/sbin/iptables-save > /etc/iptables/rules.v4» убрать эти правила из конфига wg0.conf

Да, следует убрать.

ip ru add и ip ro add в моём случае выполнять через ssh Keenetic?

Да.

posixbit ★★
()

VPS и белый ip не нужен. Используй zerotier/tailscale

Еще один вариант - на винсервере тоже можно поднять wireguard до VPS и тогда пробрасывать порт не понадобится, будешь подключаться к серверу по его адресу в ваиргарде

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

Хорошо, а как тогда клиенты из вне будут иметь доступ к win серверу через внешний ip VPS к сети wireguard? Все равно на VPS нужно переадресовывать порт. Или получается им всем нужно будет устанавливать клиент wireguard, но в таком случае они будут использовать и интернет в целом через VPS, а это не нужно!

agragregra
() автор топика