iptables/DNAT/routing - Problem

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
Benutzeravatar
kuno2k12
Beiträge: 38
Registriert: 27.03.2012 23:25:21

iptables/DNAT/routing - Problem

Beitrag von kuno2k12 » 13.04.2012 17:24:15

Hi Kollegen

Ich habe da ein (kleines) Problem mit iptables (DNAT) und/oder dem routing?
Seit Tagen verbrate ich damit meine Freizeit und scheine immer im Kreis zu laufen. ... vermutlich nur ein kleiner Denkfehler ... vielleicht kann mir jemand zu einem "aha"-Erlebnis verhelfen?

Da ich mein Problem bereits in meinem Wiki (mit allen notwendigen Unterlagen) zusammen gefasst habe, möchte ich hier nur einen Link zur Verfügung stellen, mit der Bitte um Hilfe:
https://wiki.aio4u.com/index.php/BwhkIn ... ptables.29

Wir können im Weiteren aber gerne über mein Problem hier weiter diskutieren ...

Danke vorab für die Hilfe!
Konrad
MfG Konrad

Wenn du schon eine Dummheit machst,
dann sollte sie wenigstens funktionieren!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables/DNAT/routing - Problem

Beitrag von rendegast » 13.04.2012 20:27:03

Für die auf eth1:1 (80,443) eintreffenden braucht es ein DNAT auf die Webcam-IP.
Für diese an eth0 ausgehenden Pakete noch ein SNAT mit der eth0-IP,
damit die Webcam die Antworten wieder an black sendet,
sie aber nicht als beliebige Internetpakete über das default-gw laufen
(die ww-clients würden diese wohl nicht akzeptieren).

Nun bleibt die Frage, was macht black intern mit den in Internet-IP zurückgenatteten (schönes Wort) Antworten der Webcam?
Läßt es sie wieder über eth1:1 heraus (wo die Anfragen eintrafen),
oder schlägt jetzt doch dumpf das default-gw zu?
Hoffentlich ersteres.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
kuno2k12
Beiträge: 38
Registriert: 27.03.2012 23:25:21

Re: iptables/DNAT/routing - Problem

Beitrag von kuno2k12 » 13.04.2012 23:13:24

VVorerst Mal Danke für die rasche Antwort!
Für die auf eth1:1 (80,443) eintreffenden braucht es ein DNAT auf die Webcam-IP.
hätte ich, aber lt tcpdump kommt kein Paket an der WebCam an?
Trotzdem werhält der Browser ein "404 File not Found" ... kann nur vom Webserver auf black kommen? ... woher sonst?
Für diese an eth0 ausgehenden Pakete noch ein SNAT mit der eth0-IP,
hatte ich versucht, aber keine Veränderung. Kann aber nicht mit 100%-iger Sicherheit sagen ob das ok war?
Nun bleibt die Frage, was macht black intern mit den in Internet-IP zurückgenatteten (schönes Wort) Antworten der Webcam?
Läßt es sie wieder über eth1:1 heraus (wo die Anfragen eintrafen),
oder schlägt jetzt doch dumpf das default-gw zu?
Hoffentlich ersteres.
Ja, das wäre für mich dann der nächste Schritt, sobald es mir gelingt mit tcpdump an black abgehende Pakete an die WebCam mit zu protokollieren.

PS.: ich habe auch schon versucht, einen Rechner statt der Webcam zu benutzen und mit ssh zu zu greifen. Auch da ist es mir nicht gelungen einen Datentransferv on black==>WebCam oder am PC einen Datenverkehr von black==>WebCam festzustellen.

Liebe Grüsse aus einem "saukalten Tirol" und jetzt aus einem nicht minder "saukalten Salzburg.
Konrad
MfG Konrad

Wenn du schon eine Dummheit machst,
dann sollte sie wenigstens funktionieren!

Benutzeravatar
kuno2k12
Beiträge: 38
Registriert: 27.03.2012 23:25:21

Re: iptables/DNAT/routing - Problem

Beitrag von kuno2k12 » 15.04.2012 13:32:06

Danke, rendegast für den Tipp, aber das was du beschreibst funktioniert ja.
siehe z.B.: http://aio4u.com:8241/ ... Benutzer test, Passwort test12, vermutlich wirst momentan nur Videostream 3 (.jpg) benutzen können.
Das entspricht der Regel in bw_policy.inc:
### WAN161 ==> LAN ... Dienste an ausgewaehlte IP's im LAN
for i in $EXT_SRC; do
$test && echo " 161 HTTP 80241 from $i to $IP_WCAM:8241 activated"
$ipt -A FORWARD -p tcp -i $IF_WAN161 --dport 8241 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp -i $IF_WAN161 -d $IP_WAN161 --dport 8241 \
-j DNAT --to-destination $IP_WCAM:80
done
Mein Problem ist ein wenig diffiziler:
Was w.o. funktioniert =
I-Net ==> aio4u.com:8241 ==> eth1 ==> DNAT ==> IP_WCAM:80

