Bonjour.
Je cherche à forwarder les requettes DNS de mon réseau local. J'ai une machine sous Linux, la box de mon FAI et mon PC perso. Je voudrais que tout passe par la machine Linux.
Pour le routage c'est fait. J'ai activé l'ip_forward et mon PC perso a sa passerelle par défaut qui pointe vers le Linux.
Par contre pour le DNS je voudrais faire pareil et je coince. Il faut que je fasse du forwarding mais je ne pige pas du tout.
# iptables
Posté par Kerro . Évalué à 3.
Si tu ne veux pas t'embêter, tu configures ta box avec un réseau différent. Ta machine Linux fera alors le routage.
Exemple:
box: 192.168.0.1
Linux: 192.168.0.2 et 10.0.0.1
Tes ordinateurs: 10.0.0.x
Tu indiques à tes ordinateurs que leur passerelle par défaut est 10.0.0.1 et que le DNS est 192.168.0.1 ça ira tout seul. Mais je suppose que ce n'est pas ce que tu souhaites, sinon ta demande n'aurait même pas lieu d'être.
Chez nous, nous utilisons ça:
$LINUX=1.2.3.4
$BOX=5.6.7.8
iptables -t nat -A PREROUTING --destination $LINUX --protocol udp --destination-port 53 -j DNAT --to-destination $BOX
iptables -t nat -A POSTROUTING --destination $BOX --protocol udp --destination-port 53 -j SNAT --to-source $LINUX
[^] # Re: iptables
Posté par gremous . Évalué à 1.
Ta première réponse ne me va pas comme tu l'as dit. En fait je n'ai pas besoin de faire tout ça mais c'est pour la forme plus qu'autre chose. Je veux y parvenir.
Ta seconde réponse ne fonctionne pas chez moi. J'ai changé les adresses évidement. Je peux faire des pings vers l'adresse ip d'un site mais je ne peux pas pinguer vers le nom du site. Ca veut dire que le dns ne fonctionne pas.
Je suis perdu avec iptables, et je ne trouve pas avec google non plus pourtant je suis sur que c'est tout simple.
[^] # Re: iptables
Posté par Jack DeNoumea (site web personnel) . Évalué à 1.
quelles sont les routes (client et serveur) ?
quel est ton /etc/resolv.conf de ton PC client?
[^] # Re: iptables
Posté par Kerro . Évalué à 2.
La route de mon serveur est uniquement la passerelle par défaut qui est la box, et resolv.conf pointe aussi vers la box.
La route de mon client pointe vers le serveur et ça marche très bien. Rien dans iptables non plus. Et le resolv.conf pointe actuellement vers la box mais j'aimerais pointer vers le serveur qui redirigerait alors les paquets vers la box et le retour se ferait via le serveur.
Mon but c'est de tout faire passer par le serveur. Après si je mets un bind sur le serveur ou si je change quelque chose alors mon client n'a pas a être modifier. C'est juste pour apprendre en fait car bien entendu ce n'est pas nécessaire chez moi, j'ai que 2 pc et un serveur de fichiers.
[^] # Re: iptables
Posté par gremous . Évalué à 1.
[^] # Précision
Posté par Kerro . Évalué à 2.
Donc le message ci-dessus est de gremous qui m'écrit depuis le portable de sa copine (enfin il n'a pas précisé si c'est une copine ou autre, et peut-être que gremous est déjà une copine, peu importe).
Et idem pour un message plus bas, je le poste en copier/collé de son email.
Bon, c'est pas le tout, mais je lui ai promis de le sortir de ce mauvais pas. Mais je bosse moi, ouinnnnnn :-)
[^] # Re: Précision
Posté par gremous . Évalué à 1.
# dns caching/local dns
Posté par NeoX . Évalué à 2.
tes machines locales interrogent ta passerelle
la passerelle resoud les noms locaux (xxx.monchezmoi.com)
et fait un forward vers les DNS de ton fournisseur
mettre dans /etc/bind/named.options
forwarders {
ip_premier_dns;
ip_2e_dns;
};
[^] # Re: dns caching/local dns
Posté par Kerro . Évalué à 2.
Ca ne résouds pas mon problème de tirage de cheveux. Je tienx vraiment à apprendre à faire passer des paquets de mon pc perso vers ma box via ma passerelle (qui est mon serveur de fichiers en même temps).
En ce moment j'épluche les doc de iptables mais plus j'avance moins je pige. Je crois qu'il y a une concept de base que j'ai mal compris.
[^] # Re: dns caching/local dns
Posté par gremous . Évalué à 1.
[^] # Re: dns caching/local dns
Posté par NeoX . Évalué à 2.
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWT(...)
[^] # Re: dns caching/local dns
Posté par gremous . Évalué à 2.
Merci en tous les cas.
# Ya plusieurs moyen
Posté par benoar . Évalué à 3.
En fait, c'est normal que la solution donnée plus haut ne marche pas puisque le reste des machines derrière ton PC (donc ta box) ne connaissent pas le réseau 10.x.x.x. En fait, il faudrait que tu sois plus précis sur ce que tu veux dire par "passer par la machine linux". Parce que à la base, tu branches un cable et t'actives le routage en mettant un subnet de celui fourni par la box sur l'interface de ton réseau local, et c'est tout.
Sinon, si tu pouvais en dire un peu plus sur la config de ton réseau/tes bécanes, ça pourrait aider un peu.
# Règles iptables en place ?
Posté par Maxime (site web personnel) . Évalué à 1.
Je ne sais pas si tu as bloqué des choses ou pas mais tu peux essayer dans le doute :
iptables -A FORWARD -j ACCEPT
(un peu "open", je suis d'accord)
Tu as testé d'autres services que le DNS (genre un wget sur l'ip de google) ? Parce que normalement ça devrait passer avec ça... Pas que le DNS...
Dans le cas où tu as dis que le serveur DNS serait l'ip de ton Linux, tu installes soit bind9 et tu le configures pour préciser les forwarders, soit tu installes dnsmasq qui te fera même le dhcp. (pour bind, j'ai vu une réponse plus haut donc pas la peine de détailler)
# La solution donnée est la bonne
Posté par gremous . Évalué à 3.
J'explique pour les autres qui seraient interessés.
La solution est
$LINUX=1.2.3.4
$BOX=5.6.7.8
iptables -t nat -A PREROUTING --destination $LINUX --protocol udp --destination-port 53 -j DNAT --to-destination $BOX
iptables -t nat -A POSTROUTING --destination $BOX --protocol udp --destination-port 53 -j SNAT --to-source $LINUX
en remplacant les adresses ip factices par vos adresses à vous évidement.
J'ai eu un premier blocage d'internet suite à tout plein de manip que j'ai fait. Même en rebootant ça ne marchait toujours pas. Kerro m'a dépanné par téléphone. Après ça il m'a fait installer un compte ssh pour qu'il regarde et il a simplement dit d'enlever bind et tout a marché du premier coup. En fait bind prenait les paquets et iptables ne les voyait pas. Maintenant qu'il n'y a plus bind ça marche nickel chrome.
p.s. Ta copine elle est toujours comme ça ou c'était un jour spécial? :)
[^] # Re: La solution donnée est la bonne
Posté par Kerro . Évalué à 3.
Ta solution est bien la bonne
Tu m'étonnes que c'est la bonne. Nous l'utilisons depuis pas mal de temps, je m'en serais rendu compte si ça ne fonctionnait pas.
Ta copine elle est toujours comme ça ou c'était un jour spécial?
C'est une collègue de travail, ne viens pas mettre la boxon hein ! :-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.