解決策 1:
ランダムを設定する方法を示すこの記事を見つけました リストから IP を選択し、それを出力インターフェイスとして smtp ドライバーに割り当てる関数。
基本的に、関数を設定する必要があります:
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)];
}
smtp ドライバーを変更します:
remote_smtp:
driver = smtp
interface = "${perl{randinet}}"
解決策 2:
これは、perl を使用せずに exim 内から行うこともできます:
ルックアップ ファイル /etc/exim/ips.txt を作成します
1: xxx.xxx.xxx.1
2: xxx.xxx.xxx.2
3: xxx.xxx.xxx.3
4: xxx.xxx.xxx.4
トランスポートを次のように設定します:
remote_smtp:
driver = smtp
interface = "${lookup {${randint:5}} lsearch {/etc/exim/ips.txt}}"
randint は 1 ~ 4 の乱数を返します。この乱数はファイル内で検索され、さらに IP がある場合に使用されます。リストに追加し、randint 値を数値 ips + 1 にインクリメントします。
perl なしでビルドされた exim を持っている人、または exim 内にすべてを保持する perl を使用したくない人が使用できます。