Bonjour,
J'ai un problème pénible que je n'arrive pas à résoudre.
J'ai mis en place un petit routeur firewall avec dnsmasq + opendns depuis un petit moment. Je n'utilisais que 2 ports ethernet pour mon besoin et là j'en rajoute un 3ème (pour une dmz) :
- eth1 pour l'accès internet (192.168.1.0/24)
- eth0 pour le réseau local (domaine home) (192.168.0.0/24)
- eth2 pour la dmx (domaine dmz) (192.168.2.0/24)
J'ai configuré mes règles iptables, tout fonctionne comme je veux, le réseau local accède à internet et aux machines de la dmz.
Dnsmasq fonctionnait parfaitement bien avant que je n'ajoute ce nouveau VLAN dmz.
Le service dhcp de dnsmasq fonctionnent pour mes 2 VLAN (home et dmz)
Le service dns et la résolution interne/externe fonctionne le vlan local (home)
Par contre sur le vlan dmz pas moyen de faire des résolutions externes. Il suffixe toutes les résolutions de domaines externes par le domaine de mon lan local (home)
Ping depuis une machine de ma DMZ
root@serv1:# ping google.com
PING google.com (173.194.41.67) 56(84) bytes of data.
64 bytes from lhr08s01-in-f3.1e100.net (173.194.41.67): icmp_req=1 ttl=50 time=41.5 ms
64 bytes from lhr08s01-in-f3.1e100.net (173.194.41.67): icmp_req=2 ttl=50 time=38.5 ms
64 bytes from lhr08s01-in-f3.1e100.net (173.194.41.67): icmp_req=3 ttl=50 time=49.6 ms
Logs de dnsmasq
dnsmasq: query[A] google.com from 192.168.2.2
dnsmasq: forwarded google.com to 208.67.222.222
dnsmasq: forwarded google.com to 208.67.220.220
dnsmasq: query[AAAA] google.com from 192.168.2.2
dnsmasq: forwarded google.com to 208.67.220.220
dnsmasq: reply google.com is 173.194.41.67
dnsmasq: reply google.com is 173.194.41.71
dnsmasq: reply google.com is 173.194.41.70
dnsmasq: reply google.com is 173.194.41.64
dnsmasq: reply google.com is 173.194.41.65
dnsmasq: reply google.com is 173.194.41.66
dnsmasq: reply google.com is 173.194.41.78
dnsmasq: reply google.com is 173.194.41.73
dnsmasq: reply google.com is 173.194.41.72
dnsmasq: reply google.com is 173.194.41.69
dnsmasq: reply google.com is 173.194.41.68
dnsmasq: reply google.com is 2a00:1450:4009:809::1007
Quand j'essaye de pinger google.fr, ca ne marche pas, il ajoute toujours mon domaine à google.fr . Pourquoi … je n'en sais rien
dnsmasq: query[A] google.fr.home from 192.168.2.2
dnsmasq: config google.fr.home is NXDOMAIN-IPv4
dnsmasq: query[AAAA] google.fr.home from 192.168.2.2
dnsmasq: config google.fr.home is NXDOMAIN-IPv6
Voici l'intégralité de mon fichier dnsmasq.conf
http://pastebin.com/4e40aSxi
Une petite aide ?
Merci d'avance
# etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
en fait si, puisque google.com est bien resolu
par contre google.fr ne l'est pas :(
par contre je vais dire une betise, mais apparemment, tu n'as pas precisé de DNS Forwarder, pour aller interroger quand ce n'est pas un domaine local (.home ou .dmz)
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1.
Mais pourquoi ça marche alors depuis mon vlan home ?
Cette directive n'est elle pas suffisante ?
resolv-file=/etc/resolv.opendns
cat /etc/resolv.opendns
nameserver 208.67.222.222
nameserver 208.67.220.220
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
désolé je n'avais pas vu cette ligne là.
ce qui est etrange, c'est que ca marche pour google.com mais pas pour google.fr depuis la meme machine (qui se trouve dans dmz) :(
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1. Dernière modification le 25 mai 2014 à 16:52.
Voici le log de lancement du service dnsmasq (pour info)
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
ca me semble bizarre cette double definition "local"
mais je ne suis pas un expert en dnsmasq
tu as essayé en desactivant les options relatives à la partie "home"
pour voir si DMZ prend bien ses infos ?
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1. Dernière modification le 25 mai 2014 à 18:29.
J'ai viré toutes les références à dmz. Après tout, les machines de mes vlan font parties du même domaine…
Par contre j'ai déplacé le serveur dans mon vlan et là ça marche…
C'est clair y a un problème au niveau de mes ip rule ou au niveau du mon parfeu ou au niveau de dnsmasq… je penche plus pour dnsmasq
Bon je cherche !! raaa qu'est-ce que le temps passe vite quand on galère
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1.
Mais pourquoi DNSmasq rajoute mon domaine à la fin de l'adresse depuis mon VLAN DMZ ???
dnsmasq: query[A] mirrordirector.raspbian.org.home from 192.168.2.2
dnsmasq: config mirrordirector.raspbian.org.home is NXDOMAIN-IPv4
dnsmasq: query[AAAA] mirrordirector.raspbian.org.home from 192.168.2.2
dnsmasq: query[A] mirrordirector.raspbian.org.home from 192.168.2.1
dnsmasq: config mirrordirector.raspbian.org.home is NXDOMAIN-IPv4
dnsmasq: query[AAAA] mirrordirector.raspbian.org.home from 192.168.2.1
dnsmasq: config mirrordirector.raspbian.org.home is NXDOMAIN-IPv6
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
donc resumons,
ton DNSmasqd directement dans ta DMZ (et pas sur la passerelle) ca marche
ton DNSmasqd sur ta passerelle ou dans ton LAN, ca ne marche plus ?
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1. Dernière modification le 25 mai 2014 à 19:37.
C'est exactement ce problème là : link
Non c'est pas tout à fait comme ça…
J'ai un firewall linux avec 3 interfaces réseaux :
- eth1, INET_IFACE
- eth0, LAN_IFACE
- eth2, DMZ_IFACE
Le firewall héberge les services suivants :
- dnsmasq
- le routage via de règles iptables et ip rules
Depuis mon LAN, tout fonctionne
Depuis ma DMZ vers mon LAN tout fonctionne et inversement
Depuis ma DMZ vers INET (donc internet) aucune des résolutions ne fonctionnent car il suffixe toutes les résolutions DNS par le nom de mon domaine local soit .home
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
si ca marche parfaitement depuis le LAN vers internet,
copie.colle la config LAN sur la config DMZ (hormis le DHCP)
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1.
Peut-être faut il que je découpe mon fichier de configuration et que je lance 2 instances de dnsmasq …. Une pour chaque sous réseau ?
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
sur internet en 2011, c'est qu'on recommandait de faire,
une instance par interface (home et dmz)
chaque bind sur son interface reseau
mais ca n'aide pas pour les fichiers de definitions des machines.
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1. Dernière modification le 25 mai 2014 à 21:51.
Ca ne marche pas.
Le service dnsmasq se met en écoute sur l'interface 127.0.0.1.
La deuxième instance refuse de se lancer
dnsmasq -C /etc/dnsmasq.dmz.conf
dnsmasq: failed to create listening socket for 127.0.0.1: Address already in use
Et toujours ce problème de suffixe…
dnsmasq: query[A] google.fr.home from 192.168.2.2
dnsmasq: config google.fr.home is NXDOMAIN-IPv4
dnsmasq: query[AAAA] google.fr.home from 192.168.2.2
dnsmasq: config google.fr.home is NXDOMAIN-IPv6
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2. Dernière modification le 25 mai 2014 à 22:04.
ben c'est peut-etre pour ca aussi que ca ne marche pas,
ton dnsmasq pour sa partie DNS devrait ecouter sur les interfaces 192.168.0.x et 192.168.2.x
et ca doit etre le cas avec la conf que tu as
d'apres :
http://doc.ubuntu-fr.org/configuration_serveur_dns_dhcp
tu peux aussi regarder l'option
localise-query
il recommande aussi de ne pas utiliser l'option 6 pour preciser le DNS, le DHCP etant par defaut le DNS des postes.
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1. Dernière modification le 25 mai 2014 à 22:33.
J'ai déjà vérifié. Le fichier de configuration de dnsmasq te permet de spécifier quelles interfaces il doit utiliser.
Et il faut bien qu'il y ait une résolution dns locale bien sur…
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
ou pas,
la passerelle n'a pas forcement besoin de connaitre les DNS internes,
c'est peut-etre là ton soucis,
tu demandes Google.fr depuis une interface, il ne connait, pas,
il tente de resoudre sur lui meme (plutot que sur l'interface internet)
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1.
J'ai corrigé mon fichier il n'écoute plus sur l'interface locale pour tester
listen-address=192.168.0.254
listen-address=192.168.2.254
netstat -natup |grep dnsmasq
tcp 0 0 192.168.0.254:53 0.0.0.0:* LISTEN 5357/dnsmasq
tcp 0 0 192.168.2.254:53 0.0.0.0:* LISTEN 5357/dnsmasq
udp 0 0 192.168.0.254:53 0.0.0.0:* 5357/dnsmasq
udp 0 0 192.168.2.254:53 0.0.0.0:* 5357/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 5357/dnsmasq
Mais le pb c'est que le routeur lui même ne fait plus les résolutions :-(
listen-address=127.0.0.1
listen-address=192.168.0.254
listen-address=192.168.2.254
Je suis obligé de rajouter l'adresse locale lol
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
ton routeur doit avoir des DNS exterieurs dans son /etc/resolv.conf
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par popof . Évalué à 1.
Ca marche quand même
cat /etc/resolv.conf
domain home
search home
nameserver 127.0.0.1
Tu spécifies un fichier global dans /etc/dnsmasq.conf
resolv-file=/etc/resolv.opendns
Et tu spécifies les interfaces dans le fichier de conf
listen-address=127.0.0.1
listen-address=192.168.0.254
listen-address=192.168.2.254
[^] # Re: etrange, et pas vraiment de piste mais...
Posté par NeoX . Évalué à 2.
à ce moment là il faut dire à dnsmasq de ne pas utiliser le resolv.conf pour ses resolutions à lui
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.