Forum Linux.débutant Partage de connexion internet

Posté par  .
Étiquettes : aucune
0
4
sept.
2004

hello tous,

c'est encore moi…LOL

J'ai 2 PC. Le 1er a WINXP et le 2eme a Linux Suse 9.1.

J'aimerais faire un LAN. J'ai "configuré" les cartes reseau des 2 pc.

Hier, le winxp arrivait a pinger le suse, mais pas l'inverse. En retirant le firewall de l'xp, j'arrive maintenant a pinger dans les 2 sens.

Ce que j'aimerais, et vous vous en douter, ce serait de partager la connexion internet. Dans le PC avec XP, j'ai configuré l'adresse IP du PC avec Suse 192.168.0.1 comme passerelle mais ca ne suffit pas apparemment.

Pourriez vous me dire ce qu'il faut faire en plus.

Merci d'avance.

PS : je tiens a preciser que malgre les pings qui passent, je n'arrive pas a acceder depuis Suse au dossiers partagés d' XP. Na sachant pas comment partager des fichiers sous Suse, je ne peux pas vous dire si l'inverse fonctionne…

Merci d'avance

  • # DANS QUEL SENS ?

    Posté par  . Évalué à 2.

    Il manque l'information primordiale: C'est lequel le PC relié à Internet ?

    Si c'est celui sous Linux (ce qui est en général une bonne idée), un:

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

    devrait suffire à activer le forwarding des paquets et transformer ta machine en passerelle/routeur. En principe la table de routage sera automatiquement configurée pour les cas normaux lorsque que tu aura affecté des adresses à tes cartes réseau, mais cela ne fait jamais de mal d'y jeter un coup d'oeil (avec route ou netstat -r).
  • # Aide utile

    Posté par  . Évalué à 1.

    Je ne connais pas Suse, mais il se peut qu'il y ai un moyen simple de partager la connec dans le SuseConf (enfin, l'outil de configuration de ta suse).

    Sinon, je te renvois ces pages bien utiles (le site lui même est sans doute ce qui se fait de mieux en aide linux francophone)

    http://lea-linux.org/reseau/(...)

    et tout particulièrement:
    http://lea-linux.org/reseau/murdefeu.html#murdefeu_forwarding(...)


    A part ça, google est ton ami, comme toujours:
    http://www.google.fr/search?hl=fr&ie=UTF-8&q=suse+partage+c(...)
    • [^] # Re: Aide utile

      Posté par  . Évalué à 1.

      Pour le partage de fichiers, tu dois utiliser Samba. Il y a sans doute un utilitaire pour configurer Samba sous SuSE, sinon tu peux modifier /etc/samba/smb.conf à la main, il y a plein de tutoriaux pour ça.
      Pour voir les partages du Windows, il y a plusieurs manières : si tu es sous KDE et que le réseau local marche, tu peux taper smb://ADRESSE_IP_DU_WINDOWS dans la barre d'adresse de Konqueror. Après, il existe des logiciels qui permettent de monter les partages, pour lire un DivX à distance par exemple. Je te conseille LinNeighborhood (gnome) ou SMB4K (KDE).
      Pour le partage de connexion, généralement il faut avoir un script shell qui se lance au démarrage avec les lignes suivantes dedans :

      -----------------------------------8<----------------------------------------------

      # Règles firewall
      iptables -A FORWARD -i $CARTE_RESEAU_LOCAL -o $CARTE_RESEAU_INSTERNET -s $ADRESSE_IP_RESEAU_LOCAL -m state --state ! INVALID -j ACCEPT

      iptables -A FORWARD -i $CARTE_RESEAU_INSTERNET -o $CARTE_RESEAU_LOCAL -d $ADRESSE_IP_RESEAU_LOCAL -m state --state ESTABLISHED,RELATED -j ACCEPT

      iptables -t nat -A POSTROUTING -o $CARTE_RESEAU_LOCAL -s $ADRESSE_IP_RESEAU_LOCAL -j MASQUERADE

      # Activation du NAT
      echo 1 > /proc/sys/net/ipv4/ip_forward

      -----------------------------------8<----------------------------------------------

      Un peu d'explications :
      * La première règle fais suivre les packets (FORWARD) qui arrivent du reseau local (-i (input) LAN) vers Internet (-o (output) Internet) en vérifiant qu'ils viennent d'une IP de ton LAN (-s (source) IP LAN) et qu'ils sont valables (--state non invalide).

      * La deuxième règle fait globalement l'inverse : elle fait suivre les packets qui viennent d'internet vers ton réseau local en vérifiant qu'ils doivent y aller (-d (destination) IP LAN) et qu'ils ont été demandés (--state CONNECTED, etc...)

      * La troisième règle et le 'echo machin' s'occupe de l'activation du partage de connexion et du routage des packets proprement dit.

      Si tu as la flemme de faire ça à la main, tu peux utiliser ce script de firewall très bien fait : http://olivieraj.free.fr/fr/linux/programme/netfilter_cfg/(...)
      Il y a quelques lignes à modifier pour la configuration, après tu n'as plus qu'à le faire lancer en même temps que la connexion.

      Au fait, pour que le partage de connexion marche bien, il faut bien vérifier que les deux PC ont les adresses DNS de ton provider. Sous Windows, ça se trouve dans les propriétés TCP/IP, là où on configure l'IP, et sous LInux (en tout cas sur ma Slackware), dans /etc/resolv.conf.
  • # euh...

    Posté par  . Évalué à 1.

    Merci pour vos reponses mais toujours pas de connexion internet.
    C'est bien Suse qui est connecté au net et XP qui essaye...sans succés.
    Volila ce que donne le netstat -r apres avoir fait le :
    echo "1" > /proc/sys/net/ipv4/ip_forward

    kernel IP routing table
    Destination Gateway Genmask Flags MSS Window irtt Iface
    192.168.254.254 * 255.255.255.255 UH 0 0 0 ppp0
    192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
    link-local * 255.255.0.0 U 0 0 0 eth0
    loopback * 255.0.0.0 U 0 0 0 lo
    default 192.168.254.254 0.0.0.0 UG 0 0 0 ppp0

    je sais si ca vous parle mais moi...pas des masses
    • [^] # Re: euh...

      Posté par  . Évalué à 1.

      j'ai oublié de dire que lorsque je met l'adresse de la carte reseau du pc ayant XP, a savoir 192.168.0.2, dans konqueror, j'ai la reponse :

      Un problème s'est produit lors du chargement de http://192.168.0.2/(...) :
      Impossible de se connecter à 192.168.0.2

      Je signale qu'il n'ya aucun firewall d'active sur les 2 PC.
      • [^] # Re: euh...

        Posté par  . Évalué à 2.

        S'il n'y a pas de serveur web sur le PC ayant XP je suppose que c'est normal que tu ne puisses pas te connecter au port http (80) .

        Tu as bien configuré aussi le serveur de DNS sur le poste XP ?

        Tu dois spécifier toi meme l'adresse IP des DNS de ton provider ou alors lancer un serveur dns (bind par exemple) sur ta passerelle et configurer le poste client pour utiliser 192.168.0.1 comme serveur DNS.

        Essaye dans une cmd de faire ping 216.239.59.104 (il s'agit d'une IP de google)
    • [^] # Re: euh...

      Posté par  . Évalué à 2.

      Au fait, cela va sans dire, il faut être root pour pouvoir écrire dans
      /proc/sys/net/ipv4/ip_forward ...

      Il faut que tu dises à WinXP qu'il est connecté à Internet par le biais d'un RESEAU LOCAL, comme en entreprise. Ensuite il faut que tu lui dises que la PASSERELLE par DEFAUT est l'adresse IP de poste Suse. Bon, çà, visiblement, tu l'as fait. Vérifies également que ton poste XP ait lui-aussi une adresse IP et qu'elle soit dans le même réseau local (genre 192.168.0.2).

      Enfin, avant toute chose, vérifie si le Net est toujours visible depuis ton Linux, même après le echo "1".

      Bon courage.
      • [^] # Re: euh...

        Posté par  . Évalué à 1.

        Il semblerait que je me suis mal exprimé.
        Je récapitule donc :
        PC avec XP :
        adresse IP ! 192.168.0.2
        Masque : 255.255.255.0
        Passerelle : 192.168.0.1

        DNS prefere : 212.27.32.5
        DNS auxilliaire : 213.228.0.168
        (DNS de Free)

        Pac avec Suse (connecté a internet)
        Adresse IP : 192.168.0.1
        masque : 255.255.255.0
        YAST-->peripherique reseau-->carte reseau-->modifier 'chemin utiliser pour configurer ma carte reseau sous Suse.
        serveur de noms 1 : 213.228.0.168
        serveur de noms 2 : 212.27.32.5

        Que dois je mettre en nom de domaine ?
        Routage-->rien mis
        Aucune autre modification.

        Du poste avec XO, je ne peux pinger que la crate du poste avec Suse.
        Tous tes commandes en mode console sont fait en root (su -).
        Quand je tape : # echo "1", la console me repond : 1 et le net marche toujours.

        Voila, s'il vous faut d'autres indications... y a qu'a demander ;-)

        Merci de votre aide
        • [^] # Re: euh...

          Posté par  . Évalué à 1.

          Peux-tu nous mettre une copie de la sortie de la commande ifconfig sous ta Suse ?
          • [^] # Re: euh...

            Posté par  . Évalué à 1.

            la voilà...

            linux:~ # ifconfig
            eth0 Link encap:Ethernet HWaddr 00:A0:24:41:8D:EF
            inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
            inet6 addr: fe80::2a0:24ff:fe41:8def/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
            RX packets:67 errors:0 dropped:0 overruns:0 frame:0
            TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:5822 (5.6 Kb) TX bytes:520 (520.0 b)
            Interrupt:11 Base address:0xe800

            eth1 Link encap:Ethernet HWaddr 00:60:4C:0B:20:BB
            inet6 addr: fe80::260:4cff:fe0b:20bb/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
            RX packets:1086 errors:0 dropped:0 overruns:0 frame:0
            TX packets:1190 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:890792 (869.9 Kb) TX bytes:214392 (209.3 Kb)

            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:43 errors:0 dropped:0 overruns:0 frame:0
            TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:0
            RX bytes:2737 (2.6 Kb) TX bytes:2737 (2.6 Kb)

            ppp0 Link encap:Point-to-Point Protocol
            inet addr:82.64.77.105 P-t-P:192.168.254.254 Mask:255.255.255.255
            UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
            RX packets:1071 errors:0 dropped:0 overruns:0 frame:0
            TX packets:1167 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:3
            RX bytes:888462 (867.6 Kb) TX bytes:190026 (185.5 Kb)
            • [^] # Re: euh...

              Posté par  . Évalué à 2.

              Il faut faire du SNAT (ou masquerading), il faut donc charger le bon module (en root)
              # modprobe iptable_nat

              Puis ajouter la règle qui va bien dans netfilter
              # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

              Et enfin activer la "passage" IP, indispensable pour un routeur
              # echo 1 > /proc/sys/net/ipv4/ip_forward

              J'ai vu que tu avais du mal avec cet commande, donc vérifie que le fichier contient bien un 1 grâce à la commande
              $ cat /proc/sys/net/ipv4/ip_forward

              Si tu arrives à pinger linuxfr.org (au hasard) à partir de ta Suse, et que tu arrives à pinger ta Suse avec ton Win32, tu devrais alors pouvoir pinger linuxfr.org à partir de ton Win32. Si ce n'est pas le cas, c'est peut-être un problème de DNS, essaie alors de pinger directement avec l'adresse IP de linuxfr (212.27.33.225).

              Bon maintenant si ça marche pas, je te conseille d'éplucher une bonne doc [ http://fr.tldp.org/howtos.php(...) ] avant de te relancer l'aventure ;-)
              • [^] # Re: euh...

                Posté par  . Évalué à 2.

                You are the winner.
                Grace a toi, j'ai mon partage de cnx internet. Merci, merci et merci.

                Mais merci aussi a tous.
        • [^] # Re: euh...

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

          Quand je tape : # echo "1", la console me repond : 1 et le net marche toujours.

          Ce n'est pas :

          echo "1"

          qu'il faut faire, mais :

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

          Ça écrit le chiffre 1 dans le fichier /proc/sys/net/ipv4/ip_forward. 1 signifie vrai/activé, 0 signifie faux/désactivé.
          • [^] # Re: euh...

            Posté par  . Évalué à 1.

            le prenez pas mal les gars mais on m'a posé la question : que se passe -t-il quand ti ecris echo "1" ? Donc, j'ai repondu. Sinon, j'ai bien mis :

            echo "1" > /proc/sys/net/ipv4/ip_forward
  • # Faites pas attention...

    Posté par  . Évalué à 4.

    > c'est encore moi...LOL

    kikoo!!!! LOL!!!!

    ...

    Oui c'est du 80e degré...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.