Instalando sendmail. Configuración básica de sendmail, Ubuntu. Aplicando la configuración de sendmail

El libro cubre la configuración en detalle. servicios de red, permitiéndole crear un servidor con la configuración y funcionalidad requeridas basado en el sistema operativo Linux. Puedes configurar cualquier tipo de servidor: desde servidor red local al servidor de Internet y al servidor acceso remoto. La administración de Linux se describe en detalle.

La presentación del material se basa en kits de distribución. sombrero rojo y mandrágora. Muchos información única: iniciar juegos de Windows para Linux y creando un servidor Linux para la sala de juegos, configurando los antivirus Dr. Web y AVP para Linux, programa de contabilidad de tráfico MRTG, sistema de seguridad y detección de ataques LIDS, y mucho más. Atención especial centrado en la seguridad de los servidores Linux. El sistema operativo Linux en sí se describe con suficiente detalle y se proporciona un libro de referencia de sus comandos. Después de leer el libro, se convertirá en propietario de conocimientos sobre cómo configurar y compilar el kernel, crear sus propios paquetes rpm y comandos. intérprete de bash, usar matrices RAID. Reconocerás el interior mundo linux. El libro es adecuado tanto para administradores profesionales como novatos, ya que la presentación del material comienza con la instalación del sistema operativo Linux y el primer capítulo describe los principales tecnologías de red y protocolos (Curso Joven Administrador).

Todos los listados que figuran en el libro han sido probados en la práctica y se encuentran en el CD adjunto. Además, contiene mucho información de referencia(HOWTO, RFC), así como artículos sobre Linux. Conjunto rico publicado utilidades auxiliares Y software para el servidor (Apache, MySQL, MRTG, etc.).

Libro:

Si está utilizando una distribución compatible con RedHat, deberá instalar los paquetes adecuados. Estoy usando sendmaiI-8.11.0 e imap-4.7c2. Última versión sendmail se puede descargar de Internet en http://www.sendmail.org.

Antes de comenzar a configurar sendmail, debe configurar DNS correctamente. La configuración de un servidor DNS se analizó en detalle en el Capítulo. 10. Si solo estás configurando servidor de correo, no tienes que configurar servidor DNS en la misma computadora. Bastará con especificar los servidores DNS de tu red en el archivo /etc/resolv.conf para que el sistema de resolución de nombres funcione correctamente. Sin embargo, sendmail se puede configurar para que funcione sin Uso de DNS, pero no consideraré esta opción.

Para comenzar a configurar sendmail básico, ejecute la utilidad netconf (consulte la Figura 13.1). Funciona tanto desde X-Window como desde consola. La utilidad netconf está disponible en RedHat Linux, Mandrake, ASPLinux y otras distribuciones, definitivamente no en KSI Linux; Naturalmente, debes iniciar sesión como root. Si no tiene netconf, se lo pasará genial editando el archivo /etc/sendmail.cf a mano. Es en este archivo donde se almacenan todas las configuraciones de sendmail.


Higo. 13.1. configurador de netconf

Seleccione Sistema de entrega de correo en el menú y luego Configuración básica de sendmail. En el campo Presentar su sistema como, simplemente ingrese su nombre de dominio. Luego asegúrese de marcar la casilla de verificación "Aceptar correo electrónico para su_dominio.com" (consulte la Figura 13.2). Si no hace esto, los mensajes pueden ser redirigidos a través de su servidor a otro servidor. Al mismo tiempo, fluirá tráfico adicional a través de su servidor, que no necesita en absoluto. Érase una vez incluso ese tipo de ataque de negación mediante correo electrónico. Su principio es el siguiente: se envía una carta desde un usuario inexistente [correo electrónico protegido] otro usuario inexistente [correo electrónico protegido]. La carta se envía a través de la computadora hostcom, lo que le permite redirigir el mensaje (el modo "Aceptar correo electrónico para dominio.com" no está habilitado). El servidor de correo del dominio B.com envía un mensaje a la dirección [correo electrónico protegido] que el usuario [correo electrónico protegido] no existe. A su vez, el remitente del dominio A.com informa que el usuario [correo electrónico protegido] tampoco existe y envía un mensaje a la dirección [correo electrónico protegido]. Se produce recursividad indirecta. Ahora imagine que no hay solo uno de esos mensajes, sino, digamos, 100 y que el volumen de cada uno es de al menos 1 MB. Como resultado, uno de los servidores de la cadena dominio1.com - host.com - dominio2.com debería "caer".


