Приветствую. Заранее извиняюсь если что не так.
Суть проблемы моей такова:
Serv_world - 2.2.2.2
Serv_db - 1.1.1.1
у обоих серверов глобальные IP и стоят они в ДЦ.
Между серверами тоннель ipip, настроен таким образом что все сервисы настроены на 1.1.1.1, но все подключения идут через 2.2.2.2
В ДНС я прописал настройки так что домен резолвится с IP 2.2.2.2
подключения идут на 2.2.2.2 и перебрасываются на 1.1.1.1 и весь трафф идет через 2.2.2.2. Основная задача что бы сервер 1.1.1.1 не был виден напрямую никому.
Настройки на 2.2.2.2:
local=2.2.2.2
remote=1.1.1.1
ip tunnel add tun100 mode ipip local $local remote $remote
ifconfig tun100 mtu 1500
ifconfig tun100 10.0.0.2 pointopoint 10.0.0.1
ifconfig tun100 up
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -d $local -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1
iptables -t nat -A PREROUTING -d $local -i eth0 -p udp --dport 53 -j DNAT --to-destination 10.0.0.1
iptables -t nat -A PREROUTING -d $local -i eth0 -p tcp --dport 25 -j DNAT --to-destination 10.0.0.1
настройки на 1.1.1.1
setenforce 0
sysctl -w net.ipv4.ip_forward=1
ip tunnel add tun100 mode ipip local 1.1.1.1 remote 2.2.2.2
ifconfig tun100 mtu 1500
ifconfig tun100 10.0.0.1 pointopoint 10.0.0.2
ifconfig tun100 up
ip rule add from 10.0.0.1 table tunnel
ip route add default via 10.0.0.2 table tunnel dev tun100
iptables -t nat -A POSTROUTING -o em1 -s 10.0.0.2 -j SNAT --to-source 1.1.1.1
Все работает и нет проблем, но сейчас возникла необходимость в этой схеме отправлять почту так что бы все кто получали почту видели IP 2.2.2.2 а не 1.1.1.1
Постфикс настроен на данный момент на работу только на интерфейсах:
127.0.0.1 и на 10.0.0.1
почта принимается - никаких проблем.
Вопрос - я не могу вьехать как мне настроить и что прописать в iptables что бы почта ходила через 2.2.2.2 и светило в мире его, а не 1.1.1.1
На всякий случай конфиг постфикса:
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = server.com
mydomain = server.com
inet_interfaces = localhost, 10.0.0.1
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks_style = host
mynetworks = 127.0.0.1/32, 1.1.1.1/32
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id &
sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
Забыл добавить, сейчас при попытке отправить почту с сервака в логи пишет следующее:
Jan 31 19:58:21 server postfix/qmgr[11920]: C449A160963: from=<apache@server.com>, size=1155, nrcpt=1 (queue active)
Jan 31 19:58:21 server postfix/smtp[12546]: connect to gmail-smtp-in.l.google.com[2a00:1450:4001:c02::1b]:25: Network is unreachable
Jan 31 19:58:21 server postfix/smtp[12546]: connect to gmail-smtp-in.l.google.com[173.194.70.27]:25: No route to host
Jan 31 19:58:21 server postfix/smtp[12546]: connect to alt1.gmail-smtp-in.l.google.com[2a00:1450:4010:c04::1a]:25: Network is unreachable
Jan 31 19:58:22 server postfix/smtp[12546]: connect to alt1.gmail-smtp-in.l.google.com[173.194.71.27]:25: No route to host
Jan 31 19:58:22 server postfix/smtp[12546]: connect to alt2.gmail-smtp-in.l.google.com[2607:f8b0:400e:c00::1a]:25: Network is unreachable
Jan 31 19:58:22 server postfix/smtp[12546]: C449A160963: to=<user@gmail.com>, relay=none, delay=235245, delays=235243/0.01/1.3/0, dsn=4.4.1, status=deferred (connect to alt2.gmail-smtp-in.l.google.com[2607:f8b0:400e:c00::1a]:25: Network is unreachable)