У меня есть контейнер LXC с почтовым сервером и «выделенным» IP-адресом.
«Выделенный» означает, что порт 25 и 110 IP-адреса перенаправляется на порт 25 и 110 контейнера. Это делается с помощью iptables.
Предположим, что внутренний адрес контейнера - 192.168.0.5, а публичный - 30.30.30.30.
Предположим также, что у сервера есть один сетевой адаптер "eth0" с одним основным IP-адресом (30.30.30.1) и несколькими дополнительными IP-адресами "eth0: 0" 30.30.30.30.
Когда почтовый сервер отправляет электронную почту, электронная почта отправляется с основного IP-адреса сервера.
Как я могу изменить это поведение и сделать весь исходящий трафик через «30.30.30.30»
Помните важную вещь: если вы хотите, чтобы все изменения вносились каждый раз при перезагрузке сервера, вам необходимо выполнить это правило в вашем / etc / network / interfaces и в разделе eth0:
post-up iptables -t nat -I POSTROUTING -o eth0 -s 192.168.0.5 -j SNAT --to-source 30.30.30.30
post-down iptables -t nat -D POSTROUTING -o eth0 -s 192.168.0.5 -j SNAT --to-source 30.30.30.30
И у вас всегда наготове ваши изменения, когда вы перезагружаете сервер.
Я нашел способ сделать это.
Вот правило:
iptables -t nat -I POSTROUTING -o eth0 -s 192.168.0.5 -j SNAT --to-source 30.30.30.30
Важные моменты:
-I
вместо того -A
eth0
вместо того eth0:0