Arroz. 13.2. Configuración básica de envío de correo

Pido disculpas, me salí un poco del tema, sigamos configurando sendmail. Configure el protocolo de envío de mensajes en smtp (protocolo de puerta de enlace de correo).

Esta información ya es suficiente para que funcione su sendmail. puedes instalar opciones adicionales programas de sendmail que utilizan netconf.

Ahora haga que sendmail acepte correo solo de direcciones permitidas. Para hacer esto, ni siquiera necesita configurar sendmail; solo necesita editar los archivos /etc/hosts.allow y /etc/hosts.deny. El primero de ellos contiene una lista de hosts a los que se les permite el acceso a esta máquina y el segundo contiene una lista de hosts a los que se les niega el acceso. Tenga en cuenta: a pesar del nombre - “permitido” o “denegado”, las restricciones que establece el primer archivo son mucho más estrictas. Por ejemplo, para denegar el acceso a todos los hosts excepto a las computadoras de su red, agregue la línea: 192.168.1 al archivo /etc/hosts.allow.

Esto significa que la red tiene una dirección 192.168.1.0 y una máscara 255.255.255.0. Puede leer más sobre el formato de los archivos hosts.allow y hosts.deny ingresando el comando man hosts.allow.

Ahora es el turno de POP3. Después de instalar el paquete imap, ya tienes casi todo configurado, es decir. Quiero decir que ya puedes comprobar la configuración. Reinicie el demonio inetd o xinetd, según cuál esté utilizando, e ingrese lo siguiente:

Telnet<имя_только_созданного_почтовика> 25

Deberías ver algo como esto en respuesta:

Probando 192.168.1.1. . .
Conectado a 192.168.1.1
El personaje de escape es
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 domingo, 17 de junio
2001 10:54:22 +300

Esto quiere decir que sendmail está funcionando, solo queda comprobar que tan correctamente lo hace. Para hacer esto, ingrese algo como lo siguiente:

correo de: [correo electrónico protegido]
220 2.1.0 [correo electrónico protegido]…. Remitente Aceptar
recpt a: [correo electrónico protegido]
220 2.1.5 [correo electrónico protegido]…. Destinatario Aceptar

Después de eso, ingrese el comando de datos, luego el texto del mensaje y, para finalizar la entrada, coloque un punto en linea vacia. Sendmail informará que el mensaje ha sido enviado (más precisamente, colocado en la cola para enviar). Registro [correo electrónico protegido]- el nombre del usuario al que le envía el correo. El usuario debe existir realmente. La entrada den.dhsilabs.com es el nombre de su remitente.

Nota. Nombres [correo electrónico protegido] y dhsilabs.com se dan como ejemplo. En su lugar, debe especificar sus valores.

Tenga en cuenta que el nodo my.host.com no existe en la naturaleza y el programa sendmail informa que "Remitente está bien". Por eso es mejor habilitar la opción Esperar DNS en la configuración de sendmail.

Ahora necesitas ejecutar algunos cliente de correo, por ejemplo kmail, y recibir correo. Usar siguientes ajustes Redes en el programa Kmail: ¿Red? Al enviar correo, configure SMTP, puerto 25, nombre del servidor: el nombre de su remitente de correo, en este ejemplo es den.dhsilabs.com. Luego agregue una cuenta para POP3:

Nombre de usuario - guarida

Contraseña: la contraseña utilizada para iniciar sesión en el sistema.

Servidor - den.dhsilabs.com

Como resultado, debería recibir el mensaje que ingresó después de los datos. Esto puede causar problemas con la resolución de nombres. Para evitarlos, es necesario configurar DNS correctamente o utilizar su dirección IP en lugar del nombre del servidor de correo. Al agregar un nuevo usuario, asegúrese de configurar su contraseña de inicio de sesión. Si no hace esto e intenta recibir correo sin especificar una contraseña, recibirá el mensaje "Error de autenticación".

