Forum Linux.débutant Forwarding DNS

Posté par  .
Étiquettes : aucune
0
21
août
2008
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  (site Web personnel) . Évalué à 3.

    Nous faisons la même chose dans nos réseaux. Les ordinateurs pointent vers une adresse qui gère tout.

    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  . Évalué à 1.

      Merci de ta réponse. Rapide en plus!

      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  (site Web personnel) . Évalué à 1.

        qu'elles sont les regles que tu as mis dans iptables (client et serveur)?
        quelles sont les routes (client et serveur) ?
        quel est ton /etc/resolv.conf de ton PC client?
        • [^] # Re: iptables

          Posté par  (site Web personnel) . Évalué à 2.

          Dans iptables je n'ai rien mis pour le moment. J'ai juste essayé ce qu'a indiqué kerro.

          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  . Évalué à 1.

            Merci ça remarche.
          • [^] # Précision

            Posté par  (site Web personnel) . Évalué à 2.

            J'ai oublié de préciser que je poste à la demande de gremous qui a flingué son accès internet :-)
            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  . Évalué à 1.

              Merci c'est revenu avec ton aide. Comme tu as remarqué au téléphone je suis un mec désolé :)
  • # dns caching/local dns

    Posté par  . Évalué à 2.

    tu met un bind9 sur ta passerelle

    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  (site Web personnel) . Évalué à 2.

      Oui j'ai déjà fait, j'ai installé bind et ça marche bien. Ca marche même mieux qu'en passant par la box enfin c'est plus rapide pour analyser des log apache même si c'est pas vraiment le super cas interessant au quotidien.

      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.
  • # Ya plusieurs moyen

    Posté par  . Évalué à 3.

    Si tu veux que ton ordinateur fasse vraiment "intermédiaire" entre ton réseau local et le net (en passant par ta box), je te conseilles dnsmasq, qui fait serveur DHCP + relai DNS. C'est pas prise de tête si tout ce que tu veux faire c'est avoir un réseau privé que tu forwardes sur le net.

    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  (site Web personnel) . Évalué à 1.

    Dans le cas où tu utilises l'adresse DNS de ton FAI :

    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  . Évalué à 3.

    Tout d'abord merci kerro pour ton aide. Ta solution est bien la bonne. Merci d'avoir passé du temps au téléphone pour me dépanner de mes bétises :)

    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  (site Web personnel) . É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 à ceux qui les ont postés. Nous n’en sommes pas responsables.