Solución 1:
Encontré este artículo que muestra cómo configurar un aleatorio función para elegir una IP de una lista y luego asignarla como interfaz de salida al controlador smtp.
Esencialmente, debe configurar una función:
sub randinet {
@inet = ("x.x.x.1", "x.x.x.2", "x.x.x.3", "x.x.x.4");
return $inet[int rand($#inet+1)];
}
y modifique el controlador smtp:
remote_smtp:
driver = smtp
interface = "${perl{randinet}}"
Solución 2:
También puede hacer esto desde dentro de exim sin usar perl:
cree un archivo de búsqueda /etc/exim/ips.txt con
1: xxx.xxx.xxx.1
2: xxx.xxx.xxx.2
3: xxx.xxx.xxx.3
4: xxx.xxx.xxx.4
Establezca el transporte en:
remote_smtp:
driver = smtp
interface = "${lookup {${randint:5}} lsearch {/etc/exim/ips.txt}}"
randint devolverá un número aleatorio entre 1 y 4 que luego se busca en el archivo y se usa. Si tiene más ip, simplemente agregue a la lista e incremente el valor de randint al número ips + 1
Puede ser utilizado por aquellos que han construido exim sin perl o simplemente no quieren usar perl manteniendo todo dentro de exim.