Page 1 sur 1

[passerelle] réseau local entre arch et ubuntu (résolu)

Publié : jeu. 11 juin 2009, 14:46
par maroxe
Salut,
J'ai un PC de bureau sous ubuntu relié à internet(modem sagem fast 800), ifconfig retourne:
ppp0 Link encap:Point-to-Point Protocol
inet addr:41.248.8.113 P-t-P:41.248.8.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:112161 errors:0 dropped:0 overruns:0 frame:0
TX packets:84300 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:149874162 (142.9 Mb) TX bytes:5585360 (5.3 Mb)

J'aiemrais pourvoir acceder a internet depuis le deuxieme qui est sous arch. Je dispose d'un cable rj45 pour faire un réseau local.
Comment puis-je proceder?

Re: réseau local entre arch et ubuntu

Publié : jeu. 11 juin 2009, 14:50
par Abazigal
Bonjour, tu peux installer iptables sur celui qui est sous ubuntu, et en faire une passerelle pour celui sous arch.

ps: etrange, ton retour d'ifconfig ... :lol: EDIT: Ha, mieux :wink:

Et formate ton titre correctement, sinon tu vas te faire taper sur les doigts.

Re: réseau local entre arch et ubuntu

Publié : jeu. 11 juin 2009, 14:58
par maroxe
Abazigal a écrit :Bonjour, tu peux installer iptables sur celui qui est sous ubuntu, et en faire une passerelle pour celui sous arch.

ps: etrange, ton retour d'ifconfig ... :lol:
je vies d'editer :D
tu peux m'expliquer comment créer la psserelle stp?

Re: réseau local entre arch et ubuntu

