Page 1 sur 1

[Routage] Configuration d'un pc en tant que routeur (résolu)

Publié : jeu. 22 déc. 2011, 18:49
par Nic0
Salut à tous,

Je voudrais:
  • PC A connecté à Internet via wifi (wlan0)
  • PC B relié par Ethernet (eth0) au PC A
Le but étant d'accéder à Internet à partir du PC B.

J'ai surtout suivis cette page du wiki .org

Pour le moment, j'arrive à faire communiquer les deux pc ensemble via SSH. Et j'accède à Internet du PC A. Il manque donc un petit quelque chose pour accéder du PC B à Internet.
Si j'essaye du PC B un ping sur google:

Code : Tout sélectionner

$ ping -c1 google.fr
ping: unknown host google.fr
$ ping -c1 173.194.34.20  #ip de google
connect: Network is unreachable
Niveau IPs:
  • PC B: 139.96.30.200
  • PC A: 139.96.30.100 (eth0)
  • PC A: IP classique sur wlan0

Code : Tout sélectionner

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         neufbox         0.0.0.0         UG    303    0        0 wlan0
139.96.0.0      *               255.255.0.0     U     0      0        0 eth0
139.96.30.0     *               255.255.255.255 UH    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     303    0        0 wlan0
Je ne dois pas en être bien loin. L'intérêt est plus d'apprendre un peu, que d'avoir une utilité réel, mais si quelqu'un pouvait me mettre sur la voie de ce que j'ai manqué, merci.

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : jeu. 22 déc. 2011, 18:56
par benjarobin
Pour la liaison sur le lien eth0, il est très fortement conseillé d'utiliser une IP qui est reservé à cette effet : http://fr.wikipedia.org/wiki/Adresse_IP#IPv4
Donc soit dans le bloc 192.168.x.x soit dans le bloc 10.x.x.x

Il faut de plus que tu spécifies l’adresse du serveur DNS sur le PC B

Pour résumer les 2 liens ci-dessous :

Code : Tout sélectionner

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
http://lindesk.com/2007/04/internet-con ... -iptables/
http://www.howtoforge.com/internet-conn ... g-on-linux

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : jeu. 22 déc. 2011, 19:02
par tuxce
Utilise le même sous réseau pour tous (192.168.1.x), active le forward:

Code : Tout sélectionner

echo 1 > /proc/sys/net/ipv4/ip_forward
Et spécifie l'ip de wlan0 du PC A pour la paserelle sur le PC B

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : jeu. 22 déc. 2011, 19:06
par benjarobin
Cela fonctionne ? Et dans les 2 sens ? Intéressant, j'ai toujours fait avec iptables.

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : jeu. 22 déc. 2011, 19:08
par tuxce
Chez moi, en tout cas, ça fonctionne :p

Bon après, c'est pas la seule méthode, il y a la tienne avec iptables, on peut aussi utilise un pont (bridge-utils) ...

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : jeu. 22 déc. 2011, 21:20
par Nic0
Merci à vous deux pour les réponses.

Pour résumer, j'ai essayé la méthode indiqué par tuxce. J'ai bien activé l'ip_foward. Et les DNS (resolv.conf) sont bons sur les deux PCs.
  • PC A: 198.168.1.81 (wlan0) et 198.168.1.100 (eth0)
  • PC B: 198.168.1.200 (eth0)
PC A communique toujours bien avec B et Internet, dont voici les routes:

Code : Tout sélectionner

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
192.168.1.0     *               255.255.255.255 UH    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     303    0        0 wlan0
PC B communique bien avec A, mais toujours pas d'Internet, voici les routes:

Code : Tout sélectionner

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.81    0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     202    0        0 eth0
J'ai également essayé avec plusieurs passerelles, 192.168.1.100 et 192.168.1.0, mais le résultat est le même, Network is unreachable, et j'ai essayé de mettre 192.168.1.0 à la place de default.

C'est frustrant, car ce doit sûrement être une erreur simple de ma part.

Je pense donc creuser la solution de benjarobin.

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : jeu. 22 déc. 2011, 22:39
par Nic0
Même punition avec la solution iptables.

J'ai suivis les liens de benjarobin, en entrant les règles dans le PC A. En changeant le eth0 par wlan0, puisque c'est le wlan0 qui est connecté à Internet, si j'ai bien compris. De toute façon, j'ai essayé les deux.

Le fichier iptables.rules généré avec les recommandation de flush et delete du 2ème lien.

Code : Tout sélectionner

# Generated by iptables-save v1.4.12.1 on Thu Dec 22 22:09:22 2011
*mangle
:PREROUTING ACCEPT [6:875]
:INPUT ACCEPT [6:875]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8:456]
:POSTROUTING ACCEPT [8:456]
COMMIT
# Completed on Thu Dec 22 22:09:22 2011
# Generated by iptables-save v1.4.12.1 on Thu Dec 22 22:09:22 2011
*filter
:INPUT ACCEPT [6:875]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [8:456]
COMMIT
# Completed on Thu Dec 22 22:09:22 2011
# Generated by iptables-save v1.4.12.1 on Thu Dec 22 22:09:22 2011
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan0 -j MASQUERADE
COMMIT
# Completed on Thu Dec 22 22:09:22 2011
J'ai bien pris soin de redémarrer iptables à chaque tentatives, ainsi que dhcp4.

