Page 1 sur 1
[iptables / routes] Partage de connexion réseau (résolu)
Publié : dim. 25 mai 2008, 19:01
par AddiKT1ve
Hi

.
Au lieu de m'énerver tout seul, j'aurais du poster depuis longtemps... Bon, voilà le topo :
Code : Tout sélectionner
WIFI ETHERNET
Modem/Routeur ---------> Laptop -------------> Desktop
J'aimerais que mon laptop, qui reçoit la connexion en WiFi, la partage avec le desktop via l'ethernet. Pour cela, j'ai suivi la méthode décrite par lea-linux :
http://www.lea-linux.org/cached/index/T ... ernet.html
J'ai également utilisé le wiki pour passer le desktop en IP fixe :
http://wiki.archlinux.fr/howto:indispen ... p_statique
Et ça ne fonctionne pas... Je pense que cela vient du fait que j'ai mal configuré iptables sur le laptop. Voici que j'ai fait :
addikt1ve@sweetylaptop:~$ sudo cp /etc/iptables/simple_firewall.rules /etc/iptables/iptables.rules
addikt1ve@sweetylaptop:~$ sudo iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
addikt1ve@sweetylaptop:~$ sudo /etc/rc.d/iptables stop:: Stopping IP Tables [DONE]
addikt1ve@sweetylaptop:~$ sudo /etc/rc.d/iptables start:: Starting IP Tables
ping 192.168.0.2 mouline dans le vide

.
Merci d'avance...
Publié : dim. 25 mai 2008, 21:57
par Vinvin
Salut

Ça tombe bien, j'ai fait exactement le même type de montage ce week-end !
Code : Tout sélectionner
MODEM_ROUTEUR----(wifi)----ORDI_DESKTOP----(cable ethernet)----BOITIER_DE_TÉLÉPHONIE_PAR_INTERNET
Le boitier de téléphonie par internet est vu comme un PC, il lui faut une adresse IP.
AddiKT1ve, il me semble que ton erreur est ici :
sudo iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
En effet, la passerelle est connectée à internet par son interface wifi. Il faut donc taper :
sudo iptables -A POSTROUTING -t nat -o wlan0 -j MASQUERADE
Bien sur, adapte le "wlan0" au nom de ton interface wifi.
Publié : dim. 25 mai 2008, 22:01
par AddiKT1ve
Bah justement, mon interface WiFi s'appelle eth1 ^^
En fait après de longues heures gâchées sur #informatique @ epiknet, je crois que je vais me pendre... Le câble que j'utilise est un câble droit... Pas un croisé...
Ne pas se pendre... Ne pas se pendre... Ne pas se pendre... Ne pas se pendre...
Publié : dim. 25 mai 2008, 22:23
par Vinvin

Je compatis.
Néanmoins, cela a marché chez moi, même avec un câble droit. Il semblerait que les ports ethernet de certaines cartes mères soient "intelligents" et puissent s'adapter.
Publié : lun. 26 mai 2008, 17:14
par AddiKT1ve
Sauf qu'avec une carte réseau 10/100 certes, mais qui date déjà pas mal, on ne risque pas de tomber sur quelque chose d'intelligent qui croise tout seul

.
Mmh, par contre, même avec un croisé, ça ne fonctionne toujours pas... J'explique la démarche complète :
Laptop - Arch Linux
Code : Tout sélectionner
sudo pacman -S iptables
sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.0.2
sudo /etc/rc.d/iptables save
sudo /etc/rc.d/iptables stop
sudo /etc/rc.d/iptables start
su -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Desktop - Arch Linux
Apparemment, c'est de là que vient le problème. Voici le contenu de mon rc.conf au niveau du network :
eth0="eth0 192.168.0.4 netmask 255.255.255.0 broadcast 192.168.0.255"
INTERFACES=(eth0)
gateway="default gw 192.168.0.2"
ROUTES=(gateway)
Sauf que :
Code : Tout sélectionner
su
/etc/rc.d/network restart
:: Stopping Network FAIL
SIOCDELRT: No such process
:: Starting Network FAIL
SIOADDRT: No such process
Par contre, si je mets ROUTES=(!gateway) dans mon rc.conf, le réseau se relance correctement mais évidemment, ça ne fonctionne pas... Je n'ai pas de connexion au réseau local.
Publié : lun. 26 mai 2008, 18:01
par tuxce
as tu fixé l'ip de la carte du laptop?
tu arrives à le pinger (pour commencer)?
Publié : lun. 26 mai 2008, 18:13
par AddiKT1ve
Non, l'IP de la carte WiFi du laptop n'est pas fixe à proprement parler, mais je lui ai réservé une adresse locale grâce à la config DHCP de mon routeur (adresse MAC du laptop = adresse locale 192.168.0.2).
Et non, pas de ping possible entre les deux machines... Au hasard, le ifconfig de mon laptop :
addikt1ve@sweetylaptop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1B:38:3C:3B:30
inet6 addr: fe80::21b:38ff:fe3c:3b30/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:249 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23718 (23.1 Kb) TX bytes:2250 (2.1 Kb)
eth1 Link encap:Ethernet HWaddr 00:1A:73:91:B5:FD
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21a:73ff:fe91:b5fd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:60706 errors:0 dropped:8502 overruns:0 frame:0
TX packets:16846 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:64698100 (61.7 Mb) TX bytes:2695833 (2.5 Mb)
Interrupt:10
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:94770 errors:0 dropped:0 overruns:0 frame:0
TX packets:94770 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5794943 (5.5 Mb) TX bytes:5794943 (5.5 Mb)
Je désespère... Je ne compte plus le nombre d'heures que j'ai passé là-dessus (à vrai dire depuis hier je n'ai utilisé mon PC que pour ça...)
Publié : lun. 26 mai 2008, 18:25
par vincentxavier
AddiKT1ve a écrit :
Laptop - Arch Linux
Code : Tout sélectionner
sudo pacman -S iptables
sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.0.2
sudo /etc/rc.d/iptables save
sudo /etc/rc.d/iptables stop
sudo /etc/rc.d/iptables start
su -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Hum, aurais tu vérifier que
ne te nique pas ton
Code : Tout sélectionner
sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.0.2
D'abord, commences par désactiver
tous tes pare-feu le temps de configurer. Prends aussi le temps de lire
/etc/rc.d/iptables.
Ensuite, un bonne lecture de la page de manuel d'iptables serait assez utile. En particulier, il est utile de savoir manipuler
a minima les tables et au moins savoir rajouter des règles, savoir les supprimer, les visualiser, savoir vider toutes les tables etc …
Publié : lun. 26 mai 2008, 18:31
par AddiKT1ve
J'ai désinstallé iptables puis viré les fichiers de conf, ensuite réinstallé, stoppé, configuré & save, puis start. Donc la configuration et la bonne... Et pourtant ça ne marche toujours pas (du coup j'ai recommencé à zéro, mais rien à faire quand même -_-).
Du coup je pense à un truc... La carte réseau est peut-être morte, non

?
Publié : lun. 26 mai 2008, 18:36
par vincentxavier
Il faut aussi être conscient que faire un partage de connexion comme tu le désires est plus que complexe et assez risqué pour ta sécurité.
Publié : lun. 26 mai 2008, 18:46
par AddiKT1ve
Carte réseau testée sur un autre PC, elle fonctionne parfaitement

.
Ma sécurité ? lol le FBI va venir m'abattre froidement d'une balle dans la nuque. Plus sérieusement, je fais ça dans ma chambre, je suis en province, j'ai même un voisin qui a une livebox

C'est hyper dangereux.
Et quand tu dis "plus que complexe", apparemment ce n'est pas l'avis de tout le monde puisque cette opération est présentée comme simplissime partout où j'ai pu lire des howto... Seulement, ça ne fonctionne pas ici, et c'est sans aucun doute une erreur chaise-clavier.
Publié : lun. 26 mai 2008, 18:48
par tuxce
désolé, j'avais fait une boulette
en voulant citer ta réponse, je l'ai éditée, mais bon je pense avoir remis la bonne...
du coup je recommence ma question, je parlais pas de l'ip de la carte rj45 et non celle du wifi
ton desktop est bien connécté en cable, il te faut donc une ip sur la carte rj45
Publié : lun. 26 mai 2008, 18:54
par AddiKT1ve
Mmh, quelle IP je lui donne, à la carte RJ45 ? Je comprends plus rien du tout, dans aucun howto on ne parle de donner d'IP à la carte !
Tu pourrais recommencer depuis le début en m'expliquant la procédure pas à pas s'il te plaît ? Je craque... J'arrive plus à réfléchir...
Publié : lun. 26 mai 2008, 20:05
par tuxce
c'est à elle que tu dois donner l'ip de la passerelle
ex:
sous réseau: 192.168.0.0/24 netmask 255.255.255.0
ip wifi: peu importe du moment qu'il n'y a pas conflit et que c'est le meme sous réseau, par ex: 192.168.0.3
ip rj45: 192.168.0.2
ip desktop: 192.168.0.1
paserelle desktop: 192.168.0.2
Publié : lun. 26 mai 2008, 20:48
par AddiKT1ve
C'est à
zul de #informatique @ irc.epiknet.org que je dois la vie ! Voici la configuration qui a fonctionné :
Laptop :
eth0 (ethernet) : 192.168.1.1
eth1 (wifi) : 192.168.0.2
Desktop :
eth0 (ethernet) : 192.168.1.2
Ensuite, j'ai juste adapté les règles iptables et les routes. Par contre, j'ai encore un problème ; tant que je laisse
ROUTES=(!gateway) dans mon rc.conf, ça marche mais je dois refaire la config à la main à chaque démarrage ; en revanche si je mets
ROUTES=(gateway) eh bien /etc/rc.d/network s'affole :
Code : Tout sélectionner
/etc/rc.d/network restart
:: Stopping Network FAIL
SIOCDELRT: No such process
:: Starting Network FAIL
SIOADDRT: No such process
Merci

Publié : mar. 27 mai 2008, 11:07
par tuxce
tu peux poster la partie concernant le réseau dans le /etc/rc.conf ?
Publié : mar. 27 mai 2008, 19:57
par AddiKT1ve
Hop :
eth0="eth0 192.168.1.2 netmask 255.255.255.0 up"
INTERFACES=(eth0)
gateway="default gw 192.168.1.1"
ROUTES=(!gateway)
Publié : mar. 27 mai 2008, 20:39
par tuxce

rien de particulier sur ton rc.conf
en laissant comme c'est, une fois démarré, tu peux essayer:
Code : Tout sélectionner
/etc/rc.d/network rtup gateway
/etc/rc.d/network rtdown gateway
juste pour voir s'il te sort les mêmes erreurs
Publié : mar. 27 mai 2008, 20:57
par AddiKT1ve
D'accord, j'essaierai

. En attendant, j'ai un petit /root/script.sh que je lance au démarrage et qui s'occupe de route. Si je modifie /etc/rc.d/network aussi, peut-être... ?
(résolu : en fait au démarrage, pas d'erreur ; ces lignes n'apparaissent que lorsque l'interface a déjà été up)
Problème 100% résolu \o/ !