POSTROUTING Теряется реальный IP, какие есть вариаты решений?
Из интернета Client public IP xxx.xxx.xxx.xxx ---> (91.91.91.91 VPN 10.8.0.1) ---> (PFsense 192.168.10.1 VPN 10.8.0.1) ---> 192.168.10.39 (server)
Нужно прокинуть десяток портов типа 44, 77, 11, 1000. Не в интервале 44-1000!
на 91.91.91.91 используется POSTROUTING PREROUTING. Соединение устанавливается нормально. Но 192.168.10.39 не видит Client public IP а он необходим!
Вариатны MARK CONMARK не работают.
Есть мысль прокинуть прокси тунель через это все дело от 91.91.91.91 до 192.168.0.39 но не соображу как. Socat пробовал он ошибку выдал.
Проблема не редкая судя по гуглу но ясных успешных решений не нашел.
Почтовый сервер не может получить реальный IP-адрес клиента через прокси. От клиента с публичным IP xxx.xxx.xxx.xxx ---> (91.91.91.91 Италия) ---> (OPNsense 101.101.101.101 Германия) ---> 192.168.10.39 (почтовый сервер OPNsense LAN)
1 openvpn
2 Haproxy
inet_listener pop3 {
address = *
port = 110
haproxy = yes, но proxy_protocol = yes не работает, не знаю почему.
}
frontend pop3_frontend
bind *:110
default_backend pop3_backend backend pop3_backend
server server1 101.101.101.101 send-proxy check
3 Nginx
stream {
server {
listen 100;
set_real_ip_from 0.0.0.0/0;
proxy_pass 101.101.101.101:ПОРТ;
}}
4 IPTABLES POSTROUTING, PREROUTING
5 SOCAT
С каждым вариантом я пробовал разные настройки. Здесь все не описано. Соединения устанавливаются но
почтовый сервер не получает ИП клиента ну и это вызывает проблемы со спамом и прочим.
Теоретически возможно, если прописать (91.91.91.91 VPN 10.8.0.1) в качестве default gateway для pfSense. На 91.91.91.91 прописываете маршрут в 192.168.10.0/24 через удаленный IP тунеля 10.8.0.1??? - чего это, кстати, они у вас на обоих концах одинаковые? Далее делаете DNAT 91.91.91.91 -> 192.168.10.39, а на pfSense просто разрешаете этот трафик