Debian-Hostapd-Internet-IP-Routing

577

Ich arbeite jetzt an pine64 mit installiertem debian8. Ich versuche einen Hotspot mit hostapd einzurichten und ich möchte das Netzwerk von wlan0 mit wlan2 teilen, das der Hotspot ist. Nun habe ich einen Hotspot (wlan2) eingerichtet und der Client kann sich damit verbinden. Ich werde kein DHCP verwenden und ich möchte alle IP-Adressen manuell einstellen. Jetzt ist die Situation, dass ich meinen ipod mit dem pine64 verbinden und einen Ping-Test durchführen kann, aber keine Verbindung zum Internet herstellen kann.

Ich habe zuerst das Hostapd eingerichtet.

interface=wlan2 driver=nl80211 ssid=test hw_mode=g macaddr_acl=0 auth_alg=0 

und auch das wlan2 einrichten

iface wlan2 inet manual hostapd /etc/hostapd/hostapd.conf address 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255 

Ich habe dann die Kernel-IP-Routing-Tabelle eingerichtet.

Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 1024 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan2 

Mit dem obigen Setup kann das pine64 mein angeschlossenes Gerät per Ping erreichen. Dann habe ich die IPv4-IP-Forward-Tabelle eingerichtet.

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE sudo iptables -A FORWARD -i wlan0 -o wlan2 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan2 -o wlan0 -j ACCEPT  

Mein pine64 stellt eine Verbindung zum Router mit der IP-Adresse 192.168.1.109 her. Dann stelle ich meinen iPod so ein, dass er sich mit dem Pine64 mit der folgenden Einstellung verbindet.

IP Address 192.168.2.20 Subnet Mask 255.255.255.0 Router 192.168.1.109 DNS 192.168.1.109 

Aber ich finde, dass ich mit meinem Ipod nicht ins Internet kann, tut mir leid für das schlechte Englisch. Hoffe, jemand kann mir helfen. Danke vielmals.

0

1 Antwort auf die Frage

0
Alex O

Entfernen Sie die Schnittstellennamen ( -i wlan0 -o wlan2) aus der ersten FORWARD-Kettenregel. Außerdem wurde die Erweiterung "state" durch "conntrack" ersetzt.

Das sollte funktionieren:

sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT