Встала такая задача встала :(
Есть некоторая локальная сеть, где есть сервер S, имеющий два интерфейса eth0, смотрящий в локалку и eth1 смотрящий во вне. При этом S не является шлюзом для компьютеров локальной сети и имеет адрес eth0: 192.168.0.20 (локалка), eth1: 192.168.10.15 (провайдер) S работает как прокси, и отдаёт трафик в локалку из eth1 -> eth0, посредством squid без проблем. Вопрос в том как заставить S, пропускать SMTP трафик, причём так что соедняясь на S:25 я бы подключался к некоторму серверу mail.ru(условно).
Казалось бы надо всего лишь добавить правило в iptables, но как-то не выходит. Вот что сделано:
IP_FORWARD вкл iptables -P FORWARD ACCEPT iptables -t nat PREROUTING --dst 192.168.0.20 -p tcp -dport 25 -j DNAT --to-destination mail.ru
В этом случае при попытке соединится с 192.168.0.20:25 (по телнету, скажем), получаю отказ по таймауту, и в netstat на сервере вижу с десяток пакетов с неверным адресом.
добавление iptables -t nat POSTROUTING --dst mail.ru -p tcp -dport 25 -j SNAT --to-source 192.168.10.15
не помогает.
если добавлю iptables -t nat OUTPUT --dst 192.168.0.20 -p tcp -dport 25 -j DNAT --to-destintation mail.ru то с сервера S я смогу выходить на mail.ru по "telnet 192.168.0.20 25" без проблем! Но не с локалки, конечно...
Не спрашивайте почему так настроено, я не знаю... но вопрос в том как не меняя конфигурации сети (это повлечён много гемороя), подключить прохождение SMTP?
Чувствую в себе недопонимания сути, но где рыть? Подскажите в какую сторону???