Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/12/2005, à 01:04

rodomiro

[Résolu] Partage de connexion ppp0.

Salut!

À partir d'un poste sous breezy (appelons-le pc2) , je parviens à accéder à internet "directement", sur une neufbox sur eth0, via pppoeconf.
Je voudrais intercaler un serveur et mettre la box sur le serveur (sous breezy-server) sur la carte eth0, puis partager la connexion avec le pc2 via eth1. J'ai suivi pour ça les conseils du wiki.

problème:

Pour le serveur je suis en train de suivre le tuto de Coffee (merci Coffee si tu passes par là!! smile ), ssh fonctionne parfaitement.
Le serveur se connecte parfaitement, avec pppoeconf et la box en eth0.
Le pc2 "ping" bien sur eth1 du serveur et sur eth0 du serveur (au bout de laquelle il y a la neuf box), mais impossible d'obtenir quoi que ce soit au-delà! 

configuration:

pc2:
eth0 avec ip statique: 192.168.38.2, netmask 255.255.255.0, passerelle 192.168.38.1
et ppp0 configuré par pppoeconf en ce moment..

serveur:
eth0 avec ip satique: 84.97.231.120, netmask 255.255.255.255, passerelle 84.97.231.120 (vers la 9box)
eth1 avec ip statique: 192.168.38.1, netmask 255.255.255.0 (vers le pc2)
ppp0 configuré par pppoeconf.

la connection depuis le pc2:
vers 192.168.38.1 réussit toujours.
vers 84.97.231.120 réusiit toujours.
et vers 212.27.33.233 (exemple du wiki) échoue toujours:

$ping -c 4 212.27.33.233
PING 212.27.33.233 (212.27.33.233) 56(84) bytes of data.

--- 212.27.33.233 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 2999ms

hmm ...le serveur lui, se connecte bien.


J'ai pourtant bien modifié sur le serveur le fichier /etc/network/options avec  "ip_forward=yes" et même en répétant à chaque redémarrage:

$sudo bash
#echo 1 >/proc/sys/net/ipv4/ip_forward
#iptables -t nat -A POSTROUTING -s 192.168.38.0/24 -o eth1 -j MASQUERADE
#exit

Avec le man,  j'ai cru comprendre que en fait cela ne fait qu'écrire un 1 dans /proc/sys/ipv4/ip_forward, j'ai vérifié, il y est même après redémarrage en fait. (il n'y a même que ça!) (je dis ça car sur le wiki j'ai cru que c'était temporaire...)

questions:

*Comme ça a l'air d'être seulement le "ip_forward" qui ne se fait pas, je l'ai authorisé sur le pc2 (dans /etc/network/options), est-ce utile?

*Je me demandais si ce n'est pas le pppoeconf sur le pc2 qui "l'oblige" le pc2 à aller chercher une 9box qui n'est plus là (je la ballade quand je me connecte pour crier au secours!), alors J'ai essayé en commentant les lignes de ppp0 dans /etc/network/interfaces sur le pc2, sans résultats, mais sans drames non plus. tongue