Da ich aber auf aio4u.com (80.92.127.161) bereits einen Webserver (80/443) laufen habe, kann ich die Webcam logischerweise nicht auch auf Port 80/443 (hier im Test auf 8241) laufen lassen. Da ich diese aber auch auf Port 80/443 laufen lassen möchte, bleiben mir nur zwei Möglichkeiten:
1.) ich könnte ihr statisch die IP 80.92.127.164 geben.
NACHTEIL: Ich kann sie nur am Kabel betreiben, weil ich sie ja dann am Switch VLAN1 (siehe:https://wiki.aio4u.com/index.php/Datei:LAN-hk120413.png ) direkt anstecken und betreiben muss!
2.) ... und das möchte ich erreichen: ich will sie ins lokale LAN hängen.
VORTEIL:
a) ich kann sie im lokalen LAN sowohl überall mit Kabel anstecken und/oder über W-LAN im gesamten W-LAN Einzugsbereich betreiben.
b) ich kann sie "ganz normal" aus dem gesamten lokalen LAN am Port 80/443 erreichen
c) ... und das funktioniert noch nicht: ich will sie aus dem Internet auf webcam.aio4u.com (80.92.127.164) ebenfalls am Port 80/443 erreichen.
NACHTEIL: um sie aus dem Internet auf 80/443 erreichen zu können brauche ich iptables auf meinem Server ... und damit habe ich das beschriebene Problem.

Na, vielleicht kann mir doch noch jemand weiter helfen??????????
detaillierte Beschreibung siehe: https://wiki.aio4u.com/index.php/BwhkIn ... ptables.29

PS.: eine grosse Hilfe wären mir auch einige "tcpdump Kommandlines" mit denen ich die einzelnen Schritte vom "black" aus überprüfen kann!

Danke im Voraus,
Konrad
MfG Konrad

Wenn du schon eine Dummheit machst,
dann sollte sie wenigstens funktionieren!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables/DNAT/routing - Problem

Beitrag von rendegast » 17.04.2012 10:29:57

Das entspricht der Regel in bw_policy.inc:

### WAN161 ==> LAN ... Dienste an ausgewaehlte IP's im LAN
....

Mein Problem ist ein wenig diffiziler:
Was w.o. funktioniert =
I-Net ==> aio4u.com:8241 ==> eth1 ==> DNAT ==> IP_WCAM:80

Da ich aber auf aio4u.com (80.92.127.161) bereits einen Webserver (80/443) laufen habe, kann ich die Webcam logischerweise nicht auch auf Port 80/443 (hier im Test auf 8241) laufen lassen. Da ich diese aber auch auf Port 80/443 laufen lassen möchte, bleiben mir nur zwei Möglichkeiten:
1.) ich könnte ihr statisch die IP 80.92.127.164 geben.
...
c) ... und das funktioniert noch nicht: ich will sie aus dem Internet auf webcam.aio4u.com (80.92.127.164) ebenfalls am Port 80/443 erreichen.
Zum einen, was hindert dich, analog WAN161 ein WAN164 für
webcam.aio4u.com (80.92.127.164) / eth1:1
einzusetzen, da für die Ports 80/443 (statt des Testport 8241)?

Zum anderen, warum sollte der Webserver
aio4u.com (80.92.127.164) / eth1(:?)
auf allen Interfaces eth1:x horchen?
Normalerweise können Netzwerkdienste irgendwo in der Konfig an Interfaces oder IP gebunden werden.


Wie dann die Maschinen im lokalen Netz auf die Webcam zugreifen,
könntest Du mit einem lokalen DNS-Proxy steuern
(normalerweise mit einer separaten "master-" oder hosts-Datei),
der erst danach die Provider-DNS
(Primär DNS: 80.92.126.69
Sekundär DNS: 80.92.113.14) befragt..
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
kuno2k12
Beiträge: 38
Registriert: 27.03.2012 23:25:21

[gelöst] iptables/DNAT/routing - Problem

Beitrag von kuno2k12 » 18.04.2012 00:18:34

Hallo rendegast
Natürlich hast du Recht, ich könnte ;-) ...
Na, ich denke, mein grösster Fehler war, dass ich die Weiterleitung zu restriktiv angegangen bin.
Ich werde einfach ALLES, was an der 80.92.127.164 ankommt an die Webcam im LAN 192.168.50.241 weiter leiten ... und das sollte es dann gewesen sein.

Derzeit habe ich sie einfach per Kabel am VLAN1 angesteckt und greife via Internet direkt (dzt mit https://80.92.127.164 test/test12) darauf zu. So kann ich Mal ausgiebig testen. Die Kamera TVIP-41550 spielt so viele Stückchen, die ich dann doch wechselweise einsetzen möchte.

Anschliessend werde ich sie dann doch versuchen ins LAN zu hängen, einfach deshalb, weil ich sie dann immer wahlweise, überall im Einzugsbereich des lokalen W_LAN einsetzen kann und nicht direkt verkabeln muss.

Nur zur Info:
In meinen iptables Regeln und der gesamten Konfig habe ich - Gott sei Dank - keine Fehler (entdecken können). Wenn ich einen Linux-Rechner statt der Webcam rein hänge, funktioniert der Zugriff klaglos. Das Problem muss an der WebCam und deren Konfig zu suchen sein.

Betrachten wir den Punkt also als gelöst! Danke jedenfalls für die spontane Antwort und versuchte Hilfestellung!
Vielleicht kann ich mich ja Mal revanchieren ;-)

Liebe Grüsse,
Konrad
MfG Konrad

Wenn du schon eine Dummheit machst,
dann sollte sie wenigstens funktionieren!

Antworten