IP forwarding ?

Résolu
voici ma configuration :
j'ai une passerelle avec Unbuntu server avec 2 cartes réseaux, l'une de ses cartes est connectee au modem, l'autre à la machine bureautique (winXp) :

modem(192.168.30.1)-----eth1(192.168.30.10)UBUNTU(192.168.0.2)eth0-----BUR0TIC
mon modem fait office de serveur DHCP pour UBUNTU, j'ai installe un serveur DHCP sur UBUNTU pour BUROTIC.

sur UBUNTU, je peux pinguer eth0, eth1, le modem et un ping sur google marche tres bien.
tout est ok de ce cote.

sur BUROTIC, je peux pinguer eth0 et c'est tout. Le serveur DHCP installé sur UBUNTU fait bien son travail, j'ai bien une adresse IP apres un ipconfig /renew.

Mais je ne peux pinguer eth1, ni le modem.
il semble qu'il n'y ai pas de communication entre eth0 et eth1 (vu par BUROTIC)
quel est le pb ?

nota : j'ai bien activer l'IP forwarding dans /proc/sys/net/ipv4/ip_forward.

je suis bloquee.

merci
Sophie

25 réponses

Résumé de la discussion

La question porte sur une passerelle Ubuntu avec deux interfaces (eth1 sur 192.168.30.0/24 et eth0 sur 192.168.0.0/24) où une machine bureautique Windows ne peut ni atteindre eth1 ni le modem malgré l'IP forwarding activé. Des échanges portent sur la configuration NAT et les passerelles par défaut, avec des propositions autour de MASQUERADE ou SNAT, et sur la correction de la passerelle du poste Windows. Plusieurs conseils recommandent de retirer la passerelle par défaut sur l'interface Ubuntu, de mettre Windows en passerelle 192.168.0.2 et d'appliquer un script iptables simple pour le NAT, sans filtrage initial.