*Est-ce le firewall serveur qui "coince" la sortie pour pc2? (je n'ai rien fait sur iptables sauf le "MASQUERADE" qui est écrit au dessus car en bon débutant roll j'ai préféré suivre le wiki d'assez près).

conclusion: au secours!! lol

Dernière modification par rodomiro (Le 20/12/2005, à 22:22)


rodomiro

Hors ligne

#2 Le 19/12/2005, à 04:13

sksbir

Re : [Résolu] Partage de connexion ppp0.

bonjour
- tu as interverti eth0 et eth1:  la commande iptables telle que tu la décris est utilisée quand c'est eth1 est connecté à l'équipement qui va vers internet, or tu dis avoir connecté eth0 à ta neufbox...

-  Et de plus, c'est pas eth0, mais ppp0 qu'il faut mettre : voir ici, et relis bien le cas de tibolo, qui semble etre le même que le tien .

Hors ligne

#3 Le 19/12/2005, à 13:38

rodomiro

Re : [Résolu] Partage de connexion ppp0.

Salut sksbir!

Merci! big_smile en "iptablant" ppp0 ça marche effectivement. (en fait j'avais essayé avec eth0, puis eth1... )
Cette histoire de ppp0 me rapelle une petite question que je m'étais posé:
Quand on désigne eth0, par exemple dans cette commande iptables, eth0 designe la connexion, ou la carte?

En fait j'avais compris dans un premier temps que eth0 représentait en fait la carte. (ou "l'emplacement nº 0"), mais ça a plutôt l'air d'être la connexion elle même, puisque même si je passe par "la_carte_située_sur_l_emplacement_0", c'est ppp0 que je configure.

Bon jusque là, je me suis planté rien de bien grave, on est là pour ça! smile

Mais je continue mes petites expériences, et résultat, quand je "sudo ifdown eth0", je perds du même coup la connexion internet (ça me rassure un peu quand même..), jusqu'à ce que je "up" eth0 et je relance "pon dsl-provider". Ça me semble très logique, ...par rapport à la premiére idée hmm : si je coupe au niveau de la carte_0, y'a plus de chemin vers le net.
Mais pas logique du tout si je considère que ppp0 et eth0 son deux connexions différentes! Pourquoi si je coupe une_connexion_qui_utilise_la_carte_0 (eth0), j'empêche une_autre connexion_qui_utilise_la_carte_0 (ppp0) de fonctionner???    blink blink blink hmm y'a forcément un endroit (au moins!!) où mon raisonnement tient pas...   Où ça?

eth0 et ppp0 sont indépendantes ou pas? (enfin, je devrais plutôt dire: eth0 designe-t-elle une connexion ou un lieu physique?, parce que visiblement, elles ne sont pas indépendantes...)

Merci en tout cas pour ton tuto, et tes réponses, franchement cçest du beau boulot! big_smile
Promis je met "résolu" au prochain post, j'ai pas voulu ouvire un topic  "vocabulaire"... c'est trés mal? roll


rodomiro

Hors ligne

#4 Le 19/12/2005, à 14:06

sksbir

Re : [Résolu] Partage de connexion ppp0.

Attention, ce qui suit n'est qu'une approximation de ce que j'ai moi-même compris, expliqué en terme simples (je dis ça pour les puriste de la représentation du modele OSI de la configuration réseau big_smile )
D'ailleurs, j'espere qu'on viendra corriger mes erreurs...

Donc, ppp0 existe en tant que résultat d'une surcouche protocolaire s'appuyant sur la connexion TCP/IP définie par eth0.
Mais eth0 et sa définition TCP/IP s'appuie elle-même sur la couche "matériel" : débranche le cable, et tu n'as plus internet non plus...

Pour comprendre cette histoire de couche, regarde ici.

ppp est une couche niveau transport ou session, je ne sais plus trop....

Hors ligne

#5 Le 20/12/2005, à 01:52

rodomiro

Re : [Résolu] Partage de connexion ppp0.

ok, merci: en effet, les couches ça explique bien pourquoi la liaison est coupée, comme tu dis, finalement c'est débrancher le cable, mais au niveau d'au dessus.
Le ppp c'est niveau accès réseau (ça c'est du copier-coller de ton lien! smile ), et si j'ai bien compris, c'est en fait au niveau du ppp que ce qu'on veut envoyer se retrouve sous forme de paquets, donc suceptible d'être bloqué par le routeur. Finalement c'est logique de mettre ppp dans la commande d'iptables si on utilise ppp quelque part...

Je vais essayer d'appliquer ça au script que tu proposes sur le wiki, (parce que j'ai pas pu m'empêcher d'essayer et j'ai encore quelques "bizarreries" lol , mais je vais ouvrir un autre topic pour ça..)

et puis merci, franchement, c'est sympa!


rodomiro

Hors ligne

#6 Le 20/12/2005, à 22:19

rodomiro

Re : [Résolu] Partage de connexion ppp0.

Je complète un peu pour si quelqu'un d'autre voulait partager sa connexion ppp..

Rappel:

ceci est valable avec une liaison ppp0 vers la 9box sur la carte de eth0. et avec eth1 vers le réseau local sur lequel est la machine qui va bénéficier du partage.

Pour le script:

Voici ce que j'ai compris. n'hésitez pas si ce que je dis est faux!! (le script fonctionne bien chez moi, mais les explications peuvent être mauvaises...)

Au départ, ce que l'on initialise est le support de ppp0, c'est à dire eth0 (toujours les fameux niveaux..). Ce qui donne:

# init du la périphérique internet (ici derriere un modem ADSL ethernet, DHCP client)
/sbin/ifup eth0

Par contre iptables gère la connexion au niveau de ppp0, on a donc:

#définition de la règle : accepter les nouvelles connexions ne venant pas de l'interface internet
# et accepter toutes les connexions établies et reliées (ex: une demande de page HTML provoque l'ouverture
# d'une connexion reliée pour acheminer cette page vers l'ordinateur)
iptables -A MAregle -m state --state NEW -i! ppp0 -j ACCEPT
iptables -A MAregle -m state --state ESTABLISHED,RELATED -j ACCEPT

et un peu plus loin:

# activation du forwarding dans le noyau
# mise en place du partage de connexion sur le réseau local

echo 1 >/proc/sys/net/ipv4/ip_forward
        ##correction des ip et de ppp0 au lieu de eth1:
iptables -t nat -A POSTROUTING -s 192.168.38.0/24 -o ppp0 -j MASQUERADE

Enfin, cette partie doit correspondre à  la procédure d'arrêt (donc devrait défaire ce que l'on a fait), et après avoir desactivé le forwarding dans le noyau, on arrête le périférique que l'on a allumé au début, c'est donc eth0:

stop() {
        echo 0 >/proc/sys/net/ipv4/ip_forward
        ##essai avec eth0, ppp0 au lieu de eth1:
        ifdown eth0
}

Voilà! au passage je modifie un peu le titre du sujet pour le préciser.

Dernière modification par rodomiro (Le 20/12/2005, à 22:20)


rodomiro

Hors ligne