J'essaie de configurer un serveur Apache sur mon RHEL6.4 VM et je ne peux pas parce que dnsmasq
ne peut pas reconnaître le nom d'hôte pour une raison quelconque:
nslookup rhel64.example.com
Server: xxx.xxx.xx.1
Address: xxx.xxx.xx.1#53
server can't find rhel64.exmple.com: NXDOMAIN
/etc/hosts
:
xxx.x.x.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
/etc/resolv.conf
:
; generated by /sbin/dhclient-script
search novalocal example.com
nameserver xxx.xxx.xx.1
S'il vous plaît laissez-moi savoir s'il y a quelque chose que vous devez voir pour résoudre mon problème. Je ne peux pas utiliser un serveur DNS différent.
Vous recherchez un moyen de faire dnsmasq
résoudre le nom d'hôte sans changer de serveurs DNS.
Je m'attendrais à ce que l'adresse IP de votre serveur soit corrigée. Votre /etc/hosts
Devrait contenir
127.0.0.1 localhost
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
xxx.x.x.1 rhel64.example.com rhel64
localhost
ne doit jamais indiquer une adresse autre que 127.0.0.1 ou :: 1. Ajoutez des hôtes supplémentaires avec des adresses fixes à /etc/hosts
Selon les besoins.
Pour les adresses dynamiques, assurez-vous de définir le domaine correct dans /etc/dnsmasq.conf
Et assurez-vous que le nom d'hôte est envoyé dans la demande. Vérifiez le fichier dnsmasq.leases
Qui doit être dans le répertoire /var/lib
Essayez de vérifier. Le domaine doit être spécifié comme celui-ci.
domain=example.com
Sinon, vous pouvez fournir des adresses fixes dans le fichier dnsmasq.conf
Ou /etc/ethers
. Une ligne comme celle-ci créera l'adresse MAC aa.bb.cc.dd.ee.ff
Sur 192.0.2.1
. Le nom DNS serait spécifié dans /etc/hosts
Comme indiqué ci-dessus.
aa.bb.cc.dd.ee.ff 192.0.2.1
EDIT: Les diagnostics que j'utiliseriez incluent.
Exécution getent sur l'hôte avec Dnsmasq en cours d'exécution.
getent hosts rhel64
Cela devrait renvoyer la valeur que vous avez entrée dans le fichier d'hosts ou renvoyée par DNS. Si cela fonctionne, essayez d'utiliser la commande Host
pour rechercher l'adresse. Utilisez nslookup
si les hôtes n'est pas disponible. Essayez ces commandes. (Il semble que vos serveurs dnsmasq
et Apache
sont sur le même hôte.
hosts rhel64.
hosts rhel64.example.com.
hosts rhel64. localhost
hosts rhel64.example.com. localhost
hosts rhel64. rhel64.
hosts rhel64.example.com. rhel64.
hosts rhel64. rhel64.example.com.
hosts rhel64.example.com. rhel64.example.com.
Quelle commande échoue et comment elle échoue devrait vous aider à déterminer le problème. Vous pouvez également veiller à ce que DNSMASQ achète sur toutes les adresses IP.
Lors du diagnostic du problème: les demandes de rhel64.
Sont pour le nom d'hôte non qualifié avec un domaine et des demandes de rhel64.example.com.
Sont pour un nom pleinement qualifié. Le point final sur les noms indique au résolveur de ne pas essayer les domaines de la liste de recherche. Le deuxième nom d'hôte si spécifié remplace les serveurs de noms énumérés dans /etc/resolv.conf
. Dans ce cas, j'ai utilisé les serveurs de /etc/resolv.conf
, L'adresse localehost (127.0.0.1 ou :: 1), l'adresse du nom d'hôte, comme étant levée de DNS et l'adresse du nom pleinement qualifié tel que regardé. à partir du nom de coup. Les deux derniers serveurs ne fonctionneront pas si le look initial du nom a échoué.
netstat -an | grep :53
Edit: Lors de la lecture de votre message, je remarque que vous obtenez votre adresse à partir de DHCP, les notes sur la définition d'une adresse IP fixe s'appliquent aux serveurs DHCP de style UNIX. Ils doivent être appliqués sur le serveur DCHP qui est probablement le routeur de xxx.x.x.1, qui ne serait pas votre adresse de vos serveurs. Vous devriez être capable d'obtenir l'adresse IP du Current avec la commande ifconfig
ou la commande newer ip addr
. Ceci est l'adresse qui doit être assortie à votre nom d'hôte dans le fichier/etc/hosts.
Si vous n'avez pas accès au routeur, vous pouvez essayer d'obtenir DHCP pour mettre à jour le service DNS pour vous. Ajoutez l'entrée suivante à notre fichier de configuration DHCP: option fqdn.fqdn rhel64.example.com; ou option fqdn.fqdn rhel64;
Après avoir ajouté l'entrée, vous devrez redémarrer le processus dhclient
. Essayez les commandes
Sudo dhclient -r
Sudo dhclient
Sinon, vous devrez redémarrer l'interface ou l'ensemble de la configuration de réseautage.