57 votes

Transfert iptables entre deux interfaces

Donc j'ai une boîte linux avec deux interfaces sans fil, l'une est une station et l'autre un AP.

wlan0 (station) - Connectée à la connexion internet

wlan1 (AP) - Les autres clients s'y connectent.

J'aimerais que les clients connectés à wlan1 puissent accéder à internet via wlan0. Et je voudrais faire cela avec iptables car mon noyau n'a pas de support de pontage...

Voici ce que j'ai essayé jusqu'à présent avec iptables mais cela ne fonctionne pas :

iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT

Je vous serais reconnaissant de toute aide.

80voto

Torian Points 2264

Tout d'abord, pour permettre aux hôtes se connectant sur votre interface privée d'accéder à Internet, vous n'avez pas besoin de relier les interfaces, vous devez router les paquets entrants sur une interface vers l'autre, où ils sortiront sur le réseau.

Pour cela, vous avez seulement besoin de :

  1. Activer le routage sur votre boîtier linux :
  2. Autoriser des paquets spécifiques (ou tous) à traverser votre routeur
  3. Comme quelqu'un l'a mentionné, étant donné que netfilter est un pare-feu sans état, autorisez le trafic pour les connexions déjà établies
  4. Changer l'adresse source des paquets sortant vers Internet

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
    iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED \
             -j ACCEPT
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

Cela devrait faire l'affaire.

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