Solution 1 :
J'ai trouvé cet article qui montre comment configurer un aléatoire fonction pour choisir une adresse IP dans une liste, puis l'affecter en tant qu'interface de sortie au pilote smtp.
Essentiellement, vous devez configurer une fonction :
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)];
}
et modifiez le pilote smtp :
remote_smtp:
driver = smtp
interface = "${perl{randinet}}"
Solution 2 :
Vous pouvez également le faire depuis exim sans utiliser perl :
créer un fichier de recherche /etc/exim/ips.txt avec
1: xxx.xxx.xxx.1
2: xxx.xxx.xxx.2
3: xxx.xxx.xxx.3
4: xxx.xxx.xxx.4
Définissez le transport sur :
remote_smtp:
driver = smtp
interface = "${lookup {${randint:5}} lsearch {/etc/exim/ips.txt}}"
randint renverra un nombre aléatoire entre 1 et 4 qui est ensuite recherché dans le fichier et utilisé si vous avez plus d'adresses IP, ajoutez simplement à la liste et incrémentez la valeur de randint au nombre ips + 1
Peut être utilisé par ceux qui ont construit exim sans perl ou qui ne veulent tout simplement pas utiliser perl en gardant tout dans exim.