Значит есть сервер проходной, т.е. через него проходят пакеты клиентов. Но на серваке настроена почта. Вот надо чтоб почта уходила не через основной шлюз как пользовательский трафик, а с IP сервака, как это можно реализовать?Например:
10.10.1.0/24 -> 10.1.0.1 -> 10.0.0.1 -> мир
В примере IP серые но это для примера, на самом деле IP реальные.
Сервак 10.1.0.1 должне отправлять почту с адреса 10.1.0.1, а не с 10.0.0.1
>[оверквотинг удален]
>
>Например:
>
>10.10.1.0/24 -> 10.1.0.1 -> 10.0.0.1 -> мир
>
>В примере IP серые но это для примера, на самом деле IP
>реальные.
>
>Сервак 10.1.0.1 должне отправлять почту с адреса 10.1.0.1, а не с 10.0.0.1
>Забыл сказать, что на серваке есть серые (локальные) IP, и шлюз по умолчанию тоже локальный.
Не до конца понял задачу. Т.е. тебе надо чтобы на 10.1.0.1 отлавливались соединения клиентов по 25 порту, выдергивались из них тексты сообщений и запихивались в очередь на отправку писем с сервера 10.1.0.1? Разве такое реализуемо? А если тебе надо чтобы просто соединения по 25 порту устанавливались от имени 10.1.0.1 а не 10.0.0.1 (где предположительно стоит SNAT), то просто сделай так чтобы соединения по 25 порту натились на 10.1.0.1 и не натились на 10.0.0.1
>Не до конца понял задачу. Т.е. тебе надо чтобы на 10.1.0.1 отлавливались
>соединения клиентов по 25 порту, выдергивались из них тексты сообщений и
>запихивались в очередь на отправку писем с сервера 10.1.0.1? Разве такое
>реализуемо? А если тебе надо чтобы просто соединения по 25 порту
>устанавливались от имени 10.1.0.1 а не 10.0.0.1 (где предположительно стоит SNAT),
>то просто сделай так чтобы соединения по 25 порту натились на
>10.1.0.1 и не натились на 10.0.0.1Обьясню получше
Сервер 10.1.0.1 имеет кроме серого IP ещё и белый IP например 99.99.99.9.
Шлюз по умолчанию 10.0.0.1, т.е. все пакеты идут на сервак 10.0.0.1 где натятся и уходят в мир. А мне надо чтоб сервак отправлял почту через шлюз 99.99.99.1 т.е. через другой интерфейс.
Тогда так, например:
1) создай еще одну таблицу маршрутизации где укажи defaultroute 99.99.99.1
2) сделай отбор в эту таблицу по MARK (ip rule from all fwmark 0x01 table mail)
3) в PREROUTING промаркируй пакеты с портом назначения 25
Млин, походу я опять не так понял... я рассматриваю задачу с точки зрения что клиентская почта должна уходить с другого IP, а не почта от самих серваков. Если так, то смотри советы ниже.
>Тогда так, например:
>1) создай еще одну таблицу маршрутизации где укажи defaultroute 99.99.99.1
>2) сделай отбор в эту таблицу по MARK (ip rule from all
>fwmark 0x01 table mail)
>3) в PREROUTING промаркируй пакеты с портом назначения 25iptables -A PREROUTING -i eth1 -t mangle -p tcp --dport 25 -j MARK --set-mark 1
ip rule add fwmark 1 table mail
#ip route list table mail
default via 89.21.92.1 dev eth1
Вот что я делаю. только интерфейс на котором у меня реальный IP сделан алиесом eth1:9. Но я не думаб что в этом проблема.
Для Postfix смотри в сторону smtp_bind_address.
>Для Postfix смотри в сторону smtp_bind_address.sendmail
Postfix ????
/etc/postfix/transport# EXAMPLES
# In order to deliver internal mail directly, while using a
# mail relay for all other mail, specify a null entry for
# internal destinations (do not change the delivery trans-
# port or the nexthop information) and specify a wildcard
# for all other destinations.
#
# my.domain :
# .my.domain :
# * smtp:outbound-relay.my.domain
#
# In order to send mail for example.com and its subdomains
# via the uucp transport to the UUCP host named example:
#
# example.com uucp:example
# .example.com uucp:example
#
# When no nexthop host name is specified, the destination
# domain name is used instead. For example, the following
# directs mail for user@example.com via the slow transport
# to a mail exchanger for example.com. The slow transport
# could be configured to run at most one delivery process at
# a time:
#
# example.com slow:
#
# When no transport is specified, Postfix uses the transport
# that matches the address domain class (see DESCRIPTION
# above). The following sends all mail for example.com and
# its subdomains to host gateway.example.com:
#
# example.com :[gateway.example.com]
# .example.com :[gateway.example.com]
#
# In the above example, the [] suppress MX lookups. This
# prevents mail routing loops when your machine is primary
# MX host for example.com.
#
# In the case of delivery via SMTP, one may specify host-
# name:service instead of just a host:
#
# example.com smtp:bar.example:2025
#
>Postfix ????99.99.99.9 т.е. через другой интерфейс.
/etc/postfix/master.cf
99.99.99.9:smtp inet n - n - - smtpd