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

Configuración ips en postfix


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 -o syslog_name=postfix-DOMINIO1
out_DOMINIO2  unix -       -       n       -       -       smtp -o smtp_bind_address=E.F.G.H -o -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 [email protected]'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:01:55