FHEM über VPN-Tunnel keine Inhalt in Iframe

Begonnen von kud, 15 Juni 2016, 09:33:48

Vorheriges Thema - Nächstes Thema

kud

Hallo,
Komme leider nicht weiter daher hier die Frage.
Folgendes Konstukt.
Raspi + IPcamera im Garten und ist per UMTS mit dem Internet verbunden (Flatrate)
Ein Tunnel zur Fritzbox zuhause wird mittels vpnc fritzbox.conf aufgebaut.
ifconfig zeigt:
eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:9b:b8:7c 
          inet6-Adresse: fe80::b3ad:fb7f:b865:9690/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Lokale Schleife 
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:539 errors:0 dropped:0 overruns:0 frame:0
          TX packets:539 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1
          RX bytes:39048 (38.1 KiB)  TX bytes:39048 (38.1 KiB)

ppp0      Link encap:Punkt-zu-Punkt-Verbindung 
          inet Adresse:10.41.106.87  P-z-P:10.64.64.64  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metrik:1
          RX packets:249 errors:7 dropped:0 overruns:0 frame:0
          TX packets:259 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:3
          RX bytes:76600 (74.8 KiB)  TX bytes:32015 (31.2 KiB)

tun0      Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          inet Adresse:192.168.1.190  P-z-P:192.168.1.190  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1412  Metrik:1
          RX packets:50 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:500
          RX bytes:6719 (6.5 KiB)  TX bytes:5521 (5.3 KiB)

wlan0     Link encap:Ethernet  Hardware Adresse b8:27:eb:ce:ed:29 
          inet Adresse:192.168.2.1  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6-Adresse: fe80::ba27:ebff:fece:ed29/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:269 errors:0 dropped:214 overruns:0 frame:0
          TX packets:82 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:41453 (40.4 KiB)  TX bytes:11358 (11.0 KiB)

Die Ip-Kamera ist über Wlan ingegriert IP 192.168.2.89.
Wenn ich mich über Wlan auf den Raspi einlogge und FHEM aufrufe habe ich per iframe das Bild / Video.
Wenn ich allerdings mich am Fritzbox-Heimpc die 192.168.1.190:8083/fhem eingebe sehe ich zwar das Webinterface von FHEM aber die Iframs bleiben leer.

Hat Jemand einen Tip?
Danke.


Otto123

#1
Hallo,

du machst eine vpn Verbindung vom Garten zum Heimnetz - richtig?
Deine IP Kamera ist im Garten in einem '"Gartennetz"
Dein VPN Client im Garten ist nicht die Kamera?

Das wird so nicht gehen. Nicht so rum, der VPN Client stellt keinen Netzwerk Zugriff in seinem Subnetz zur Verfügung.
Habe jetzt auch auf die Schnelle keinen Ansatz. Am ehesten noch VPN andersrum also von zu Hause in den Garten. Oder eben ein VPN zur LAN - LAN Kopplung.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Bytechanger

Zur Bewertung, nenne mal Deine Konfiguration:


Gartenhaus  Hier ist ein Raspi mit der IPKamera (welcher IP-Adressenbereich??)  der über vpnc einen Tunnel aufbaut nach


(zu HAuse) FritzBox welcher IP-Adressenbereich??

Wo läuft FHEM (Raspi oder Heimnetz) auf welcher Adresse???

Über die Definition von Gateways oder statische Tunnel lässt sich einiges konfigurieren...

Greets

Byte

kud

#3
Danke für die Beiträge.
@Otto123  Das Ganze läuft über LTE-Mobilfunk und nicht Festnetz. Daher kann ich keinen Tunnel von Zuhause zum Garten aufbauen.

Vielleicht noch einmal der Aufbau.
Garten: Raspi inkl. Accesspoint  mit FHEM, SMS-Server,vpnc
/etc/network/interfaces
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.2.1
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.255
up iptables-restore < /etc/iptables.ipv4.nat
auto ppp0
iface ppp0 inet wvdial

Alle Geräte im Garten sollen über Wlan eingebunden werden. (IP-Bereich 192.168.2.*) So auch die Kamera welche zZeit über den Raspi die Adresse 192.168.2.84 bekommt.
Die Internetverbindung wird alle 2 Minuten abgefragt und ggf. erneut hochgefahren.

Aktivierung der Verbindung nach Hause:
ZZeit schicke ich dem "Garte" eine SMS und der Gartenpi fährt per vpnc einen Tunnel zur Heim-Fritzbox hoch.

Zuhause kann ich mich an den Computer setzen und die IP:8083/fhem eingeben, welche mir die Fritzbox dem Tunnel gegeben hat.(192.168.1.190)
Alles Klasse und auch schnell steuerbar.
Nur der Iframe der Kamera bleibt leer.