Publié : jeu. 11 juin 2009, 15:07
par Abazigal
Première chose, créer la liaison entre les 2 PCs (c'est un cable croisé que tu as ?).

Quand les 2 machines peuvent se pinger, tu passes à l'étape suivante:

Tu installes et lance iptables (c'est un daemon) sur ubuntu, tu fais en sorte que la machine serve de passerelle:

Code : Tout sélectionner

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t NAT -A POSTROUTING -o ppp0 -j MASQUERADE
A peu près, hein, pour la seconde je suis pas sûr à 100%, mais ca sera un truc du style (c'est une règle pour iptables qui lui dit de changer l'adresse source du paquet qu'il forward, en gros).

Coté Arch, tu précisera juste que la passerelle est l'ip de ta ubuntu, en manipulant la table de routage.

Et normalement, c'est gagné ;)
Good luck

Re: réseau local entre arch et ubuntu

Publié : jeu. 11 juin 2009, 15:11
par maroxe
Abazigal a écrit :Première chose, créer la liaison entre les 2 PCs (c'est un cable croisé que tu as ?).
Exactement
Abazigal a écrit : Tu installes et lance iptables (c'est un daemon) sur ubuntu, tu fais en sorte que la machine serve de passerelle:

Code : Tout sélectionner

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t NAT -A POSTROUTING -o ppp0 -j MASQUERADE
A peu près, hein, pour la seconde je suis pas sûr à 100%, mais ca sera un truc du style (c'est une règle pour iptables qui lui dit de changer l'adresse source du paquet qu'il forward, en gros).

Coté Arch, tu précisera juste que la passerelle est l'ip de ta ubuntu, en manipulant la table de routage.
Et je pourrais toujours acceder a internet depuis le premier PC?

Re: réseau local entre arch et ubuntu

Publié : jeu. 11 juin 2009, 15:12
par Abazigal
Bien sûr ;)

Sinon, il y a des logiciel comme ipmasq, qui permettent de faire ça, je crois ... je te laisse regarder ce que tu préfères.

Re: réseau local entre arch et ubuntu

Publié : jeu. 11 juin 2009, 16:37
par maroxe
Abazigal a écrit :Bien sûr ;)

Sinon, il y a des logiciel comme ipmasq, qui permettent de faire ça, je crois ... je te laisse regarder ce que tu préfères.
merci pour ton aide, je crois que la méthode que tu m'a décrite en premier est simple, donc c'est celle la que je testerais.
merci à toi

Re: [passerelle] réseau local entre arch et ubuntu (en cours)

Publié : jeu. 11 juin 2009, 16:47
par maroxe
Coté Arch, tu précisera juste que la passerelle est l'ip de ta ubuntu, en manipulant la table de routage.
Comment je pourrais faire ça?
(mes excuse, je suis nul en réseau :oops: )

et puis la commande

Code : Tout sélectionner

iptables -t NAT -A POSTROUTING -o ppp0 -j MASQUERADE
me retourne:

Code : Tout sélectionner

iptables v1.4.1.1: can't initialize iptables table `NAT': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Re: [passerelle] réseau local entre arch et ubuntu (en cours)

Publié : jeu. 11 juin 2009, 16:54
par Abazigal
Il faudra que tu vérifie avec route que tu n'as pas déjà une passerelle de definie (pas de "default" dans la partie "destination").
Si tu en a une, il faut la supprimer avec

Code : Tout sélectionner

route del -net 0.0.0.0
Après, pour dire "ma passerelle est IP_Machine_Ubuntu", tu lancera (en root):

Code : Tout sélectionner

route add -net 0.0.0.0 gw IP_Machine_Ubuntu
Vérifie ensuite avec "route" que la règle à bien été ajoutée.

Si je me suis trompé et que ca te jete avec une erreur, -> man route :wink:

Re: [passerelle] réseau local entre arch et ubuntu (en cours)

Publié : jeu. 11 juin 2009, 16:57
par maroxe
tu as été plus rapide que moi, je m'autocite:
maroxe a écrit :et puis la commande

Code : Tout sélectionner

iptables -t NAT -A POSTROUTING -o ppp0 -j MASQUERADE
me retourne:

Code : Tout sélectionner

iptables v1.4.1.1: can't initialize iptables table `NAT': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
en remplaçant NAT par nat, l'erreur disparait

Re: [passerelle] réseau local entre arch et ubuntu (résolu)

Publié : jeu. 11 juin 2009, 17:56
par Abazigal
Ha, pardon, erreur stupide :oops:

Ca marche, au final ?

Re: [passerelle] réseau local entre arch et ubuntu (résolu)

Publié : jeu. 11 juin 2009, 22:31
par maroxe
oui, grace à toi :copain: !

Re: [passerelle] réseau local entre arch et ubuntu (résolu)

Publié : sam. 20 juin 2009, 13:08
par maroxe
j'ai pas envie de créer un nouveau topic, je pose donc ma question ici: comment éviter d'avoir à taper ces commandes à chaque démarrage?

Re: [passerelle] réseau local entre arch et ubuntu (résolu)

Publié : sam. 20 juin 2009, 14:26
par grosbedos
Tu peux les rajouter dans le fichier /etc/rc.local par exemple.

Re: [passerelle] réseau local entre arch et ubuntu (résolu)

Publié : sam. 20 juin 2009, 14:54
par maroxe
grosbedos a écrit :Tu peux les rajouter dans le fichier /etc/rc.local par exemple.
du coté d'arch ce n'est pas un problème, le rc.conf régle cela, c'est simple. Mais du coté d'ubuntu je bloque.
meme si je l'ajoute a rc.local, a chaque fois que je debranche/rebrache le cable, je dois tout retaper.

Re: [passerelle] réseau local entre arch et ubuntu (résolu)

Publié : sam. 20 juin 2009, 15:58
par Vinvin
Pour Ubuntu :
tu crées un script qui contient toutes les commandes, que tu enregistres dans la répertoire /etc/init.d
Par exemple :

Code : Tout sélectionner

/etc/init.d/script_maroxe
Rends ce script exécutable avec la commande chmod.

Maintenant, il faut que ce script soit exécuté à chaque démarrage. Nous allons exécuter le script chaque fois que l'on entre dans le runlevel 2 (le runlevel 2 est le runlevel par défaut chez Ubuntu) :

Code : Tout sélectionner

ln  -s  /etc/init.d/script_maroxe  /etc/rc2.d/S99script_maroxe
Nous venons de créer un lien dans le répertoire /etc/rc2.d Ce lien s'appelle S99script_maroxe, il pointe vers le script en question. Ainsi, chaque fois que l'on passera en runlevel 2, le script sera exécuté. Le lien a le numéro 99, ce qui signifie que le script sera le dernier qui sera exécuté lors du passage en runlevel 2.

À présent, ton script est exécuté à chaque démarrage d'Ubuntu.

Re: [passerelle] réseau local entre arch et ubuntu (résolu)

Publié : sam. 20 juin 2009, 19:24
par maroxe
Vinvin a écrit :Pour Ubuntu :
tu crées un script qui contient toutes les commandes, que tu enregistres dans la répertoire /etc/init.d
Par exemple :

Code : Tout sélectionner

/etc/init.d/script_maroxe
Rends ce script exécutable avec la commande chmod.

Maintenant, il faut que ce script soit exécuté à chaque démarrage. Nous allons exécuter le script chaque fois que l'on entre dans le runlevel 2 (le runlevel 2 est le runlevel par défaut chez Ubuntu) :

Code : Tout sélectionner

ln  -s  /etc/init.d/script_maroxe  /etc/rc2.d/S99script_maroxe
Nous venons de créer un lien dans le répertoire /etc/rc2.d Ce lien s'appelle S99script_maroxe, il pointe vers le script en question. Ainsi, chaque fois que l'on passera en runlevel 2, le script sera exécuté. Le lien a le numéro 99, ce qui signifie que le script sera le dernier qui sera exécuté lors du passage en runlevel 2.

À présent, ton script est exécuté à chaque démarrage d'Ubuntu.
merci