#iptables: сохранение IP источника при форвардинге соидинения

1 messages · Page 1 of 1 (latest)

dreamy osprey
#

сообщение от @iron urchin:

TL;DR-DW.:
Я уже заставил работать простой форвардинг, но теперь мне бы хотелось знать реальный ИП источника в Сети (fail2ban, логи, простт баны)

Реверс-прокси на фронте не варик, т.к. я кручу майнкрафт сервер с модами, и, в дальнейшем, планирую крутить сервер Factorio, а для них нет реверс-прокси.

Топология:

        /\
 [192.168.16.0/24]
        ||
 [192.168.16.1]
        \/
Backend (Ukrain) =[dynamic IP]=> Internet
           /\
     [192.168.0.2]
           ||
     [192.168.0.1]
           \/           
Frontend (Netherlands) <=[static IP]=> Internet```

Пример правил, которые я использую для форвардинга (Это — SSH):

iptables -A FORWARD --destination STATIC_IP -o wg0 -p tcp --syn --dport 33 -m conntrack --ctstate NEW -j ACCEPT
iptables -t nat -A PREROUTING --destination STATIC_IP -p tcp --dport 33 -j DNAT --to-destination 192.168.0.2:22
iptables -t nat -A POSTROUTING -o wg0 -p tcp --dport 22 -j MASQUERADE
iptables -t nat -A POSTROUTING -o wg0 -p tcp --dport 33 -j MASQUERADE

#

В логах у меня получается, что любое соиденение, которое прошло через форвард — 192.168.0.1:RANDOM_PORT.

Прошу помощи.

iron urchin
#

/\

Разрбрался.

Надо было использовать -j MARK и прописывать отдельный раут пакетам на клиаенте.