it-swarm.com.de

iptables Weiterleitung zwischen zwei Schnittstellen

Ich habe also eine Linux-Box mit zwei drahtlosen Schnittstellen, eine ist eine Station und die andere ein AP.

wlan0 (Station) - Mit der Internetverbindung verbunden

wlan1 (AP) - Andere Clients stellen eine Verbindung her.

Ich möchte, dass Clients, die mit wlan1 verbunden sind, über wlan0 auf das Internet zugreifen können. Und ich würde dies gerne mit iptables machen, da mein Kernel keine Bridging-Unterstützung hat ...

Folgendes habe ich bisher mit iptables versucht, aber es funktioniert nicht:

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

Ich würde mich über jede Hilfe freuen.

29
broody

Damit Hosts, die über Ihre private Schnittstelle eine Verbindung herstellen, mit dem Internet verbunden werden können, müssen Sie die Schnittstellen nicht überbrücken, sondern Pakete, die über eine Schnittstelle eingehen, an die andere weiterleiten, wo sie in die Wildnis gelangen.

Dazu müssen Sie nur:

  1. Aktivieren Sie die Weiterleitung auf Ihrer Linux-Box:
  2. Ermöglichen Sie bestimmten (oder allen) Paketen, Ihren Router zu durchlaufen
  3. Da netfilter eine zustandslose Firewall ist, lassen Sie, wie bereits erwähnt, Datenverkehr für bereits hergestellte Verbindungen zu
  4. Ändern Sie die Quelladresse von Paketen, die ins Internet gehen

    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
    

Das sollte es tun.

39
Torian