iptables leitet alles weiter, außer den lokalen Server

iptables leitet alles weiter, außer den lokalen Server

Dies sind die Regeln, die ich verwende:

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface wlan5 -j MASQUERADE
iptables --append FORWARD --in-interface wlan3 -j ACCEPT

Ich habe WLAN5 mit 192.168.1.100 und WLAN3 mit 10.0.0.1. Ich mache meinen Laptop mit 2 WLAN-Karten zu einem WLAN-Repeater.

Die Leute verbinden sich also mit WLAN3, das Gateway ist 10.0.0.1 und alles wird auf WLAN5 [gw 192.168.1.1] umgeleitet.

Das funktioniert großartig.außerIch kann nicht auf einen lokalen HTTP-Server zugreifen, der auf meinem Laptop gehostet wird. Er wird auf meinem Laptop gehostet und funktioniert als localhost oder 10.0.0.1:

$ curl -I 10.0.0.1
HTTP/1.1 301 Moved Permanently
Date: Tue, 26 Feb 2013 02:35:32 GMT
Server: Apache/2.2.22 (Ubuntu)
Location: http://10.0.0.1/index.php
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1

Ok, hier liegt also das Problem. Ein Client in meinem freigegebenen Netzwerk [wlan3] mit der IP 10.0.0.20 versucht, auf 10.0.0.1:80 zuzugreifen, kann aber keine Verbindung herstellen:

$ wget http://10.0.0.1                                       
Connecting to 10.0.0.1 (10.0.0.1:80)
wget: can't connect to remote host (10.0.0.1): Connection refused

Es kann 10.0.0.1 und sogar eine externe IP anpingen. Es hat also eine Internetverbindung, was ja der Sinn der Sache ist, kann aber nicht auf HTTP zugreifen, ich glaube, wegen der iptables-Regeln. Gleich nach dem Fehler erscheint Folgendes im Syslog meines Laptops:

Feb 25 21:36:19 toshi kernel: [57806.285170] Inbound IN=wlan3 OUT= MAC=9c:b7:0d:a5:45:67:a8:26:d9:3e:04:21:08:00 SRC=10.0.0.20 DST=10.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=28282 DF PROTO=TCP SPT=58343 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 

Die Frage ist also, wie kann ich die Weiterleitung von IP-Anfragen an 10.0.0.1 und nicht an WLAN5 ausschließen?

Danke

Antwort1

edit: wieder einmal, nachdem ich dachte, das Problem sei behoben, hat es einfach wieder aufgehört zu funktionieren, ohne dass ich KEINE weiteren iptables-Befehle mehr eingegeben habe. Ich kann nicht herausfinden, warum es immer wieder funktioniert und dann nicht mehr. >.<


Ich habe einen anderen iptables-Befehl gefunden, mit dem ich mein Internet von einem [weitreichenden] WLAN-Gerät auf ein anderes [internes] Gerät übertragen kann:

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

anstelle der iptables-Befehle in der Frage. Und dadurch kann ich weiterhin auf das Internet zugreifen und von 10.0.0.20 aus weiterhin auf http/ssh unter 10.0.0.1 zugreifen.

Antwort2

Deriptables-save AusgabeIhr Beitrag zeigt die folgenden benutzerdefinierten Ketten in der Filtertabelle: INBOUND, OUTBOUND, LOG_FILTER, LSI und LSO. Firestarter erstellt 5 Ketten, die alle genau so benannt sind.

Ich bin sicher, dass Ihr Problem durch Firestarter verursacht wird. Öffnen Sie es und prüfen Sie, ob es wirklich deaktiviert ist.

Verweise:

verwandte Informationen