2 votes

Ajout de route Linux entre un LAN statique et une passerelle Wifi

J'ai deux machines locales connectées l'une à l'autre par un réseau Ethernet filaire et l'une de ces machines est également connectée à un réseau wifi qui fournit un accès à Internet.

Une représentation pseudo-graphique de la topologie est la suivante :

(PC2)----------(PC1)---------(Wifi Gateway)
    192.168.2.x      10.0.0.x

La configuration sur le PC2 est la suivante :

iface eth0 inet static
address 192.168.2.2
network 192.168.2.0
netmask 255.255.255.0
gateway 192.168.2.1

...et la configuration sur le PC1 est :

iface eth0 inet static
address 192.168.2.1
network 192.168.2.0
netmask 255.255.255.0
gateway 192.168.2.1

Sur PC1, j'ai ajouté une route par défaut pour wlan0 car je ne pouvais pas accéder à l'internet autrement :

route add default gw 10.0.0.1 wlan0

J'ai également essayé de définir la passerelle pour le réseau 192.168.2.x en utilisant :

route add -net 192.168.2.0 netmask 255.255.255.0 gw 10.0.0.1

Mais je ne peux toujours pas accéder à Internet depuis le PC2.


Modifier

Je n'ai pas accès à la passerelle wifi.

2voto

Oliver Points 125

Votre interface PC1 eth0 ne devrait pas avoir de passerelle définie - c'est la même chose que de définir une route par défaut, et donc avec la route par défaut supplémentaire définie comme étant 10.0.0.1 la moitié de vos paquets iront dans la mauvaise direction.

Pour que le PC1 agisse comme un routeur pour le PC2, vous devez activer le transfert de paquets. Ceci peut être activé comme suit :

sudo sysctl -w net.ipvt.ip_forward=1

Et pour qu'il survive à un redémarrage, modifiez /etc/sysctl.conf et ajouter trouver la ligne

#net.ipv4.ip_forward=1

et le décommenter (ou l'ajouter s'il n'est pas présent, ou le changer en 1 s'il est présent mais réglé sur 0 )

Enfin, vous devrez modifier la passerelle wifi à 10.0.0.1 et ajouter une route statique, disant que la passerelle pour le réseau 192.168.2.0/24 est l'adresse IP du PC1 dans la gamme 10.0.0.0/24 (j'imagine que c'est probablement 10.0.0.2).

Oh, où que vous ayez ajouté

route add -net 192.168.2.0 netmask 255.255.255.0 gw 10.0.0.1
  • vous devriez le supprimer - le réseau 192.168.2.0/24 n'est pas accessible via le routeur wifi.

2voto

m4573r Points 5441

Ce que vous voulez, c'est partager (en utilisant le masquage) la connexion Internet du PC1.

Vous pouvez trouver de nombreux guides en ligne pour le faire, mais voici un résumé :

Tout d'abord, videz et supprimez les règles de pare-feu existantes :

iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X

Ensuite, configurez iptables pour la traduction NAT :

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Pour s'assurer que les tables ip sont restaurées au démarrage, exécutez iptables-save | tee /etc/iptables.sav et modifier /etc/rc.local et ajoutez les lignes suivantes avant la ligne "exit 0" : iptables-restore < /etc/iptables.sav

Activez le transfert d'IP :

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

Sur Ubuntu, vous devez également éditer /etc/sysctl.conf et décommentez :

 #net.ipv4.ip_forward=1

Sur PC2, vous devez également faire :

 ip route add default via 192.168.2.1

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X