Wenn ich IM GARTEN per Wlan 192.168.2.1:8083/fhem im Browser eingebe sehe ich den Inhalt des Iframe.

Vielleicht noch als Ergänzung meine IP-Tables

echo "1" > /proc/sys/net/ipv4/ip_forward
#Set log level
echo "1 4 1 7" > /proc/sys/kernel/printk
#Set Masquerade
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
route add default gw 10.64.64.64
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -j ACCEPT
iptables -A FORWARD -i wlan0 -j ACCEPT
iptables -A FORWARD -i ppp0 -j ACCEPT


Hilft das zu Verständnis ?

Bytechanger

#4
Hi,

ist doch schonmal was.
Mit dem "Rücktunnel" vom Raspi zur Heimfritzbox ist klar wegen des Mobilfunks.

Mir ist das System FHEM mit iframe Kamera nicht ganz klar.
Wie funktioniert dass? Ist das ein FHEM Modul?
Oder hat die Kameraansicht nichts mit FHEM zu tun?
Was steht denn in dem iframe für eine src Adresse drin?

Ggf. hilft eine statische Route vom 192.168.2.0 Netz auf den Raspi -> 192.168.1.190
Teste davor mal, ob es geht, wenn Du in den PC Netzwerkeinstellungen die 192.168.1.190 als Gateway einträgst.
Ich muss nochmal schauen, glaube aber (zumindest bei OpenVPN) kann der Raspi als Gateway für das 192.168.2. -> 192.168.1. Netz arbeiten.

Ggf. reicht eine entsprechende NAT regel in der iptables, die Pakete auf dem tun0 aufs lokale Netz maskiert...


Bin etwas knapp in der Zeit, muss mal überlegen.

Ich baue die Tunnel über zwei Raspis auf. Da hat man vermutlich mehr Möglichkeiten der Gatewayschaltung.

Greets

Byte

Bytechanger

So,

vorweg, ich bin kein LINUX Crack, daher die Bitte, dass sich so jemand damit beschäftigt.
Mein Post soll nur ein Denkanstoß sein für eigene Recherchen...


Vorab noch eine Warnung, mit "spielereien" an den iptables kann man sich schnell aussperren und erhält dann keinen Zugriff mehr auf den Raspi, da hilft meist dann nur ein Neustart, daher alles ohne Gewähr und unter Ablehnung jeglicher Verantwortung...

Meine Raspis hängen nicht direkt am Internet, sondern nur jeweils ein Port, daher bin ich mir nicht sicher, wie man am Besten eine Absicherung gegen Angriffe von Außen vornimmt! Das ist ein heikles Thema. Bin mir auch nicht sicher, ob wir mit u.g. Befehlen dann ein Loch in die Firewall reißen!
Daher Linux-Cracks, bitte melden..

In einer ähnlichen Testkonsterlation konnte ich mit:
--------------------------------------------------------------------

BEI BESTEHENDER VPNC Verbindung, da dann erst der tun Adapter erscheint!
eth0 ist bei mir die LAN Schnittstelle, wo die Kamera hängt; wäre also bei Dir wlan0!

iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wlan0-j MASQUERADE

Wichtig hierbei ist nun, dass Anfragen in Deinem Heimnetz an 192.168.2.0 über den "Gateway" IP der vpnc Verbindung (192.168.1.190) laufen. Versuch mal testweise am PC diese Adresse als Gateway einzutragen. Statische Route will die Fritzbox nicht!

Ansonsten habe ich mit

iptables -t nat -A PREROUTING -p tcp --dport 5001 -j DNAT --to-destination 192.168.2.84:80

einen Tunnel vom Raspi zur Kamera gebaut, dann wäre im Heimnetz die Kamera über
192.168.1.190:5001 erreichbar....

Also, dass sollen nur Denkanstöße sein, bin nicht genug Linux-Fachmann um eine sichere Lösung zu präsentieren.


Greets

Byte


Wernieman

ALSO .. wenn man es sich durchliest will der User vom HeimPC über VPN auf die Kamera zugreifen, die Hinter dem RasPi hängt.

Bevor jetzt immer mit iframe etc. getestet wird, viel einfacher:
Ist die Kamera vom HeimPC anpingbar?

So wie ich es sehe (und es hier schon mehrfach geschrieben):
Über VPN ist nur der RasPi und nicht die Kamera erreichbar.

Es gibt jetzt 2 Möglichkeiten:
1. Apache-proxy (oder anderer proxy)
2. VPN auf "Netze" erweitern.
-> Clientseitig reinschreiben
-> Da "FritzBox-VPN" auch auf Fritzbox-seitig erweitern!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