Bobot (l’IA à votre service)
  1. Modérateur
    Salut à tous,

    Félicitations Sophie.
    Merci pour les remarques kelux. Je vais essayer d'être plus explicite pour la prochaine fois.

    j'ai retire la gw de interfaces et j'ai mis la passerelle XP en 192.168.0.2
    C'est ça que j'ai dit dans ip forwarding#29
    # passerelle défaut: 192.168.0.1 - ici mets 192.168.0.2

    lami20j
    0
    1. bonne nouvelle : ca marche !

      j'ai retire la gw de interfaces et j'ai mis la passerelle XP en 192.168.0.2
      et c'est bon !
      je suis contente.....

      j'ai retire la gw de /etc/network/interfaces et j'ai passe la passerelle en 192.168.0.2

      et dans le script Fw :
      iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE

      maintenant que j'ai une config propre, je vais essayer :
      1 - de passer en IP statique sur eth1 donc ne pas utiliser le serveur DHCP du modem
      2 - consolider mon script FW.

      Merci a vous 2, votre aide à ete tres preciseuse.

      S.
      0
      1. non !!!
        j'ai besoin d'aide !

        j'essaye de faire au plus simple, d'elaguer le probleme pour avoir le moins de trucs parasites.

        ok je vais appliquer les modifs, et en + je prefere n'avoir qu'une route par default...

        merci

        sophie
        0
        1. Modérateur
          Sophie écoute kelux,

          N'enleve pas ton dhcp,ce n'est pas parce que lami20j n'a pas mis de dhcp chez lui que tu dois l'enlever aussi. Sa config elle marche tant mieux, pour l'instant la tienne n'a pas avancé...


          Si tu utilise dhcp mieux vaut écouter kelux.

          lami20j
          0
          1. Contributeur
            il faudrait donc
            - desactiver le serveur DHCP sur le routeur
            - passer en IP fixe sur eth1
            - ne pas mettre de gateway dans /etc/network/interface et prendre par defaut celui du modem.
            - mettre l'@ IP 192.168.30.1 (c'est l'IP du routeur) dans la configuration de la passerelle sur XP.


            non non !

            As tu s'il te plait suivi ce que j'ai dit au post n° 28 ?

            Ne touche a rien d'autres tu vas tout foutre en l'air.
            N'enleve pas ton dhcp,ce n'est pas parce que lami20j n'a pas mis de dhcp chez lui que tu dois l'enlever aussi. Sa config elle marche tant mieux, pour l'instant la tienne n'a pas avancé...

            Mais la je te donne des solutions pour ton architecture, alors s'il te plait peux tu essayer ce que j'avance plus haut. Merci

            Si tu ne veux pas m'écouter , alors dis le moi simplement et j'arreterai de t'aider.
            0
            1. bonjour,

              ce que j'ai compris : le FORWARDING permet le passage de eth0 à eth1, du LAN au WAN
              Une information qui est reçue doit "traverser" la passerelle. Depuis le LAN, l'interface
              "eth0" reçoit une trame et la transfère d'eth0 vers eth1 et viceversa.

              Ensuite, il faut changer l'adresse LAN, privée, par l'adresse internet, publique.
              C'est que l'on appelle la "translation d'adresse".

              Si tu autorises tout, ben rien ne se passe. !!!!!!!!!!!! heu je veux mettre le Fw
              en mode "transparent", je veux qu'il soit la mais qu'il ne bloque rien pour isoler les problemes...
              Donc pour moi, mettre des ACCEPT partout permet de laisser passer les paquets sans contraintes.

              Et 192.168.0.1 tu l'as sorti d'où : C'est l'@ IP de ma gateway, pour que XP puisse avoir une @
              a renseigner dans sa configuration de passerelle.
              je sens la bourde...... :-)

              il faudrait donc
              - desactiver le serveur DHCP sur le routeur
              - passer en IP fixe sur eth1
              - ne pas mettre de gateway dans /etc/network/interface et prendre par defaut celui du modem.
              - mettre l'@ IP 192.168.30.1 (c'est l'IP du routeur) dans la configuration de la passerelle sur XP.

              ce que je fais a l'heure actuelle alors .............:
              ma machine bureautique a un paquet a envoyer à www.google.fr
              (209.85.129.99 par exemple).
              209.85.129.99 n'est pas dans mon sous réseau (192.168.0.x), donc elle envoit le paquet à 192.168.0.1 parce que je lui ai dit que cette machine savait où envoyer ce paquet.
              Or il n'y a personne au bout du fil puisqu'aucune machine n'a pour
              adresse IP 192.168.0.1 dans ce sous-réseau.
              Résultat: le paquet part à la poubelle.

              en tout cas, merce de votre soutien.
              0
              1. Contributeur
                D'ailleurs ce pb est la route par défaut, comme depuis le début ou lami20j te dit de mettre une passerelle qui n'est pas du même réseau que le xp...
                0
            2. Contributeur
              Désolé de mal te comprendre, tes explications sont parfois inextricables, et pourtant je connais un peu le réseau...

              De plus que la config soit manuelle ou en dhcp , il ne faut pas mettre quoiqu'il arrive deux passerelles par défaut.

              0
              1. Modérateur
                Salut,

                il ne faut pas mettre quoiqu'il arrive deux passerelles par défaut.


                NET - modem routeur(IP routeur c'est la passerelle) - linux(c'est une passerelle pour win donc c'est par lui que win ce connecte sur net) - windows

                Windows ce connecte sur net par l'interface eth0 du linux - c'est la passerelle par la quelle windows se connecte sur net.

                La passerelle pour linux l'IP c'est l'Ip du modem routeur
                La passerelle pour windows c'est l'IP du linux (qui est routeur)

                Linux a 2 interfaces
                eth1 - connecté au modem routeur
                eth0 - linux - win

                Si les règles iptables sont correctes win peut utiliser comme passerelle l'IP du routeur linux (que ça soit l'IP de eth0 ou eth1 peu importe)

                lami20j
                0
            3. Modérateur
              Salut,

              ma configuration, et je l'ai déjà dit est basé sur un IP fix, sans dhcp.

              Si Sophie utilise le dhcp alors ça sera mieux si elle t'écoute.

              Ca reste à prouver. Je t'assure que mes policy sont à ACCEPT tout passe, tant que la nat soit fonctionelle ainsi que le routage.

              Exactement, mais c'est ça que j'ai dit.

              Si tu autorises tout, ben rien ne se passe.
              Tu as un FORWARDING à faire entre eth0 et eth1
              Et à un IP à traduire


              Et toi aussi tant que la nat soit fonctionelle ainsi que le routage

              lami20j

              P.S. Pour eviter les malentendus, j'ai un IP fix sur ma freebox et je n'utilise pas le dhcp (qui d'ailleurs sera con avec un IP fix).
              Toute la configuration chez moi est faite manuellement.
              0
              1. Contributeur
                # gateway: 192.168.0.1 - ici mets 192.168.30.1 (c'est l'IP du routeur)

                Cela n'est pas utile de mettre la passerelle pour cette carte, la passerelle linux récupère déja une passerelle par défaut avec le dhcp du modem/routeur cegetel.

                Au contraire rajouter une autre passerelle par défaut est source de problème inattendu.

                Si tu autorises tout, ben rien ne se passe.
                Ca reste à prouver. Je t'assure que mes policy sont à ACCEPT tout passe, tant que la nat soit fonctionelle ainsi que le routage.

                0
                1. Modérateur
                  Salut,

                  # gateway: 192.168.0.1 - ici mets 192.168.30.1 (c'est l'IP du routeur)
                  # passerelle défaut: 192.168.0.1 - ici mets 192.168.0.2 (c'est l'IP du routeur, mais comme j'ai precisé dans mes messages, même si tu mets l'IP du eth1 - qui d'ailleurs c'est le routeur et on a la table NAT - 192.168.30.10 ça marche aussi)

                  Et tu n'as pas compris l'histoire le NAT et FORWARDING.

                  Si tu autorises tout, ben rien ne se passe.
                  Tu as un FORWARDING à faire entre eth0 et eth1
                  Et à un IP à traduire

                  Et 192.168.0.1 tu l'as sorti d'où?

                  lami20j
                  0
                  1. Contributeur
                    Salut,

                    Alors pour l'histoire des routes : une machine ne peut avoir deux routes par défaut. La route par défaut est contactée lorsque dans la table de routage le réseau de destination n'est pas connu. C'est assez genant lorsque tu as 2 routes...

                    Je te conseille de retirer la route :

                    # The secondary network interface
                    auto eth0
                    iface eth0 inet static
                    address 192.168.0.2
                    netmask 255.255.255.0

                    Ensuite sur le poste XP , tu modifies la passerelle pour qu'elle devienne 192.168.0.2 (l'adresse IP de ta passerelle Linux).

                    Alors apres, une fois que tes routes sont correctes on passe à iptables.

                    Peux tu remplacer cela :

                    iptables -A POSTROUTING -t nat -o eth1 -j SNAT --to 192.168.30.10 


                    par :

                    iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE


                    (prends auparavant soin de vider les chaines et tables grace a ton script qui nettoie tout)

                    Dès que tu auras un truc de fonctionnel (au moins le routage et la nat) on pourra paufiner le filtrage.

                    a+
                    0
                    1. Contributeur
                      J'en rajoute une couche, juste parce que je suis de mauvaise humeur et bien malade de voir certaines horreurs...

                      La personne que tu as tenté d'aider n'y arrive toujours pas ? Alors je me demande si effectivement ta solution fonctionne.
                      0
                      1. Modérateur
                        Salut,

                        La personne que tu as tenté d'aider n'y arrive toujours pas ? Alors je me demande si effectivement ta solution fonctionne

                        Ca je ne peux pas te repondre. En revanche chez moi ça fonctionne.
                        Si ça ne marche pas chez elle, je ne suis pas responsable.

                        D'ailleurs, quand je donne une réponse c'est d'abord vérifier.

                        je suis de mauvaise humeur et bien malade de voir certaines horreurs...

                        Désolé de t'avoir rendu malade avec mes horreurs.

                        lami20j
                        0
                      2. Contributeur
                        @lami20jTu n'as pas répondu a mon message précédent ? Quen penses tu ?
                        0
                      3. Modérateur
                        @keluxEt ça ne me dérange pas de recevoir des remarques si je me trompe. Au contraire.
                        Et si je me trompe je le reconnaît. C'est pour ça que je suis là.

                        lami20j
                        0
                      4. @keluxheeeeeeeeeeeee

                        vous voulez bien vous calmer un peu ?

                        C'est pas la peine de se facher.

                        j'ai un simple probleme d'iptable, c'est tout, j'ai donne mon script (qui n'est pas imbuvale) pour info par rapport a un iptables -v -L -n.

                        bien sur que j'ai commence avec presque rien dedans, je ne suis pas idiote au point de tout mettre tel quel dedans. J'ai essaye differentes regles ce we, histoire de comprendre IPtables et de monter ma passerelle.

                        le travail de lami20j est tres bien, il me sert de fil d'Ariane, a moi d'etre critique et de progresser.

                        ok pour le pb de dns.

                        TRES cordialement

                        Merci
                        0
                      5. @keluxje n'arrive pas a avoir le net sur ma machine burotique :
                        je ne vois pas le pb mais j'ai un doute sur la commande route (4)
                        mon Fw est totalement permissif

                        Merci,

                        sophie

                        # web
                        # |
                        # |
                        # routeur Cegetel:192.168.30.1
                        # |
                        # |
                        # |
                        # eth 1 : 192.168.30.10
                        # debian
                        # gateway: 192.168.0.1
                        # DNS1:86.64.145.146
                        # eth0 : 192.168.0.2
                        # |
                        # |
                        # |
                        # eth1:192.168.0.10 (LAN)
                        # WinXP/Gentoo
                        # passerelle défaut: 192.168.0.1
                        # DNS1:86.64.145.146

                        1) j'ai un iptables sans rien dedeans, j'autorise tout :
                        iptables -t filter -F
                        iptables -t filter -X
                        iptables -t filter -P INPUT ACCEPT
                        iptables -t filter -P FORWARD ACCEPT
                        iptables -t filter -P OUTPUT ACCEPT

                        iptables -t nat -F
                        iptables -t nat -X
                        iptables -t nat -P PREROUTING ACCEPT
                        iptables -t nat -P OUTPUT ACCEPT
                        iptables -t nat -P POSTROUTING ACCEPT

                        iptables -t mangle -F
                        iptables -t mangle -X
                        iptables -t mangle -P PREROUTING ACCEPT
                        iptables -t mangle -P INPUT ACCEPT
                        iptables -t mangle -P FORWARD ACCEPT
                        iptables -t mangle -P OUTPUT ACCEPT
                        iptables -t mangle -P POSTROUTING ACCEPT

                        echo 1 > /proc/sys/net/ipv4/ip_forward

                        2) pour confirmer :
                        iptables -L -n -v
                        Chain INPUT (policy ACCEPT 50 packets, 4468 bytes)
                        pkts bytes target prot opt in out source destination

                        Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
                        pkts bytes target prot opt in out source destination

                        Chain OUTPUT (policy ACCEPT 33 packets, 3788 bytes)
                        pkts bytes target prot opt in out source destination

                        iptables -L -n -v -t nat
                        Chain PREROUTING (policy ACCEPT 17 packets, 5141 bytes)
                        pkts bytes target prot opt in out source destination

                        Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
                        pkts bytes target prot opt in out source destination
                        0 0 SNAT all -- * eth1 0.0.0.0/0 0.0.0.0/0 to:192.168.30.10

                        Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
                        pkts bytes target prot opt in out source destination

                        iptables -A POSTROUTING -t nat -o eth1 -j SNAT --to 192.168.30.10

                        3) mes 2 cartes reseau sont bien configurees sur la passerelle
                        ifconfig
                        eth0 Link encap:Ethernet HWaddr 00:50:BA:B5:6B:CD
                        inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
                        inet6 addr: fe80::250:baff:feb5:6bcd/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                        RX packets:973 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:692 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:1000
                        RX bytes:85611 (83.6 KiB) TX bytes:100302 (97.9 KiB)
                        Interrupt:11 Base address:0xdc00

                        eth1 Link encap:Ethernet HWaddr 00:50:04:ED:41:B5
                        inet addr:192.168.30.10 Bcast:192.168.30.255 Mask:255.255.255.0
                        inet6 addr: fe80::250:4ff:feed:41b5/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                        RX packets:75 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:1000

                        4) j'ai un doute sur la commande route :

                        Kernel IP routing table
                        Destination Gateway Genmask Flags Metric Ref Use Iface
                        192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
                        192.168.30.0 * 255.255.255.0 U 0 0 0 eth1
                        default 192.168.30.1 0.0.0.0 UG 0 0 0 eth1
                        default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

                        j'ai 2 default !!!

                        5) pour info voici le fichier interfaces
                        auto lo
                        iface lo inet loopback

                        # The primary network interface
                        auto eth1
                        iface eth1 inet dhcp

                        # The secondary network interface
                        auto eth0
                        iface eth0 inet static
                        address 192.168.0.2
                        netmask 255.255.255.0
                        gateway 192.168.0.1

                        6) et la config sur windows :
                        @ IP : 192.168.0.10
                        gw : 192.168.0.1
                        DNS 1 : 86.64.145.146
                        0
                    2. Contributeur
                      Bonjour,

                      Et moi ce que je dis ? Non tu n'y jettes pas un oeil ?

                      Au lieu de balancer un pauvre script iptables qui est inbuvable , tu peux essayer de faire marcher ta passerelle avec des règles simples ?

                      D'ailleurs tu n'as meme pas besoin de filtres pour vérifier si ca fonctionne.

                      De plus je me répète, la passerelle du xp est fausse ! (et meme dans l'exemple de lami20j, la passerelle est fausse).

                      Depuis quand on met une passerelle par défaut du réseau d'à coté ??? Mais la machine comment elle fait pour savoir qu'il faut aller dans le réseau d'a coté pour trouver son point de sortie ????????????

                      a+
                      0
                      1. Modérateur
                        Salut kelux,

                        De plus je me répète, la passerelle du xp est fausse ! (et meme dans l'exemple de lami20j, la passerelle est fausse).


                        ubuntu reseau#35

                        en effet il y a une erreur. j'ai mis l'IP du routeur au lieu de 10.0.0.2

                        Depuis quand on met une passerelle par défaut du réseau d'à coté ??? Mais la machine comment elle fait pour savoir qu'il faut aller dans le réseau d'a coté pour trouver son point de sortie ????????????
                        Par la table de routage.

                        lami20j
                        0
                      2. Contributeur
                        @lami20jL'adresse du xp devrait etre 192.168.1.1 sur ton exemple.

                        Apres tu me parles de tables de routage,

                        La table de routage de qui , du xp ou de la passerelle ?

                        Maintenant , lors de la requete ARP du client XP, il va demander, si je suis ton exemple, "Quelle est l'adresse MAC de l'@ IP de ma passerelle, a savoir 192.168.10.30" ?

                        Peux tu me dire comment la requete ARP puisse aboutir correctement ? Et donc avoir l'adresse mac de la passerelle coté LAN ?? L'adresse MAC qu'elle va recevoir sera laquelle ??

                        Apres on parle toujours de table de routage ?
                        0
                      3. Modérateur
                        @keluxDans le lien que je t'ai donné dans la réponse 18 tu as ma config qui fonctionne, avec la correction ( au lieu de 10.0.0.254 c'est 10.0.0.2)

                        Je vais t'afficher ma table de routage ce soir.

                        lami20j
                        0
                      4. Contributeur
                        @lami20jMalheureusement tu ne réponds pas à mes questions, je ne veux pas voir ta table de routage. Je sais déja à quoi cela ressemble je te remercie.
                        0
                    3. il me manque les DNS, je suis d'accord.
                      pour l'instant je me penche juste sur le ping du modem, quand celui ci sera ok, je mettrais les @ IP DNS de mon FAI donne par mon modem pour pinguer google.
                      a+
                      0
                      1. Bonjour,

                        je viens vous donner des nouvelles, mon probleme n'est toujours pas resolu : pas de
                        net depuis le poste bureautique, pourtant je me suis bagaree ce we !

                        pour rafraichir les memoires :
                        modem(192.168.30.1)-----eth1(192.168.30.10)UBUNTU(192.168.0.1)eth0-----(192.168.0.10)BUR0TIC
                        j'ai mis une @IP statique sur BUR0TIC, je n'utilise donc pas le serveur DHCP de UBUNTU
                        le modem fait office de serveur DHCP pour UBUNTU.

                        voici ipconfig sur le poste BUR0TIC :
                        quelle @IP dois je mettre en Passerelle ?
                        Description . . . . . . . . . . . : SiS190 100/10 Ethernet Device
                        Adresse physique . . . . . . . . .: 00-13-D4-29-E9-0C
                        DHCP activé. . . . . . . . . . . : Non
                        Adresse IP. . . . . . . . . . . . : 192.168.0.10
                        Masque de sous-réseau . . . . . . : 255.255.255.0
                        Passerelle par défaut . . . . . . : 192.168.30.10 <------------------

                        le script iptables se lance tres bien :
                        iptables -v -L -n
                        Chain INPUT (policy ACCEPT 137 packets, 45744 bytes)
                        pkts bytes target prot opt in out source destination
                        0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
                        0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
                        28 2944 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

                        Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
                        pkts bytes target prot opt in out source destination
                        0 0 ACCEPT all -- eth0 eth1 192.168.0.10 192.168.30.1 0 state RELATED,ESTABLISHED

                        Chain OUTPUT (policy ACCEPT 33 packets, 4648 bytes)
                        pkts bytes target prot opt in out source destination

                        Voici mon script, j'ai fais des essais, je dois avoir des doublons. Je n'arrive toujours
                        pas a pinguer le modem depuis le poste bureautique.

                        Merci de votre aide :

                        #! /bin/sh
                        #
                        # Description: configuration de firewall netfilter/iptables
                        #
                        # Initialization de la table FILTER : assurer le filtrage des paquets
                        # 3 chaines : INPUT, FORWARD et OUTPUT
                        #
                        iptables -F # Flush : supprime toutes les chaines predefinies de la table Filter
                        iptables -X # eXclude : suppime toutes les chaines utilisateur
                        iptables -P INPUT ACCEPT #DROP # Policy : supprime par defaut toutes les trames dans la chaine INPUT
                        iptables -P OUTPUT ACCEPT #DROP # idem
                        iptables -P FORWARD ACCEPT #DROP # les 3 cmd = debranchement des cables

                        ########################################################################################################

                        # Initialisation de la table NAT : Alors que dans la table FILTER, la chaine FORWARD permet de definir
                        # quels sont les paquets autores a etre NATe, la table NAT sera chargee de la moddification des paquets,
                        # afin qu'ils soient correctement utilisable sur l'interface de destination.
                        # 3 chaines: PREROUTING, POSTROUTING et OUTPUT
                        #
                        iptables -t nat -F # -t pour table, indique sur quelle table nous voulons travailler
                        iptables -t nat -X
                        iptables -t nat -P PREROUTING ACCEPT
                        iptables -t nat -P POSTROUTING ACCEPT
                        iptables -t nat -P OUTPUT ACCEPT

                        #######################################################################################################
                        #
                        # Initialisation de la table MANGLE : modification des paquets en leur ajoutant ou supprimant certaines info
                        # 5 chaines: PREROUTING, INPUT, FORWARD, OUTPUT et POSTROUTING
                        #
                        iptables -t mangle -F
                        iptables -t mangle -X
                        iptables -t mangle -P PREROUTING ACCEPT
                        iptables -t mangle -P INPUT ACCEPT
                        iptables -t mangle -P OUTPUT ACCEPT
                        iptables -t mangle -P FORWARD ACCEPT
                        #####################################################################################################

                        ADD_IP_INTRANET="192.168.0.1"
                        ADD_IP_INTERNET="192.168.30.10"
                        ADD_IP_LOCAL="0.0.0.0/0"
                        ADD_IP_BUROTIK="192.168.0.10"
                        INTERFACE_INTRANET="eth0"
                        INTERFACE_INTERNET="eth1"

                        ################################# interface lo ##########################################################

                        # -A pour Append : ajoute une regle a une chaine predefinie ou utilisateur
                        # -i pour input : critere sur l'interface reseau dont provient la paquet
                        # -s : @IP ou reseau : critere sur l'@ IP source du paquet
                        # -d : @IP ou reseau : critere sur l'@ IP de destination du paquet
                        # -j : jump cible : defini l'action si un paquet correspond aux criteres de cette regle.
                        # on accepte le paquet venant de l'interface locale ayant pr @ IP : 0.0.0.0 et pour destination cette meme
                        # @ IP. Utile pour des softs qui utilisent cette @ pour fonctionner.

                        #iptables -A INPUT -i lo -s $ADD_IP_LOCAL -d $ADD_IP_LOCAL -j ACCEPT
                        # idem de l'autre cote, les paquets ont le droit de sortir.
                        #iptables -A OUTPUT -o lo -s $ADD_IP_LOCAL -d $ADD_IP_LOCAL -j ACCEPT

                        #pas de filtrage sur l'interface loopback
                        iptables -A INPUT -i lo -j ACCEPT

                        ################################## Autoriser le ping ####################################################
                        iptables -A INPUT -p icmp -j ACCEPT

                        ################################## Autoriser le multicast ###############################################
                        #iptables -A INPUT -p igmp -j ACCEPT

                        ################################## Autoriser des entrees sur les cnx etablies par Burotik ###############
                        iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

                        ################################## Autoriser le ssh #####################################################
                        iptables -A INPUT -p tcp --dport 22 -j accept

                        #on rejete toutes les autres entrees
                        #iptables -A INPUT -j REJECT

                        ################################## table FILTER #########################################################

                        # chaine INPUT
                        # -m : demande d'utiliser un module state dans notre cas.
                        # ajout d'une regle : le paquet arrive (INPUT) par l'interface reseau eth0 et ce meme paquet qui est
                        # destine ADD_IP_ETH0 filtre les paquets de connexions deja etanblies via une handshake, la regle est d'accepter
                        # ses cnx
                        # ESTABLISHED signifie grossierement que la cnx analysee par le fw a ete vue dans l'autre sens precedement : jenvoie
                        # une requete sur google, le fw a vu passer la requete partant de chez moi pour aller chez google. Ce dernier m'envoie
                        # une reponse. Ici, le fw constatera que c'est moi qui ait commence cette cnx, il considera alors cette cnx comme
                        # ESTABLISHED. RELATED concerne de nouvelle cnx ms qui ont ete initialisee par une cnx deja existante et etablie.
                        ##iptables -A INPUT -i $INTERFACE_INTRANET -d $ADD_IP_ETH0 -m state --state ESTABLISHED,RELATED -j ACCEPT

                        # chaine FORWARD
                        # ajout d'une regle : transiter les paquets de eth0 a eth1 avec comme @IP source : 0.0.0.0 et comme @IP de
                        # destination l@IP de la machine bureautique connectee sur le LAN
                        iptables -A FORWARD -i $INTERFACE_INTRANET -o $INTERFACE_INTERNET -s $ADD_IP_BUROTIK -d $ADD_IP_INTERNET -m state --state RE$

                        # chaine OUTPUT
                        # ajout d"une chaine qui consiste a autoriser la sortie des paquets venant de eth0 qui ont un etat handsahke different de IN$
                        ##iptables -A OUTPUT -o $INTERFACE_INTRANET -m state --state ! INVALID -j ACCEPT
                        # idem sur eth1
                        ##iptables -A OUTPUT -o $INTERFACE_INTERNET -m state --state ! INVALID -j ACCEPT

                        #################################### table NAT ##########################################################
                        # autoriser la translation d'@ en fin de traitement sur le paquet provenant de eth0 avec comme @IP celle de ma machine burot$
                        # et dire qu'elle vient en fait de l'@IP intranet
                        ##iptables -t nat -A POSTROUTING -o $INTERFACE_INTRANET -s $ADD_IP_BUROTIK -j SNAT --to-source $INTERFACE_INTRANET
                        0
                        1. Modérateur
                          Sophie,

                          as-tu exécuter le script pour iptables?

                          7) iptables -v -L -n
                          --------------------
                          Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
                          pkts bytes target prot opt in out source destination

                          Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
                          pkts bytes target prot opt in out source destination

                          Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
                          pkts bytes target prot opt in out source destination


                          Ca veut dire que tu n'as pas de firewall sous ton Ubuntu et c'est tout.
                          Ni nat ni forward.

                          Et pour windows il te manque les DNS

                          lami20j

                          P.S. Il n'y a pas des raisons que ça ne marche pas
                          0
                          1. Modérateur
                            Salut,

                            Je n'aime pas trop l'utilisation de SNAT...

                            C'est ton droit. En revanche à savoir que la cible MASQUERADE est utilisé au lieu de SNAT dans le cas où les IP du pare-feu sont dynamiques.

                            Cette option invalide aussi la sélection de port par défaut, chose qu'offre la cible SNAT.

                            En ce qui concerne la passerelle par défaut pour xp ce n'est pas faux du tout. Si ça ne marchait pas chez moi je ne donnais pas l'exemple ubuntu reseau#35

                            En revanche on peut aussi utiliser l'IP de l'interface linux qui est en réseau avec l'interface xp

                            Et en ce qui concerne le script plus simple que ça il n'y a pas.
                            C'est vraiment le minimum pour que ça fonctionne (enfin chez moi ça fonctionne - et je parle de la même config que sophie)

                            Ce que peut être je n'ai pas precisé c'est que tout est configuré manuellement, pas de DHCP, que d'ailleurs je trouve inutile si le FAI a attribué un IP fix.

                            lami20j

                            P.S. A propos pat c'est quoi?
                            0
                            1. Contributeur
                              Bonsoir,

                              Cette option invalide aussi la sélection de port par défaut, chose qu'offre la cible SNAT

                              Je n'ai pas compris dsl. (port par défaut, alors qu'on joue avec des ip's...)

                              Ensuite je confirme que la passerelle du XP n'est pas la bonne (à moins que le copier/coller soit erroné) :

                              Description . . . . . . . . . . . : SiS190 100/10 Ethernet Device
                              Adresse physique . . . . . . . . .: 00-13-D4-29-E9-0C
                              DHCP activé. . . . . . . . . . . : Non
                              Adresse IP. . . . . . . . . . . . : 192.168.0.10
                              Masque de sous-réseau . . . . . . : 255.255.255.0
                              Passerelle par défaut . . . . . . : 192.168.30.10


                              Alors qu'elle devrait etre du meme réseau que son IP, a savoir sur un réseau en 192.168.0.X... Déja cela ne me semble pas correct.

                              Et enfin le PAT = Port Address Translation

                              Bonne soirée.

                              PS : comme l'a dit lami20j, exécute le script ca irait mieux :)
                              0
                            2. Modérateur
                              @keluxSalut,

                              merci pour pat

                              en ce qui concerne la passerelle c'est bien ça, vu qu'on passe par SNAT (comme j'ai precisé c'est une config que j'utilise et ça fonctionne)

                              Je n'ai pas compris dsl. (port par défaut, alors qu'on joue avec des ip's...)

                              c'est quand on utilise --to, --to-port
                              en bref avec SNAT on peut modifier des adresses ou des ports
                              masquerade est indispensable quand il s'agit de IP dynamique

                              lami20j
                              0
                          2. Contributeur
                            Bonjour,

                            Je n'aime pas trop l'utilisation de SNAT...

                            j'aurai conseiller un truc du style pour le nat et le pat :

                            iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

                            De plus je déconseille les filtres -s et -d tant que le routage de base n'est pas fonctionnel (sans politique de filtrage).

                            Teste ton script avec des règles simples... tu étofferas plus tard la politique de sécurité.

                            De plus la passerelle par défaut du xp n'est pas bonne... il faut qu'elle soit 192.168.0.2

                            a+
                            0
                            1. j'ai reussi a reallouer une @ IP sur eth1.

                              donc voici route et ipconfig.

                              route
                              Kernel IP routing table
                              Destination Gateway Genmask Flags Metric Ref Use Iface
                              192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
                              192.168.30.0 * 255.255.255.0 U 0 0 0 eth1
                              default 192.168.30.1 0.0.0.0 UG 0 0 0 eth1

                              ifconfig
                              eth0 Link encap:Ethernet HWaddr 00:50:BA:B5:6B:CD
                              inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
                              inet6 addr: fe80::250:baff:feb5:6bcd/64 Scope:Link
                              UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                              TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
                              collisions:0 txqueuelen:1000
                              RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)
                              Interrupt:11 Base address:0xdc00

                              eth1 Link encap:Ethernet HWaddr 00:50:04:ED:41:B5
                              inet addr:192.168.30.10 Bcast:192.168.30.255 Mask:255.255.255.0
                              inet6 addr: fe80::250:4ff:feed:41b5/64 Scope:Link
                              UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                              RX packets:850 errors:0 dropped:0 overruns:0 frame:0
                              TX packets:475 errors:0 dropped:0 overruns:0 carrier:0
                              collisions:0 txqueuelen:1000
                              RX bytes:125025 (122.0 KiB) TX bytes:96794 (94.5 KiB)
                              Interrupt:10 Base address:0xef80
                              0
                              1. bon je viens aux nouvelles...

                                ca marche pas :-( mais eth1 n'a pas d'@ IP attribuée par le serveur DHCP de mon modem !!!
                                et j'ai piqué le script de lami20j :-)

                                voici les differentes traces effectuées ce midi, ma configuration est elle bonne ?

                                merci

                                ma config
                                ---------

                                modem(192.168.30.1)-----eth1(192.168.30.10)UBUNTU(192.168.0.1)eth0-----(192.168.0.10)BUR0TIC
                                mon modem fait office de serveur DHCP pour UBUNTU, j'ai installe un serveur DHCP sur UBUNTU pour BUROTIC.

                                1) route print sous XP
                                ----------------------
                                ===========================================================================
                                Liste d'Interfaces
                                0x1 ........................... MS TCP Loopback interface
                                0x2 ...00 13 d4 29 e9 0c ...... SiS190 100/10 Ethernet Device - Miniport d'ordonnancement de paquets
                                ===========================================================================
                                ===========================================================================
                                Itinéraires actifs :
                                Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique
                                0.0.0.0 0.0.0.0 192.168.30.10 192.168.0.10 20
                                127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
                                192.168.0.0 255.255.255.0 192.168.0.10 192.168.0.10 20
                                192.168.0.10 255.255.255.255 127.0.0.1 127.0.0.1 20
                                192.168.0.255 255.255.255.255 192.168.0.10 192.168.0.10 20
                                224.0.0.0 240.0.0.0 192.168.0.10 192.168.0.10 20
                                255.255.255.255 255.255.255.255 192.168.0.10 192.168.0.10 1
                                Passerelle par défaut : 192.168.30.10
                                ===========================================================================
                                Itinéraires persistants :
                                Aucun

                                2) ipconfig /all sous XP
                                -------------------------

                                Configuration IP de Windows

                                Nom de l'hôte . . . . . . . . . . : maya
                                Suffixe DNS principal . . . . . . :
                                Type de noud . . . . . . . . . . : Inconnu
                                Routage IP activé . . . . . . . . : Non
                                Proxy WINS activé . . . . . . . . : Non

                                Carte Ethernet Connexion au réseau local:

                                Suffixe DNS propre à la connexion :
                                Description . . . . . . . . . . . : SiS190 100/10 Ethernet Device
                                Adresse physique . . . . . . . . .: 00-13-D4-29-E9-0C
                                DHCP activé. . . . . . . . . . . : Non
                                Adresse IP. . . . . . . . . . . . : 192.168.0.10
                                Masque de sous-réseau . . . . . . : 255.255.255.0
                                Passerelle par défaut . . . . . . : 192.168.30.10

                                3) nano /etc/network/interfaces
                                -------------------------------

                                # The loopback network interface
                                auto lo
                                iface lo inet loopback

                                up echo "1">/proc/sys/net/ipv4/ip_forward

                                # The primary network interface
                                auto eth1
                                iface eth1 inet dhcp

                                # The secondary network interface
                                auto eth0
                                iface eth0 inet static
                                address 192.168.0.1
                                netmask 255.255.255.0
                                #gateway 192.168.0.1

                                4) ifconfig
                                -----------
                                eth0 Link encap:Ethernet HWaddr 00:50:BA:B5:6B:CD
                                inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
                                inet6 addr: fe80::250:baff:feb5:6bcd/64 Scope:Link
                                UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                                RX packets:366 errors:0 dropped:0 overruns:0 frame:0
                                TX packets:323 errors:0 dropped:0 overruns:0 carrier:0
                                collisions:0 txqueuelen:1000
                                RX bytes:33577 (32.7 KiB) TX bytes:57214 (55.8 KiB)
                                Interrupt:11 Base address:0xdc00

                                eth1 Link encap:Ethernet HWaddr 00:50:04:ED:41:B5
                                UP BROADCAST MULTICAST MTU:1500 Metric:1
                                RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                                TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                                collisions:0 txqueuelen:1000
                                RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
                                Interrupt:10 Base address:0x4f80

                                lo Link encap:Local Loopback
                                inet addr:127.0.0.1 Mask:255.0.0.0
                                inet6 addr: ::1/128 Scope:Host
                                UP LOOPBACK RUNNING MTU:16436 Metric:1
                                RX packets:78 errors:0 dropped:0 overruns:0 frame:0
                                TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
                                collisions:0 txqueuelen:0
                                RX bytes:6304 (6.1 KiB) TX bytes:6304 (6.1 KiB)

                                5) route -n
                                -----------
                                Kernel IP routing table
                                Destination Gateway Genmask Flags Metric Ref Use Iface
                                192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

                                6) cat /etc/resolv.conf
                                -----------------------
                                search example.org
                                nameserver 192.168.30.1
                                nameserver 0.0.0.0

                                7) iptables -v -L -n
                                --------------------
                                Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
                                pkts bytes target prot opt in out source destination

                                Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
                                pkts bytes target prot opt in out source destination

                                Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
                                pkts bytes target prot opt in out source destination

                                8) ls -l /etc/init.d/rc.local
                                -----------------------------
                                -rwxr--r-- 1 root root 528 2006-10-20 13:04 /etc/init.d/rc.local

                                9) find /etc/rc* -name '*rc.local'
                                ----------------------------------
                                /etc/rc2.d/S99rc.local
                                /etc/rc3.d/S99rc.local
                                /etc/rc4.d/S99rc.local
                                /etc/rc5.d/S99rc.local
                                /etc/rc.local

                                10) cat /etc/init.d/rc.local
                                ----------------------------
                                #! /bin/sh

                                PATH=/sbin:/bin:/usr/sbin:/usr/bin
                                [ -f /etc/default/rcS ] && . /etc/default/rcS
                                . /lib/lsb/init-functions

                                do_start() {
                                if [ -x /etc/rc.local ]; then
                                log_begin_msg "Running local boot scripts (/etc/rc.local)"
                                /etc/rc.local
                                log_end_msg $?
                                fi
                                }

                                case "$1" in
                                start)
                                do_start
                                ;;
                                restart|reload|force-reload)
                                echo "Error: argument '$1' not supported" >&2
                                exit 3
                                ;;
                                stop)
                                ;;
                                *)
                                echo "Usage: $0 start|stop" >&2
                                exit 3
                                ;;
                                esac
                                fw.sh

                                11) more /home/sophie/fw.sh
                                --------------------------
                                #! /bin/sh
                                #
                                # Description: configuration de firewall netfilter/iptables
                                #
                                # Initialization de la table FILTER
                                #
                                iptables -F
                                iptables -X
                                iptables -P INPUT DROP
                                iptables -P OUTPUT DROP
                                iptables -P FORWARD DROP # les 3 cmd = debranchement des cables

                                # Initialization de la table NAT
                                #
                                iptables -t nat -F
                                iptables -t nat -X
                                iptables -t nat -P PREROUTING ACCEPT
                                iptables -t nat -P POSTROUTING ACCEPT
                                iptables -t nat -P OUTPUT ACCEPT
                                #
                                # Initialisation de la table MANGLE
                                #
                                iptables -t mangle -F
                                iptables -t mangle -X
                                iptables -t mangle -P PREROUTING ACCEPT
                                iptables -t mangle -P INPUT ACCEPT
                                iptables -t mangle -P OUTPUT ACCEPT
                                iptables -t mangle -P FORWARD ACCEPT
                                iptables -t mangle -P POSTROUTING ACCEPT

                                # interface lo
                                iptables -A INPUT -i lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
                                iptables -A OUTPUT -o lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT

                                # table FILTER

                                # chaine INPUT
                                iptables -A INPUT -i eth0 -d 192.168.0.1 -m state --state ESTABLISHED,RELATED -j ACCEPT

                                # chaine FORWARD
                                iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.0.10 -m state --state RELATED,ESTABLISHED -j ACCEPT
                                iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.10 -d 192.168.30.0/0 -m state --state ! INVALID -j ACCEPT

                                # chaine OUTPUT
                                iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
                                iptables -A OUTPUT -o eth1 -m state --state ! INVALID -j ACCEPT

                                # table NAT
                                iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.10 -j SNAT --to-source 192.168.0.1
                                0
                                • 1
                                • 2