Con este procedimiento (algo iconoclasta), el lector podrá emplear qmail sin necesidad de tcpserver, aunque no es lo más recomendable. La ventaja de usar xinetd reside simplemente en que éste ya viene en la distribución RedHat 7.1 que estoy empleando y puede usarse como una solución temporal hasta instalar tcpserver.
Ud. deberá crear el archivo /etc/xinetd.d/smtp con el siguiente contenido:
# Servicio SMTP con qmail service smtp { socket_type = stream protocol = tcp wait = no user = qmaild server = /var/qmail/bin/tcp-env server_args = /var/qmail/bin/qmail-smtpd disable = no } |
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env \ tcp-env /var/qmail/bin/qmail-smtpd |
Con la configuración presentada, el sistema será capaz de recepcionar correo para sus usuarios. Para enviar mensajes desde el sistema, los usuarios Linux pueden emplear MUA's como mail:
$ mail usuario@yahoogoogle.org |
Voy a asumir que se pretende configurar qmail para que opere como en el ejemplo descrito anteriormente. Si no hubieran estaciones que emplean a qmail como RELAY, bastaría con la configuración de la sección anterior.
El archivo /etc/xinetd.d/smtp define la "escucha" del puerto 25 (smtp) para cualquier interfaz de red. Modifiquemos esto añadiendo la siguiente línea:
service smtp { disable = no socket_type = stream protocol = tcp wait = no user = qmaild server = /var/qmail/bin/tcp-env server_args = /var/qmail/bin/qmail-smtpd # Linea añadida bind = 1.2.3.4 } |
Acto seguido, asociaremos una nueva dirección IP (IP alias) a la interfaz de red. No vamos a entrar en muchos detalles al respecto:
# ifconfig eth0:0 1.2.3.200 netmask 255.255.255.0 |
Ahora generaremos un nuevo archivo (por ejemplo, /etc/xinetd.d/smtp2 con el siguiente contenido:
service smtp { disable = no socket_type = stream protocol = tcp wait = no user = qmaild server = /var/qmail/bin/tcp-env server_args = /var/qmail/bin/qmail-smtpd bind = 1.2.3.200 env = RELAYCLIENT= } |
Los MUA's de las estaciones de la red local ahora se deberán configurar para que la conexión de salida (SMTP) se dirija hacia la dirección 1.2.3.200. Si se desea, se puede asignar un nombre a esta dirección en el DNS (por ejemplo "envios.unima.edu.pe".)
El único detalle suelto consiste en evitar que desde Internet se conecten a este IP (de relay.) Lo más sencillo es configurar el filtro de paquetes con una línea como la que se muestra:
# ipchains -A input -d 1.2.3.200 -s ! 1.2.3.0/24 -j DENY |
# iptables -A INPUT -d 1.2.3.200 -s ! 1.2.3.0/24 -j DROP |