Hallo zusammen,
irgendwie habe ich hier Tomaten auf den Augen: mein Masquerading funktioniert nicht.
Der Server, ausgerüstet mit zwei BCM4318, fungiert in einem WLAN über wpa_supplicant als Client. Dies funktioniert ohne Probleme. Für die andere WLAN-Karte läuft ein HostAP mit WPA. Mit meinem Laptop kann ich mich auch zu diesem verbinden, aber Antworten auf meine Requests bekomme ich vom Server nicht (selbst wenn ich den Server pingen möchte).
Hier die Einstellungen des Servers:
$ iwconfig wlan1 wlan1 IEEE 802.11bg Mode:Master Frequency:2.452 GHz Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 $ ifconfig wlan1 wlan1 Link encap:Ethernet Hardware Adresse 00:16:ce:14:ff:72 inet Adresse:192.168.3.1 Bcast:192.168.3.255 Maske:255.255.255.0 inet6-Adresse: fe80::216:ceff:fe14:ff72/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:1138 errors:0 dropped:0 overruns:0 frame:0 TX packets:1749 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:124827 (124.8 KB) TX bytes:212139 (212.1 KB) $ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.3.0/24 anywhere ctstate NEW ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED Chain OUTPUT (policy ACCEPT) target prot opt source destination $ cat /proc/sys/net/ipv4/ip_forward 1
Der Laptop verbindet sich via NetworkManager mit vorgegebener IP (192.168.3.2/24, Gateway&DNS 192.168.3.1) Hier die (langweiligen) laptop-seitigen Firewalleinstellungen:
$ sudo iptables -L [sudo] password for manuel: Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Beobachte ich den Verkehr mit tcpdump/Wireshark, sieht es so aus, als würden die IP-Requests am Server ankommen und die Antwort verschickt. Nur kommen sie nicht am Client an.
Hat jemand eine Idee was hier falsch laufen könnte?
EDIT: Hier noch die Routing-Tabelle des Servers:
$ route -n Kernel-IP-Routentabelle Ziel Router Genmask Flags Metric Ref Use Iface 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 wlan0