kud

Danke für die Posts.

@Bytechanger

Danke kann ich nachvollziehen und werde mein Glück versuchen. IPtables /Routing sind schon recht nah an "Schwarzer Magie ;-))

@Werniemann

Deine Ausführungen /Anregungen habe ich leider nicht so recht kapiert. Muß erstmal recherchieren :-(

Bytechanger

Ja, so ist es laut Beschreibung. Nur der RASPI ist erreichbar. Client Netz muss m.E über masquerade also bat Routing erreichbar gemacht werden. Denn es besteht nur ein Tunnel von Fritzbox Netz zu RASPI. RASPI Netz dürfte erstmal unerreichbar sein, da anderer Adapter.

Ist aber m.E machbar. Zur Not über die o.g. port Tunnel Lösung.
Vpnc lässt sich m.E nicht so gut configurueren wie opnenvpn...

Greets

Byte

Wernieman

Er könnte, anstatt eines "Client-VPN" ein "Lan-VPN" aufbauen. Da dieses aber auch der Router wissen muß,eben auch in der FritzBox konfigurieren!

Aber NAT habe ich nicht in meiner Auflistung, ist eine alternative für eine Proxy-Lösung.

Also als Möglichkeiten:
- Lan-VPN
- Apache Proxy
- nat (routing)

Ich persönlich würde eine Proxy-Lösung wählen, aber nat ist auch möglich.
@Threadersteller: verstehe mich bitte nicht falsch, aber bei Deinem präsentierten Wissensstand würde ich die die Lan-VPN-Lösung abraten. Oder brauchst Du, abgesehen von http/https Zugriff auf die Kamera?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

kud

Ich möchte von der Kamera nur das Bild /Videostream.

In die Proxylösung muss ich mich erst einlesen und verstehen.


Bytechanger

Das Gute an ipconfig ist, wenn man es nicht per Script dauerhaft ins System impft, ist bei einem Neustart alles bei der alten Konfiguration.

@Wernieman: Wie man der FritzBox mitteilt, dass sie das Clientnetzwerk einbindet ist mir nicht klar / nicht gefunden...
                       Die Krux an der Config ist ja, dass sich der Client (Raspi) einwählt und das Clientnetz vom "Servernetz" erreichbar sein muss..

Apache-Proxy hört sich interessant an.

Bin auf jeden Fall überzeugt, dass Du eine Möglichkeit findest, es ans Laufen zu bringen



Greets

Byte

kud

Danke. Habe erste Erfolgserlebnisse.
Habe mir den lighttd installiert und

$HTTP["url"] =~ "(^/path1/)" {
  proxy.server  = ( "" => ("" => ( "host" => "127.0.0.1", "port" => 80 )))
}
$SERVER["socket"] == ":80" {
  url.rewrite-once = ( "^/paht1/(.*)$" => "/$1" )
  proxy.server  = ( "" => ( "" => ( "host" => "192.168.2.89", "port" => 80 )))
}

in die Konfig eingetragen.

Jetzt kann ich bei geöffneten VPNC mit 192.168.1.190 auf die Kamera zugreifen.
Trotz LTE langsam aber ok.
Was jetzt noch aussteht ist die Integration in FHEM (192.168.1.190:8083/fhem).
Wie trage ich dort den Iframe ein ? iframe http://192.168.1.190/....geht nicht.
Im Proxy leite alle Anfragen von Port 80 auf die Kamera.
FHEM habe ich aber unter Port 8083 geöffnet.
Hmm??




Wernieman

Sorry, kenne lighttd nicht, kann ich Dir nicht helfen. Aber ist das mit "localhost" richtig???

Da fhem unter 8083 erreichbar ist, brauchst Du doch gar keinen proxy dafür? Wo liegt dort das Problem?
Da der Browser vom Client das IFrame öffnet, trägst Du gans normal Deinen proxy dafür ein.

@Bytechanger
Ich habe es per FritzBox noch nicht ausprobiert, aber bei einem VPN-erstellen kann man unterscheiden ...



- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Otto123

Also ich bin ja immer dafür: Halt es einfach und wisse genau was Du tust...
Zitat@Otto123  Das Ganze läuft über LTE-Mobilfunk und nicht Festnetz. Daher kann ich keinen Tunnel von Zuhause zum Garten aufbauen.
Ich weiß nicht genau warum der Tunnel nicht andersrum gehen soll? dyndns geht doch immer, auch im Garten  ::)
Klar dann hängt der VPN Client zu Hause "in der Luft" aber zumindest der gewünschte Zugriff sollte gehen.

Wenn das nicht genügt, dann LAN VPN, zwei Fritzboxen koppeln sollte doch einfach gehen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz