Провайдер не предоставляет белый ip адрес, но нужен был доступ к web интерфейсу расположенному в домашней сети. Поэтому решено было купить vds, c помощью wireguard организовать туннель до компьютера дома, а на сервере задействовать форвардинг портов. На сервере были задействованы следующие правила iptables:
~# iptables-save
# Generated by iptables-save v1.8.7 on Thu Oct 6 18:42:19 2022
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [24918:26019366]
-A INPUT -i eth0 -p udp -m udp --dport <wireguard_port> -j ACCEPT
-A INPUT -i wg0 -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -j DROP
-A FORWARD -i wg0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o wg0 -j ACCEPT
-A FORWARD -i wg0 -j ACCEPT
-A FORWARD -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Thu Oct 6 18:42:19 2022
# Generated by iptables-save v1.8.7 on Thu Oct 6 18:42:19 2022
*nat
:PREROUTING ACCEPT [1833:131264]
:INPUT ACCEPT [1240:59269]
:OUTPUT ACCEPT [77:6435]
:POSTROUTING ACCEPT [57:2848]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination <home_ip_inside_wireguard>
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
eth0 - внешний интерфейс с постоянным ip
wg0 - виртуальный интерфейс wireguard
Если все устройства находятся внутри wireguard все работает, а вот если из интернета обратиться на ip vds, то нет.