Iptables - передать почтовые порты?

Ниже конфигурация "тупик" для того, чтобы также проверить исходящие сообщения.

В 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
2
задан 3 October 2011 в 20:58
1 ответ

похоже, что 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,

2
ответ дан 3 December 2019 в 12:05

Теги

Похожие вопросы