Ниже конфигурация "тупик" для того, чтобы также проверить исходящие сообщения.
В main.cf:
smtpd_sender_restrictions =
check_client_access cidr:/etc/postfix/internal_clients_filter
И:/etc/postfix/internal_clients_filter
192.168.0.0/24 FILTER smtp:[127.0.0.1]:12501
10.0.0.0/24 FILTER smtp:[127.0.0.1]:12501
(Вы могли также сделать это другими способами к зарегистрированным пользователям, IP, от и т.д.)
Используйте policybank в Amavisd-новом:
$interface_policy{'12501'} = 'INTERNAL';
$policy_bank{'INTERNAL'} = { # mail originating from clients in cidr:/etc/postfix/internal_clients_filter
bypass_spam_checks_maps => [0], # spam-check outgoing mail
bypass_banned_checks_maps => [0], # banned-check outgoing mail
bypass_header_checks_maps => [0], # header-check outgoing mail
forward_method => 'smtp:[127.0.0.1]:12502', # relay to Postfix listener on port 12502
};
И повторно вводить путь в постфиксе:
127.0.0.1:12502 inet n - n - - smtpd
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_data_restrictions
-o smtpd_end_of_data_restrictions=
-o local_header_rewrite_clients=
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o smtpd_milters=
-o local_recipient_maps=
-o relay_recipient_maps=
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings
похоже, что MASQUERADING не настроен. Добавьте следующее перед первым УПРАВЛЕНИЕМ ПЕРЕДАЧИ ПЕРЕДАЧИ
-A POSTROUTING -o eth0 -j MASQUERADE
. Это будет примерно так:
-A POSTROUTING -o eth0 -j MASQUERADE
-A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j DNAT --to-destination 200.40.30.218:110
-A PREROUTING -i eth0 -p tcp -m tcp --dport 25 -j DNAT --to-destination 200.40.30.218:25
Также убедитесь, что переадресация IP включена. Вы можете установить его динамически либо:
sysctl -w net.ipv4.conf.all.forwarding =1
, либо:
echo “1” > /proc/sys/net/ipv4/ip_forward
Чтобы изменить его навсегда (что вы хотите), добавьте или измените значение net.ipv4.conf.all.forwarding в /etc/sysctl.conf на :
net.ipv4.ip_forward = 1
И последнее, я думаю, как бы вы сделали это в Red Hat, поэтому, если у вас нет этого файла, вы можете добавить первую команду в /etc/rc.local или найти способ создания Ubuntu изменение.
Кроме того, последний оператор FORWARD выглядит ошибочным. Похоже, это должно быть:
-A FORWARD -d 200.40.30.218/32 -i eth1 -o eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -d 200.40.30.218/32 -i eth1 -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT
Думаю, именно так это работает. Я перечитал сообщение, и вы хотите перенаправить входящий трафик на серверы в WAN,