Хорошо, поэтому многие интернет-провайдеры теперь блокируют порт 25 для исходящих подключений, поэтому я установил сервер smtp на порт 1025. Теперь это отлично работает, и настроенные клиенты отправляют почту правильно. Но для большей части кода, уже находящегося на сервере, smtp-сервер должен быть на 25, теперь вместо того, чтобы перенастраивать весь код для использования нового порта, я думал об установке туннеля или чего-то еще, чтобы заставить всех с localhost до 25 перейти на localhost на 1025.
Я пробовал это, и это не сработало
iptables -t nat -A PREROUTING -p tcp -i lo --dport 25 -j DNAT --to 127.0.0.1:1025
что я могу сделать для этого?
Спасибо
Для пересылки с localhost используйте xinetd:
service smtp
{
socket_type = stream
wait = no
user = root
redirect = 127.0.0.1 1025
bind = 127.0.0.1
}
Вы должны использовать REDIRECT
не DNAT
для портов с локальной переадресацией. Что-то вроде:
iptables -t nat -A PREROUTING -i lo -p tcp --dport 25 -j REDIRECT --to-ports 1025
Вы делаете это неправильно, концепция почти противоположная, попробуйте вместо этого:
iptables -t nat -I PREROUTING -p tcp --dport 1025 -j REDIRECT --to-ports 25
iptables -t nat -I OUTPUT 1 -o lo -d 127.0.0.1 -p tcp --dport 25 -j REDIRECT --to-ports 1025