Configuración básica El programa sendmail es muy fácil de usar usando el configurador, pero a veces la configuración básica no es suficiente. Para más sintonia FINA Debe familiarizarse con los archivos de configuración del programa sendmail.

Nota. En la mayoría de los casos, estará satisfecho con la configuración básica hasta que los spammers lo pongan bajo su "protectorado"; entonces deberá leer el capítulo. 23 sobre métodos antispam. Sin embargo, una de las leyes de Murphy puede entrar en juego: no se desarrollará un configurador de sendmail para su sistema y entonces tendrá que lidiar con los archivos de configuración.

El archivo de configuración principal de sendmail es /etc/sendmail.cf. En algunas distribuciones, este archivo se encuentra en el directorio /etc/mail. Se dice que este archivo es más largo que la limusina de Bill Gates y que está editado en el modo "los ojos tienen miedo, las manos hacen". Si no me cree, abra este archivo y lo comprobará usted mismo. Editar este archivo Sólo los administradores profesionales o desarrolladores de programas sendmail pueden hacer esto manualmente.

Normalmente se utiliza el macroprocesador m4 para editar este archivo. Primero preparas un archivo mc especial. Este archivo contiene la configuración de .sendmail, pero en una forma más "legible". Al editar archivos de configuración, su tamaño también afecta. A modo de comparación: el tamaño de mi archivo mc es de 2459 bytes y el tamaño del archivo sendmail.cf es de 46302 bytes. Una cosa es editar un archivo de dos kilobytes y otra muy distinta si el tamaño del archivo es de 46 kilobytes. A diferencia de archivo de configuración sendmail, comprenderá inmediatamente para qué está destinado este o aquel archivo mc. Luego, después de editar el archivo mc, debe ejecutar el macroprocesador m4 para crear el archivo de configuración de sendmail:

m4 my_config.mc > /etc/sendmail.cf

Antes de ejecutar este comando, recomiendo guardar en algún lugar archivo fuente enviarcorreo.cf. En caso configuraciones incorrectas siempre puedes restaurarlo.

El archivo de configuración predeterminado, que utiliza el macroprocesador T4 para crear el archivo de configuración del programa sendmail (sendmail.cf), se encuentra en el directorio /usr/share/sendmail-cf/cf. En versiones anteriores de sendmail, puede estar ubicado en el directorio /usr/lib/sendmail.

Normalmente, este archivo se llama sendmail.mc. A veces puede llamarse de otra manera, por ejemplo redhat.mc si estás usando Sistema operativo Red Hat o compatible.

En el Listado 13.1 se muestra un ejemplo del archivo estándar /usr/share/sendmail-cf/cf/redhat.mc.

Listado 13.1. Archivo estándar redhat.mc

desviar(-1)
dnl Este es el archivo de configuración de la macro de sendmail. Si realiza cambios en este archivo,
dnl necesita tener instalado el rpm de sendmail-cf y luego generar un
dnl nuevo /etc/sendmail.cf por ejecutando el siguiente comando: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
incluir("../m4/cf.m4")
VERSIONID("configuración de Linux para Red Hat Linux")dnl
OSTYPE("linux")
define("confDEF_USER_ID","8:12") dnl
indefinido("UUCP_RELAY")dnl
indefinido("BITNET_RELAY")dnl
definir("confAUTO_REBUILD")dnl
definir("confTO_CONNECT", "1m")dnl
define("confTRY_NULL_MX_LIST",verdadero)dnl
define("confDONT_PROBE_INTERFACES",verdadero)dnl
define("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
define("ALIAS_FILE", "/eto/aliases")dnl
dnl define("STATUS_FILE", "/etc/mail/estadísticas")dnl
definir("UUCP_MAILER_MAX", "2000000")dnl
define("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
define("confPRIVACY_FLAGS", "authwarnings,novrfy,noexpn,restrictqrun")dnl
define("confAUTH_OPTIONS", "A")dnl
dnl TRUST_AUTH_MECH("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl define("confTO_QUEUEWARN", "4h")dnl
dnl define("confTO_QUEUERETURN", "5d")dnl
dnl define("confQUEUE_LA", "12")dnl
dnl define("confREFUSE_LA", "18")dnl
dnl FUNCIÓN(delay_checks)dnl
FUNCIÓN("no_default_msa", "dnl")dnl
FUNCIÓN("smrsh",Vusr/sbin/smrsh")dnl
FUNCIÓN("mailertable", "hash-o /etc/mail/mailertable.db")dnl
FUNCIÓN("virtusertable", "hash –o /etc/mail/virtusertable.db")dnl
FUNCIÓN (redireccionamiento) dnl
FUNCIÓN(always_add_domain)dnl
FUNCIÓN(use_cw_file)dnl
FUNCIÓN(use_ct_file)dnl
FUNCIÓN(local_procmail, "", "procmail –t –Y –a $h –d $u")dnl
FUNCIÓN("access_db","hash –o /etc/mail/access.db")dnl
FUNCIÓN("lista_negra_destinatarios")dnl
EXPOSED_USER("raíz") dnl
dnl Esto cambia sendmail para escuchar solo en el dispositivo loopback 127.0.0.1
dnl y no en ningún otro dispositivo de red. Comenta esto si quieres.
dnl para aceptar correo electrónico a través de la red.
DAEMON_OPTIONS("Puerto=smtp,Dirección=127.0.0.1, Nombre=MTA")
dnl NOTA: vincular el demonio IPv4 e IPv6 al mismo puerto requiere
dnl un parche del kernel
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Nombre=MTA-v6, Familia=inet6")
dnl Recomendamos encarecidamente comentar este si desea proteger
Dnlvídese del spam. Sin embargo, la computadora portátil y los usuarios de computadoras que
hacer dnl no tengo El DNS 24x7 sí lo necesita.
FUNCIÓN("accept_unresolvable_domains")dnl
dnl FUNCIÓN("relay_based_on_MX")dnl
CORREO(smtp)dnl
CORREO(procmail)dnl
Cwlocalhost.dominiolocal

Usando la directiva FEATURE, puede habilitar una u otra función del programa sendmail. Por ejemplo, la función mailertable está diseñada para anular el enrutamiento para dominios específicos. Puedes ampliar fácilmente funcionalidad programa sendmail, agregando las funciones que necesita al archivo mc.

Supongamos que desea ocultar los nombres de las computadoras en un dominio. Esto se logra fácilmente agregando la función masquerade_envelope a su archivo mc. Para hacer esto, copie el archivo redhat.mc al archivo hide_hosts.me y agregue las siguientes líneas al final del archivo hide_hosts.me:

MASQUERADE_AS(mi-dominio.ru)dnl
FUNCIÓN(masquerade_envelope)dnl

Luego ejecute el comando:

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

¡Eso es todo! Los nombres de los nodos estarán ocultos. En la tabla se presenta una descripción de otras funciones. 13.1.

Funciones del programa sendmail Tabla 13.1

Función Descripción
acceso_db Define la tabla de acceso. Esta tabla enumera los hosts a los que se les permite o bloquea el envío de correo a través de su servidor de correo. Esta opción se utiliza eficazmente para combatir el spam. La protección contra spam se analiza en detalle en la sección del mismo nombre del Capítulo. 23
aceptar_dominios_unresolubles Permite enviar correo a dominios que no pueden ser reconocidos
bestmx_is-local Los mensajes solo se aceptarán si la entrada del servidor DNS MX apunta a este servidor de correo.
lista negra_destinatarios "Lista negra". Otra opción para combatir el spam. Se requiere la opción access_db para que funcione.
dnsbl Utilizado para listas negras, dnsbl es la abreviatura de Lista negra de DNS. en más versiones anteriores esta opción se llamó (Resolver Lista Negra)
tabla de dominio Se utiliza para resolver nombres de dominio.
genéricoestable Se utiliza para cambiar la dirección de envío en los mensajes.
local_procmail Especifica que el correo debe entregarse utilizando utilidad local correo electrónico
mesa de correo Anula el enrutamiento para dominios específicos
mascarada_dominio_entero Se utiliza para enmascarar (ocultar) todo el dominio. Esta función debe usarse junto con la directiva MASQUERADE AS (o MASQUERADE_DOMAIN), por ejemplo, MASQUERADE_AS(f117.ru)dnl
sobre_mascarada Le permite ocultar los nombres de host de dominio. Reemplaza el campo recibido de del encabezado del mensaje antes de transmitir el mensaje a otros
redirigir Se utiliza para redirigir a otro servidor de correo. Significa negarse a aceptar correo con el mensaje por favor intente
(intenta usar esta dirección)
relé_basado_en_MX Permite la redirección de correo (retransmisión) solo para hosts que se especifican en los registros del servidor DNS MX
relé_hosts_solo Permite la retransmisión sólo para los nodos especificados en access_db
relevo_correo_desde Permite la retransmisión solo si el remitente figura en la lista RELAY de la base de datos accessdb
smrsh Usando el shell de sendmail limitado
use_cf_file Cuando se especifica esta función, sendmail buscará en el archivo sendmail.cf una lista de usuarios confiables.
usar_cw_file Cuando se especifica esta función, sendmail buscará en el archivo sendmail.cw una lista de hosts locales.
tabla de usuarios virtuosos Convierte la dirección del destinatario a la dirección del usuario local

El archivo /etc/mail/sendmail.cw enumera todos los alias de un servidor de correo determinado. Supongamos que el nombre de su servidor es mail.dhsilabs.ru. Si el remitente envía correo a la dirección [correo electrónico protegido], la carta será entregada al domicilio del usuario sin ningún problema. Y si alguien envía una carta a la dirección [correo electrónico protegido], entonces su entrega causará ciertas dificultades, ya que no está claro a qué nodo del dominio dhsilabs se dirige el mensaje. Para resolver este problema, debe colocar una línea en el archivo sendmail.cw.

Primero, una pequeña digresión.

SMTP - Protocolo simple de transferencia de correo - un servicio en redes TCP/IP para transferir mensajes (es decir, correo). Normalmente, el puerto 25 se utiliza para SMTP (consulte el archivo /etc/services)

POP (Protocolo de oficina postal) se utiliza para recibir correo del servidor. El puerto predeterminado es 110 (para protocolo POP3)

Ahora intentaré explicar cómo configurar un pequeño servidor de correo usando POP3 y SMTP.

Primero, instalemos el software necesario. Necesitaremos sendmail e imap. Si está utilizando un compatible con RH versión de linux, necesitarás instalar los paquetes apropiados.
yo uso
enviarcorreo-8.11.0
imap-4.7c2

Antes de comenzar a configurar sendmail, debe configurar DNS correctamente; de ​​lo contrario, este programa no funcionará correctamente (aunque puede configurar sendmail para que funcione sin usar DNS).

Hagamos una configuración básica de sendmail. Para hacer esto necesitas ejecutar la utilidad.
netconf. Funciona tanto desde X como desde consola.
La utilidad netconf está disponible en RH, Mandrake; no estoy seguro acerca de otras versiones. (no está disponible en KSI Linux). Naturalmente, debes iniciar sesión como root.

Seleccionar del menú sistema de entrega de correo, entonces Configuración básica de envío de correo
En el campo Presentar su sistema como, simplemente ingrese su nombre de dominio.
Luego marca la casilla Aceptar correo electrónico para...
Configure el protocolo de envío de mensajes en smtp ( Protocolo de puerta de enlace de correo)

Esta información ya es suficiente para que funcione su sendmail.
Puede configurar opciones adicionales del programa sendmail usando
conferencia de red. Si no tienes sendmail, obtendrás una inolvidable
el placer de editar manualmente el archivo /etc/sendmail.cf - en él
los ajustes se almacenan) :)

Ahora hagamos que sendmail acepte correo sólo de personas autorizadas.
direcciones. Para hacer esto, ni siquiera necesita configurar sendmail, solo necesita
editar archivos /etc/hosts.allow y /etc/hosts.deny
El primero de ellos contiene una lista de hosts a los que se les permite acceder a este
coche, y en el segundo - prohibido. Tenga en cuenta: a pesar del nombre
(permitido|denegado), restricciones establecidas por el primer archivo
mucho más estricto.

Ejemplo. Para negar el acceso a todos los hosts excepto a sus computadoras
red agregue la línea al archivo /etc/hosts.allow
"192.168.1.
Esto significa que la red tiene una dirección de 192.168.1.0 y una máscara de 255.255.255.0
Puede leer más sobre el formato de los archivos hosts.allow y hosts.deny,
ingresando el comando man /etc/hosts.allow

Para aceptar correo solo de "sus" dominios, debe agregar a
archivo mc (normalmente /etc/mail/sendmail.mc) siguientes lineas(usar
tabulaciones, no espacios)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
scheck_rcpt
# cualquier cosa que termine localmente está bien
R< $+ @ $=w >$@OK
R< $+ @ $=R >$@OK

# todo lo que se origine localmente está bien
R$* $: $(dequote "" $&(nombre_cliente) $)
R$=w$@OK
R$=R$@OK
R$@$@OK

# cualquier otra cosa es falsa
R$* $#error$: "550 Retransmisión denegada"

Ahora cree un archivo /etc/sendmail.cR e ingrese los nombres de "sus" dominios en él -
uno en cada línea.
Sólo estos dominios permitirán que el remitente reciba correo; todos los demás recibirán
mensaje 550 Retransmisión denegada

Ahora es el turno de POP3. Después de instalar el paquete imap ya casi tienes
todo está configurado, es decir Quiero decir que ya puedes comprobar la configuración.

Primero, reinicie el demonio inetd.
Después de reiniciarlo, se activarán los servicios sendmail y popd (más precisamente
un sendmail y se llama a popd según sea necesario)

Pruebe lo siguiente:
entrar telnet<имя_только_созданного_почтовика> 25
Deberías ver algo como esto:
Probando 192.168.1.1...
Conectado a 192.168.1.1
El carácter de escape es "^]"
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 domingo, 17 de junio de 2001 10:54:22 +300

Esto significa que sendmail está funcionando, solo queda comprobar que tan correctamente está :)

Ingresar
correo de: [correo electrónico protegido]
220 2.1.0 [correo electrónico protegido].... Remitente Aceptar
recpt a: [correo electrónico protegido]
220 2.1.5 [correo electrónico protegido].... Destinatario Ok
Ahora ingresa datos, luego el texto del mensaje, para finalizar el ingreso ponemos un punto
en una línea vacía

Sendmail informará que el mensaje ha sido enviado (más precisamente, colocado en
cola para la salida)

[correo electrónico protegido]-nombre del usuario al que le envío correo.
den.dhsilabs.com - el nombre de mi remitente
Tenga en cuenta que el nodo my.host.com no existe en la naturaleza, pero el remitente está bien.
Por eso es mejor habilitar la opción Esperar DNS en la configuración de sendmail

Ahora necesitas iniciar algún cliente de correo electrónico, por ejemplo kmail.
y recoger el correo.
Configuraciones de red en kmail
Red -> Conjunto de envío de correo SMTP, puerto 25, nombre del servidor -
el nombre de su remitente,
Tengo - den.dhsilabs.com

Luego agregue una cuenta para POP3
Troncos - guarida
Contraseña: la contraseña utilizada para iniciar sesión en el sistema.
Servidor - den.dhsilabs.com
Puerto - 110

Debería recibir el mensaje que ingresó después de los datos.

No soy administrador, así que trate esta nota con precaución.
Se está considerando la siguiente situación: es necesario forzar al servidor de sendmail a enviar correo, pero no aceptar nada en respuesta. Estrictamente para notificaciones de sitios web. Tengo un VDS con Exim4 preinstalado que, según tengo entendido, está "referenciado" por sendmail. Aquellos. Exim4 realmente funciona.

Primero configuramos el host ( mi-nombre-de-host este es el nombre de nuestro host desde el cual viajará todo) sudo mcedit /etc/hosts El archivo debe contener líneas como 127.0.0.1 localhost 111.111.111.111 hostname.my-hoster.net my-host-name A continuación, cambie el nombre del host en el archivo sudo mcedit /etc/hostname El archivo debería verse así (completamente, es decir, solo el nombre del host y listo) my-host-name Ahora sobrecargamos el servicio que, en términos generales, actualiza el nombre del host globalmente sudo /etc /init.d/hostname.sh stop sudo / etc/init.d/hostname.sh start # si no existe tal script, intente de otra manera: sudo service hostname restart MOVIMIENTO RÁPIDO DEL OJO. También existe esa opción, para Debian 9 (stretch) hostnamectl set-hostname my-host-name Ahora ejecutamos los comandos hostname hostname -f Si todo se hace correctamente, ambos deberían devolver el valor my-host-name (es decir, el nombre de su anfitrión)

Ahora necesitas configurar sendmail. En mi caso, necesito reconfigurar Exim4. Esto se hace algo como esto: sudo dpkg-reconfigure exim4-config Después de esto, en el asistente solo necesitas seleccionar los valores ( específicamente para Exim4)

  • sitio de internet..
  • ingrese el nombre de su host (mi-nombre-host)
  • configure la IP para SMTP solo en 127.0.0.1 porque no necesitamos conexiones externas vía smtp
  • otras asignaciones válidas se dejan por defecto
  • Dominios para retransmisión permitida: déjelo en blanco.
  • máquinas para relevo - dejar vacío
  • el número de solicitudes de DNS queda a su discreción, no lo limité
  • Dejé el método de envío igual que estaba, es decir. /var/correo
  • dividir archivos de configuración no separados; a su discreción, los argumentos se describen allí, yo no los dividí
Ahora, para comprobar si el correo está pasando, haga esto: sendmail -i [correo electrónico protegido] A continuación, introduce el texto. mensaje de prueba. Y cuando esté listo, presione Ctrl+d
Vamos a revisar nuestro correo. Si llega la carta, todo está bien y viva. Si no, vayamos más lejos en Google :)

A continuación debemos asegurarnos de que smtp no esté disponible en nuestro servidor, para ello debemos ir desde la máquina local a tocar el puerto 25 del servidor y recibir un golpe. Esto se hace, por ejemplo, así: telnet mi-nombre-host 25 Probando 111.111.111.111... telnet: No se puede conectar con el host remoto: Conexión rechazada Si todo es así, entonces todo está genial. El puerto está cerrado.

Otro pequeño truco. Sucede que, por algún motivo, es necesario reiniciar periódicamente el servicio que ejecuta la aplicación web. En mi caso, esto es node.js y hago esto aproximadamente una vez cada N veces. Entonces, si reinicia el proceso con cron, entonces sendmail deja de funcionar, porque la aplicación no sabe dónde está, simplemente no hay una ruta en la ruta y, por lo tanto, simplemente no se encuentra. Puede pasar cualquier otra configuración de variable de entorno de la misma manera. Vea cómo hacer esto a continuación.

Primero veamos dónde está sendmail y cuál sendmail /usr/local/bin/sendmail Ok, vemos la ruta. Si de repente no lo vemos, entonces vayamos a ver lo mismo pero bajo sudo. Ahora vaya al crontab y agregue variables de entorno allí.

crontab -e Se abrirán las tareas de edición para el usuario actual. Es decir, todas las tareas se completarán con los derechos del usuario actual y el servicio comenzará con los derechos de este usuario, si se inicia según su plan, claro :) # esta es una variable que indica dónde buscar sendmail, # otras rutas necesarias se pueden escribir separadas por dos puntos # las utilidades que necesitamos se buscarán allí PATH=/usr/local/bin # este es un ejemplo que usará la aplicación NODE_ENV=production # esta es en realidad la tarea en sí, buscamos en Google el formato crontab para entender qué es lo # en en este caso el script se ejecutará a los 30 minutos de cada hora par */30 */2 * * * /home/user/blog/scripts/restart.sh Bueno, algo como esto. Por favor No tomes esta nota como guía completa a la acción, es muy posible que en su caso todo sea significativamente diferente. Pero tal vez esto te ayude de alguna manera o al menos te lleve a pensar en la dirección correcta :) ¡Buena suerte!




Arriba