Собственно, возникла необходимость в изменении ip адресов для отправки сообщений с сервера.

В двух словах зачем это нужно. Если у вас на руках почтовик, шлющий изрядное количество писем (скажем, более 1000 в час только на yandex или mail) то рано или поздно есть шанс нарваться на их систему защиты от спама. Неприятность заключается в том, что принимающая сторона просто принимает почту с некоторой задержкой, например, в минуту или в 10 минут. На отправляющей стороне начинает скапливаться очередь, а это череповато разными последствиями, начиная с тупо задержки в доставке писем и заканчивая тем что сообщение так и останется недоставленным. Страдает сервис.

Что может нас спасти? ну, кроме как "не слать N писем в секунду". Дело в том, что почтовик принимая письму назначает ему некий условно-уникальный идентификатор. Существует некий алгоритм, по которому генерируется этот самый идентификатор, но как правило это инкремент. Принимающий сервер видя, что некий IP шлёт письма с неким "классическим" изменением ID ставит его на заметку и принимает меры. Если мы каким-то образом нарушим шаблон генерации ID, то шанс на то, что меры будут приняты скорее всего будут меньше.

Всё это излагалось ровно для одной строки

есть такой роутер remote_smtp: в конфиге exim-а? в debian и unubtu по умолчании в нём отсутствуют интерфейсы, (подразумевается 0.0.0.0), однако в нашем случае их надо указать явно

interface = ${extract{${eval:${randint:4}+1}}{,}{ipaddr1,ipaddr2,ipaddr3,ipaddr4}}

причём в понятии exim-а interface - это вам не eth0, lo или какой-нибудь em1, нет-нет!, это, на минуточку, IP-адрес, во как!

Собственно, всё.

Next Post