Le résultat est toujours le même, SSH opérationnel, et internet sur PC A.

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : jeu. 22 déc. 2011, 23:01
par benjarobin
Tu test comment internet ? As tu pensé aux DNS ? Que vient faire dhcp ici ? Tu as bien activé l'ip forwarding sur le PC A ?

Tu n'as pas suivi ce que Tuxce à écrit ! Pour sa méthode le PC B doit avoir comme passerelle 192.168.1.1

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : ven. 23 déc. 2011, 00:23
par Nic0
benjarobin a écrit :Tu test comment internet ?

Code : Tout sélectionner

ping -c1 74.125.230.81
Une ip de google, qui fonctionne sur PC A mais pas PC B.
benjarobin a écrit :As tu pensé aux DNS ?
Nic0 a écrit :Et les DNS (resolv.conf) sont bons sur les deux PCs.
J'ai mis nameserver 8.8.8.8.
benjarobin a écrit :Que vient faire dhcp ici ?
Nic0 a écrit :J'ai surtout suivis cette page du wiki .org
L'addresse pour le PC B est fournis avec dhcp sur A, certes, pas des plus utile, mais c'est pas ça qui est en cause ?
benjarobin a écrit :Tu as bien activé l'ip forwarding sur le PC A ?
Oui.
benjarobin a écrit :Pour sa méthode le PC B doit avoir comme passerelle 192.168.1.1
C'est la partie où j'ai eu un doute effectivement, et je m'en cache pas en disant que j'ai un peu essayé toute les solutions, je confirme avoir essayé avec cette adresse à l'instant. "Et spécifie l'ip de wlan0 du PC A" m'a porté à confusion, sachant que pour moi, 192.168.1.1 est l'IP de la box, et 192.168.1.81, l'IP du PC A.

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : ven. 23 déc. 2011, 01:14
par benjarobin
Désolé, tu avais raison, je n'ai jamais utilisé cette méthode... Sinon pour le DHCP je ne comprend pas ce que tu raconte
Pour le PC A wlan0:
IP 192.168.1.81, passerelle 192.168.1.1 mask 255.255.255.0
Pour le PC A eth0:
IP 192.168.1.100 mask 255.255.255.0
Pour le PC B eth0:
IP 192.168.1.101, passerelle 192.168.1.81 mask 255.255.255.0

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : ven. 23 déc. 2011, 12:05
par Nic0
Merci encore benjarobin pour ton aide.

J'ai mis de côté dhcp pour éviter toute confusion. Voici la suite de commande que j'ai effectué sur les deux PC.

PC A:

Code : Tout sélectionner

nicolas:~/code/bash$ sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
nicolas:~/code/bash$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     303    0        0 wlan0
nicolas:~/code/bash$ ping -c1 74.125.230.84
PING 74.125.230.84 (74.125.230.84) 56(84) bytes of data.
64 bytes from 74.125.230.84: icmp_req=1 ttl=56 time=39.7 ms

--- 74.125.230.84 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 39.734/39.734/39.734/0.000 ms
nicolas:~/code/bash$ ping -c1 192.168.1.101
PING 192.168.1.101 (192.168.1.101) 56(84) bytes of data.
64 bytes from 192.168.1.101: icmp_req=1 ttl=64 time=2.05 ms

--- 192.168.1.101 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.055/2.055/2.055/0.000 ms
PC B:

Code : Tout sélectionner

nicolas:~$ sudo ifconfig eth0 192.168.1.101 netmask 255.255.255.0
nicolas:~$ sudo ip route add 192.168.1.0 via 192.168.1.81
nicolas:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     192.168.1.81    255.255.255.255 UGH   0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
nicolas:~$ ping -c1 192.168.1.100
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_req=1 ttl=64 time=3.47 ms

--- 192.168.1.100 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.476/3.476/3.476/0.000 ms
nicolas:~$ ping -c1 74.125.230.84
connect: Network is unreachable
Je voudrais porter l'attention sur :

Code : Tout sélectionner

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     192.168.1.81    255.255.255.255 UGH   0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
Je n'ai pas réussi à change le genmask pour avoir 255.255.255.0 sur la première ligne. Dois-je creuser par là ?

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : ven. 23 déc. 2011, 16:10
par benjarobin
Nic0 a écrit :Dois-je creuser par là ?
Non

Re: [Routage] Configuration d'un pc en tant que routeur

Publié : dim. 25 déc. 2011, 18:59
par Nic0
Résolu, en changeant ce qui suit sur le PC B :

Au lieu de :

Code : Tout sélectionner

ip route add 192.168.1.0 via 192.168.1.81
J'ai mis :

Code : Tout sélectionner

ip route add default via 192.168.1.81
Je ne suis pas certain du pourquoi de ce "default", mais ça fonctionne maintenant, c'est le principal.

Merci encore à vous deux.

Re: [Routage] Configuration d'un pc en tant que routeur (rés

Publié : dim. 25 déc. 2011, 22:23
par benjarobin
Je n'avais pas fait attention mais en effet cela ne pouvais pas fonctionner...
Car ce que tu indiqué c'est pour toute les ip dans le sous domaine 192.168.1.0 doivent être redirigé vers 192.168.1.81
Donc une IP externe (IP de site web) ne pouvais pas être redirigé