Как перенаправить трафик на различные порты через Wireguard VPN с помощью iptables/ufw

Как перенаправить трафик на различные порты через Wireguard VPN с помощью iptables/ufw

У меня есть 2 машины с Ubuntu 22.04, назовем их сервером и прокси. Прокси — это vps со статическим публичным IP, а сервер работает за NAT. Я хочу направить весь трафик на некоторые порты прокси на сервер.

Я настроил Wireguard VPN между этими двумя устройствами, и они оба могут пинговать друг друга. Если я ввожу curl-адрес VPN-сервера с прокси-сервера, я получаю правильный HTML-ответ, а настройка nginx на прокси-сервере (что не является окончательным решением, поскольку я хотел бы маршрутизировать другие службы, которые не являются http/https) позволяет мне выполнить proxy_pass на IP-адрес VPN и снова получить правильный HTML-ответ.

Но я не смог настроить переадресацию с помощью iptables/ufw. Это моя конфигурация wiregaurd, которая включает правила маршрутизации iptables на интерфейсе up.

Прокси:

[Interface]
# Proxy with static ip
Address = 10.250.0.1/32
ListenPort = 23456
PrivateKey = {private key}
# packet forwarding
PreUp = sysctl -w net.ipv4.ip_forward=1
# port forwarding
PreUp = iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.250.0.2
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.250.0.2
PreUp = iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.250.0.2
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.250.0.2
      
[Peer]
# main_server behind nat
PublicKey = {pub key}
AllowedIPs = 10.250.0.2/32

Сервер:

[Interface]
Address = 10.250.0.2/32
ListenPort = 23456
PrivateKey = {priv key}

[Peer]
PublicKey = {pub key}
Endpoint = {proxy server ip}:23456
AllowedIPs = 10.250.0.0/16
PersistentKeepalive = 25

Запуск sudo iptables-save -c возвращает следующее

# Completed on Wed Aug 24 17:01:57 2022
# Generated by iptables-save v1.8.7 on Wed Aug 24 17:01:57 2022
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
[0:0] -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.250.0.2
[4:208] -A PREROUTING -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.250.0.2
COMMIT

Количество пакетов и байтов [4:208]увеличивается каждый раз, когда я пытаюсь получить доступ к прокси через веб-браузер.

Связанный контент