@RavingRobot

Port-forwarding с WireGuard и UFW?

Имеется домашний сервер. На нем в докере крутится Portainer, Home Assistant, TeamSpeak 3. Также имеется VPS сервер. Между ними настроен Wireguard. Ресурсы домашнего доступны с VPS, например, curl 20.20.20.2:8123 дает ответ. Но не получается настроить port-forawrding, чтобы ресурсы домашнего сервера были доступны по IP VPS, дабы не светить домашним IP (в TeamSpeak могут зайти не только друзья, но и знакомые, и малознакомые личности). Пробовал разные гайды, советы и т.п., ничего не помогло.

Текущие настройки:
VPS WG конфиг
[Interface]
PrivateKey = aBVntnMA2P+Tc4J82k+MueK4FlGtNrHgozo2sGRpDlg=
Address = 20.20.20.1/24
ListenPort = 51820
PreUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreUp = iptables -t nat -A PREROUTING -d %VPSIP% -p tcp --dport 8123 -j DNAT --to-destination 20.20.20.2
PostDown = iptables -t nat -D PREROUTING -d %VPSIP% -p tcp --dport 8123 -j DNAT --to-destination 20.20.20.2

[Peer]
PublicKey = 2mQadCFPdp6H3iItOt2enpTORSD9TGZ9sP9S+AIpCRo=
AllowedIPs = 20.20.20.2/32

VPS UFW
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
51820                      ALLOW       Anywhere
8123                       ALLOW       Anywhere

VPS iptables -t nat
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
   15   780 DNAT       tcp  --  *      *       0.0.0.0/0            %VPSIP%       tcp dpt:8123 to:20.20.20.2

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
  • Вопрос задан
  • 1867 просмотров
Решения вопроса 1
@A1RWALK3R
Полагаю, ключевое тут - это "дабы не светить домашним ip", и задача стоит в отделении мух от котлет - VPN и TeamSpeak 3 должны быть доступны по ip-адресу VPS, но не пересекаться, так?

В этом случае, связанный порт домашнего сервера с контейнером TeamSpeak 3 пробрасываете на домашнем маршрутизаторе на порт ip VPS, который вы выделите для подключений к серверу TeamSpeak 3, а со стороны VPS на внешний ip:порт домашней сети. Не забываем открыть порт в UFW на VPS.

При этом, в случае белого ip домашней сети, настраиваем iptables VPS так, а в случае серого и наличия DDNS - так .

P.S. PrivateKey потому и private, чтобы его не светить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы