IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Utiliser sendmail sans résolution DNS


Sujet :

Administration système

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut Utiliser sendmail sans résolution DNS
    Bonjour,

    j'ai configuré sur mon LAN divers serveurs qui m'envoient des logs par mail par la commande sendmail. De ce côté là, aucun souci.
    J'ai voulu faire de même sur un serveur de ma DMZmais je me suis heurté à un point c'est que nous n'autorisons pas les requêtes DNS entre ce serveur et nos serveurs DNS. J'ai donc dans un premier temps effectué la manip indiquée à l'url suivante. Il y a eu une première amélioration puisque j'arrive jusqu'à l'étape Message Accepted for delivery mais après il m'indique toujours un problème de résolution DNS :
    Jun 4 15:37:16 cg35-s2 sendmail[3555]: q54DZuZA003553: to=<nicolas@xxxxxxxxxx.fr>, ctladdr=<root@serveur-s2.xxxxxxxxxx.intra> (0/0), delay=00:01:20, xdelay=00:01:20, mailer=relay, pri=121074, relay=xxx.xxx.1.4, dsn=4.0.0, stat=Deferred: Name server: xxx.xxxx.1.4: host name lookup failure
    J'ai supprimé le paramètre dns dans mon fichier /etc/nsswitch.conf pour ne laisser que "hosts: files" et je pingue correctement le serveur de messagerie que ce soit son IP ou son nom.

    Je recherche donc à configurer correctement sendmail pour que celui-ci arrête de vouloir effectuer du DNS et ne se contente que de ce que je lui donne comme info.

    Merci.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 556
    Par défaut
    Je ne connais que peu sendmail mais est-ce qu'il ne te renvoie les noms d'hôtes que pour traduire les adresses IP qu'il connaît déjà où est-ce qu'il en a besoin pour faire son travail correctement ?

    Parce qu'à moins que ton serveur soit configuré que pour ne relayer le courrier qu'au prochain nœud connu, si un utilisateur envoie un mail à foo AT bar POINT com, il faudra bien que sendmail interroge le D.N.S. pour savoir à quel adresse contacter le serveur de mail de « bar.com ».

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    En ce qui me concerne je pense que sendmail doit être capable de tout envoyer à un serveur de messagerie sans qu'il se pose de question sur le domaine, c'est pour moi au serveur de se débrouiller après, non ? De plus, il connait forcément le serveur de messagerie car un telnet sur serveur sur le port 25 passe sans problème.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 556
    Par défaut
    Citation Envoyé par tck-lt Voir le message
    En ce qui me concerne je pense que sendmail doit être capable de tout envoyer à un serveur de messagerie
    sendmail EST un serveur de messagerie.

    … sans qu'il se pose de question sur le domaine, c'est pour moi au serveur de se débrouiller après, non ?
    … à condition qu'on puisse déjà l'atteindre et communiquer avec !

    De plus, il connait forcément le serveur de messagerie car un telnet sur serveur sur le port 25 passe sans problème.
    … ce qui te permet d'y déposer un message. Ensuite, quand ton message est sur ton serveur, comment celui-ci fait-il pour l'acheminer jusqu'à destination ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    Je crois que je suis vraiment à la masse avec cet outil. En fait, je veux m'en servir en tant que client et non serveur. Je cherche à ce que ce soit le relais de messagerie sur le LAN qui fasse l'envoi du mail vers ma boite mais pour faire cet envoi vers le relais j'utilise sendmail, il y a peut-être un moyen plus simple ?

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 556
    Par défaut
    Si la seule chose que tu veux faire est atteindre ton propre serveur de messagerie de l'autre côté de ta DMZ et que tu n'as besoin que d'un client SMTP, tu peux utiliser la commande « mail » ou « mailx » plutôt que sendmail.

    Pour qu'il utilise SMTP en particulier, il faut soit initialiser la variable d'environnement « smtp » avec l'adresse du serveur, soit la définir explicitement avec -S. Regarde la man page. Il est possible également que tu doives passer l'adresse expéditeur « From » avec l'option « -r », sinon il va essayer de la déduire lui-même en fonction du nom du poste et de l'utilisateur.

    Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part
    $ mailx -r adresseexpediteur@tondomain.com -S smtp=smtp://tonserveursmtp.tondomaine.com adressedestinataire@tondomaine.com

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    Je ne sais plus comment j'avais fait mais il me semble que sur un ou deux serveurs du LAN, je configurais le nom du relais de messagerie et de l'expéditeur. Ensuite, j'utilisais la commande de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Envoi du message
    echo -e $BODY | mail -s "$SUBJECT" "$MAILTO"

  8. #8
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 556
    Par défaut
    Citation Envoyé par tck-lt Voir le message
    Je ne sais plus comment j'avais fait mais il me semble que sur un ou deux serveurs du LAN, je configurais le nom du relais de messagerie et de l'expéditeur.
    Ben oui ! Soit tu définis une fois pour toutes le serveur à contacter dans le fichier de conf' ou dans les variables d'environnement, soit tu le passes explicitement à la ligne de commande.

    Ensuite, j'utilisais la commande de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Envoi du message
    echo -e $BODY | mail -s "$SUBJECT" "$MAILTO"
    C'est la même chose. « mail » est l'outil historique et est aujourd'hui un lien symbolique pointant « mailx ».

    Seulement, les mails, ça a existé assez tôt, avant la généralisation des réseaux et avant le SMTP. Quand tu fais « mail » tout court, la commande va aller déposer ça dans en dessous de /var/spool. C'est le système de mail UNIX, qui fonctionne très bien sur un mainframe multi-utilisateur mais qui n'était pas spécialement fait pour être relayé d'un site à l'autre. C'est aussi encore utilisé par pas mal de dæmons logiciels, par exemple, pour te prévenir de quelque chose en particulier.

    Et effectivement aussi, on l'utilise soit directement depuis le clavier, soit en lui pipant un message préformaté comme tu le fais. Maintenant, si tu veux que ce message soit relayé via un serveur SMTP distinct, il faut lui dire explicitement.

    Je viens de faire le test avec les serveurs SMTP de free.fr et ça marche très bien.

  9. #9
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    Je ne dois pas avoir la même version, je continue de chercher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mail: invalid option -- r
    Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
                [-- sendmail-options ...]
           mail [-iInNv] -f [name]
           mail [-iInNv] [-u user]
    Edit : le pire de tout dans cette histoire est qu'un client Nagios est présent sur la machine et lui n'a aucun souci pour nous envoyer des mails (j'en ai reçu un ce matin) et il utilise à priori la commande mail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # Service notification command - send email with problem summary
     
    command[notify-by-email]=/bin/printf "$OUTPUT$" | /bin/mail -s '$SERVICESTATE$ alert for $HOSTALIAS$/$SERVICEDESC$' $CONTACTEMAIL$

  10. #10
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    Je m'en suis sorti grâce à ce lien.

    Disable Name Resolution

    Servers that are within fire-walled networks or using Network Address Translation (NAT) may not have DNS or NIS services available. This creates a problem for sendmail, since it will use DNS by default, and if it is not available you will see messages like this in mailq:

    host map: lookup (mydomain.com): deferred)

    Unless you are prepared to setup an appropriate DNS or NIS service that sendmail can use, in this situation you will typically configure name resolution to be done using the /etc/hosts file. This is done by enabling a 'service.switch' file and specifying resolution by file, as follows:

    1: Enable service.switch for sendmail Edit /etc/mail/sendmail.mc to include the lines:

    define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

    2: Configure service.switch for files Create or modify /etc/mail/service.switch to refer only to /etc/hosts for name resolution:

    # cat /etc/mail/service.switch
    hosts files

    3: Recompile sendmail.mc and restart sendmail for this setting to take effect.
    Merci pour ta patience et tes conseils Obsidian.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SWT] utiliser SWT sans eclipse
    Par miel_pops dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 24/01/2009, 21h48
  2. Comment utiliser wxWidget sans installer le runtime ?
    Par titux dans le forum wxWidgets
    Réponses: 9
    Dernier message: 23/10/2007, 15h05
  3. [Security] peut on utiliser acegi sans spring ?
    Par linniesurf dans le forum Spring
    Réponses: 3
    Dernier message: 13/10/2006, 11h46
  4. Utiliser TComPort sans TComDataPacket
    Par giloutho dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/04/2006, 10h25
  5. utiliser query sans composant builder 5
    Par hook85 dans le forum C++Builder
    Réponses: 8
    Dernier message: 19/01/2005, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo