Esta web utiliza cookies, puedes ver nuestra política de cookies aquí. Si continuas navegando estás aceptándola

Configuración ips en postfix


Una de las tareas mas comunes entre administradores de sistemas de servidores postfix es configurar las ips de entrada/salida que debe utilizar un dominio, de este modo cada dominio funciona de forma independiente evitando problemas reputacionales entre ellos. Para las conexiones entrantes definiremos el EHLO a presentar y para las conexiones salientes la ip por la que salir.

 

 

Conexiones entrantes

Primero configuraremos el EHLO que se debe mostrar cuando un cliente se conecte a una ip determinada, comentamos el bindeo genérico para hacerlo de forma específica para cada ip.

vi /etc/postfix/master.cf
#smtp      unix  -       -       n       -       -       smtp
A.B.C.D:25      inet  n       -       y       -       -       smtpd -o myhostname=mail.DOMINIO1.com
E.F.G.H:25      inet  n       -       y       -       -       smtpd -o myhostname=mail.DOMINIO2.com

Conexiones salientes

Configuramos la ip que debe utilizar cada uno de los dominios.

vi /etc/postfix/master.cf
out_DOMINIO1  unix -       -       n       -       -       smtp -o smtp_bind_address=A.B.C.D -o syslog_name=postfix-DOMINIO1
out_DOMINIO2  unix -       -       n       -       -       smtp -o smtp_bind_address=E.F.G.H -o syslog_name=postfix-DOMINIO2
vi /etc/postfix/main.cf
sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport
vi /etc/postfix/sender_transport
@DOMINIO1.com    out_DOMINIO1:
@DOMINIO2.com    out_DOMINIO2:
postmap hash:/etc/postfix/sender_transport
/etc/init.d/postfix restart

Si optamos por configurar los transports a utilizar mediante base de datos:

vi /etc/postfix/main.cf
#sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport
sender_dependent_default_transport_maps = mysql:/etc/postfix/mysql/mysql_sender_transports.cf

Configuramos la query a realizar:

vi /etc/postfix/mysql/mysql_sender_transports.cf
user = vmail
password = XXXXXXX
hosts = 127.0.0.1
dbname = postfix
query = SELECT sender_transport FROM sender_transports WHERE domain='%d'

Creamos la base de datos y la tabla:

mysql
CREATE DATABASE postfix;
CREATE TABLE sender_transports (
  id int(11) unsigned NOT NULL auto_increment,
  domain varchar(128) NOT NULL default '',
  sender_transport varchar(128) NOT NULL default '',
  PRIMARY KEY (id),
  UNIQUE KEY domain (domain)
);

Creamos el usuario mysql:

use mysql
GRANT ALL PRIVILEGES ON postfix.* TO vmail@'localhost' IDENTIFIED BY 'XXXXXXX';
FLUSH PRIVILEGES;

Insertamos los dominios:

INSERT INTO sender_transports (domain, sender_transport) VALUES ('DOMINIO1', 'out_DOMINIO1:');
INSERT INTO sender_transports (domain, sender_transport) VALUES ('DOMINIO2', 'out_DOMINIO2:');

Reiniciamos postfix:

/etc/init.d/postfix restart

Autor: Kr0m -- 15/01/2017 00:48:55