Sainlogic Professionelle WLAN Funk Wetterstation - 10 in 1 Wi-Fi

Kenn mich da nicht so gut aus aber die Doku sagt das es sowas gibt „nat“
http://ipset.netfilter.org/iptables.man.html
Vielleicht kennt sich ein Linux-Experte von hier aus .

Ich suche auch noch ein Ort, das Dach bietet sich wohl an, weil es nicht so störend ist wie im Garten und weil das auf dem Dach zumindest nicht genehmigungspflichtig ist, bis zu einer gewissen Höhe. Kannst Du mir mal sagen wie Du das auf dem Dach befestigt hast und in welcher Höhe hängt dann die Station über dem höchsten Punkt vom Dach? Wie geht man da am besten bei der Montage und Ausrichtung vor? Die Station muss ja exakt nach Himmelsrichtung ausgerichtet werden.

Naja die Befestigung war bei mir recht einfach, da ich ja die alte Station nur getauscht hab.

Ich habe eine Leiter am Giebel welche bis auf das Dach führt und noch 1m darüber hinaus, um auch ordentlich auf das Dach steigen zu können (für den Schornsteinfeger)
An diesem „Handlauf“ habe ich jetzt ein etwa 1,5m langes Edelstahlrohr mit 2 großen Schlauchschellen befestigt, dort oben drauf ist die Wetterstation… Etwa 2m über dem Dachfirst.
Blitzschutz ist auch gegeben, da die Leiter sowie auch 2 Schornsteine (höher als die Wetterstation) mit dran hängen, die sind aber mind 6m entfernt
Wenn man hier einfach und schnell vom Handy mal ein Foto hochladen könnte, würde ich das tun [emoji849]

Gesendet mit Tapatalk

Hallo Frauenhofer,

bei Wunderground solltest Du nichts angeben müssen, da kümmert sich die App drum, siehe auch Sainlogic Professionelle WLAN Funk Wetterstation - 10 in 1 Wi-Fi - Seite 11

Viele Grüße,

Burkhard

Hallo,

ich glaube, das Problem liegt an einem fehlenden iptables oder iptable_nat im Linux.

Wenn er schreibt:

iptables v1.4.10: can't initialize iptables table `NAT': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Scheint das Modul nicht in den Kernel geladen worden zu sein.

Heißt das, dass das modul iptables mit insmod eingebunden werden muß. Probiert mal bitte:

# WICHTIG: IP-Forwarding im Kernel aktivieren.
   # Default ist "disabled"!
   $> echo "1" > /proc/sys/net/ipv4/ip_forward
   
   # Laden diverser Module. Oft sind die Module bereits geladen 
   # (gerade bei neueren Kernels oft der Fall), dann sind die 
   # folgenden Kommandos nicht notwendig.
    
   # iptables-Modul im Kernel laden:
   $> modprobe ip_tables
   
   # Connection-Tracking aktivieren
   # (Status der Verbindungen wird beruecksichtigt)
   $> modprobe ip_conntrack

   # iptable_nat laden
   $> modeprobe iptable_nat

   # Zusaetzliche Funktionen fuer IRC:
   $> modprobe ip_conntrack_irc

   # Zusaetzliche Infos fuer FTP:
   $> modprobe ip_conntrack_ftp

Wenn iptables installiert ist, schreibt er bei modprobe ip_tables → ip_tables is already installed. Ansosnten wird das Modul installiert.

Wenn ip_tables und iptable_nat installiert ist, sollte bei: iptables -t nat -L folgendes erscheinen:

root@LEDE:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
prerouting_rule all – anywhere anywhere /* !fw3: user chain for prerouting /
zone_lan_prerouting all – anywhere anywhere /
!fw3 /
zone_wan_prerouting all – anywhere anywhere /
!fw3 */
DNAT tcp – ESP_0A79FE.lan anywhere tcp dpt:www to:192.168.178.40:45000

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
postrouting_rule all – anywhere anywhere /* !fw3: user chain for postrouting /
zone_lan_postrouting all – anywhere anywhere /
!fw3 /
zone_wan_postrouting all – anywhere anywhere /
!fw3 */

Chain postrouting_lan_rule (1 references)
target prot opt source destination

Chain postrouting_rule (1 references)
target prot opt source destination

Chain postrouting_wan_rule (1 references)
target prot opt source destination

Chain prerouting_lan_rule (1 references)
target prot opt source destination

Chain prerouting_rule (1 references)
target prot opt source destination

Chain prerouting_wan_rule (1 references)
target prot opt source destination

Chain zone_lan_postrouting (1 references)
target prot opt source destination
postrouting_lan_rule all – anywhere anywhere /* !fw3: user chain for postrouting */

Chain zone_lan_prerouting (1 references)
target prot opt source destination
prerouting_lan_rule all – anywhere anywhere /* !fw3: user chain for prerouting */

Chain zone_wan_postrouting (1 references)
target prot opt source destination
postrouting_wan_rule all – anywhere anywhere /* !fw3: user chain for postrouting /
MASQUERADE all – anywhere anywhere /
!fw3 */

Chain zone_wan_prerouting (1 references)
target prot opt source destination
prerouting_wan_rule all – anywhere anywhere /* !fw3: user chain for prerouting */

Geholfen hat mir dabei: NAT mit Linux und iptables - Tutorial (Einführung) und linux kernel - iptables v1.4.14: can’t initialize iptables table `nat’: Table does not exist (do you need to insmod?) - Stack Overflow

Noch eine kleine Ergänzung: Es könnte sein, das iptables schon installiert ist, aber nat nicht. Gebt bitte mal:

modinfo iptable_nat

ein und schaut, ob ihr so eine Antwort bekommt:

root@LEDE:~# modinfo iptable_nat
module:         /lib/modules/4.4.70/iptable_nat.ko
license:        GPL
depends:        ip_tables,nf_nat_ipv4

Wenn nicht, schreibt er einen Error, dann ist iptable_nat nicht im Kernel verankert. Regulär würde dies eine Kernel-Modifikation (schaut mal bei ubiquiti ob es ein FW-Update für Eure Geräte gibt) bedeuten.

Ihr könnt auch

modprobe iptable_nat

probieren. Wenn es drin ist, schreibt er „is already installed“.

Viele Grüße,

Burkhard

Also bei mir kommt folgendes und es funktioniert ja auch:

ACCESSPOINT-BZ.v3.9.27# modinfo iptable_nat
module:         /lib/modules/3.14.77/iptable_nat.ko
license:        GPL
depends:        ip_tables,nf_conntrack,nf_nat,nf_nat_ipv4

Ich hätte doch noch mal eine Frage zum Verständnis dazu. Auf dem Server läuft bei mir ja bereits eine DNS Server, das heißt alle Anfragen gehen an den DNS Server nicht an die Fritzbox selber. Ist denn dann so was wie dieser DNS Proxy überhaupt notwendig? Reicht es dann eigentlich nicht einfach aus im DNS Server eine neue Zone unter Forward-Lookupzonen einzurichten und dort dann den Host einzutragen? Das Problem was ich habe, ist das der DNS ja nur die Namensauflösung von rtupdate.wunderground.com prüft und dann die Ziel IP zurückgibt. Die Kommunikation erfolgt ja dann aber immer noch auf Port 80 da HTTP Standard Port. Das funktioniert bei mir aber nicht, da auf dem Server auf Port 80 schon ein Webserver hängt und dann nicht auf dem gleichen Server IP-Symcon auch auf Port 80 hören kann.
Daher fällt dann wohl der Ansatz über DNS oder auch der DNS Proxy komplett raus, da immer Port 80 vorgegeben ist oder? Dann bleibt für mich wohl doch nur der Weg über einen Router, wenn ich auch den Port festlegen will, an dem die Daten in IP-Symcon ankommen sollen oder?

ja, das stimmt. Per proxy kann der Port nicht umgebogen werden. Eine andere Möglichkeit ist jedoch folgende - siehe auch eine der posts oben von mir: Du kannst die folder Zielstruktur von wunderground nachbilden - sprich, Du erzeugst unter dem ordner webfront einen Ordner „weatherstation“ und in diesem Ordner ein Script namens „updateweatherstation.php“.
Das wird dann aufgerufen, wenn per Proxy die externe IP Adresse von wunderground auf den IPS Server umgebogen wurde. Netter Nebeneffekt: Du brauchst keinen Server Port und Deine Log Datei wird nicht mit open/close zugemüllt.
Und Du brauchst natürlich eine Webserver Instanz auf Port 80 - die Du ja eh schon hast.
Unschön: ist halt nicht ganz Standard, da Du etwas ausserhalb des user Ordners hast.
Bei mir funktioniert das problemlos und eben mit geringem Aufwand.

Das Script updateweatherstation.php kann z.B. folgendes enthalten:


<?


$data  = $_SERVER['QUERY_STRING'];

// in $data steht der komplette string mit allen wetterdaten - kann hier weiterverarbeitet werden
// ...

$wunderground = @file_get_contents("http://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?" . $data);
//damit wird der reqeust nun an wunderground "weitergeschickt"


?>

Hallo 1007,

welchen AP hast Du einen Lite oder einen Pro. Wenn ich das richtig verstanden habe, können die Lite kein Nat.

Viele Grüße,

Burkhard

Keinen von beiden meiner ist der Unifi AP-HD . Ist noch mehr als Pro.

Okay, was haben denn die Anderen für Unifi’s? Evtl. liegt es daran, dass kein nat möglich ist, weil der Kernel beschnitten wurde.

Viele Grüße,

Burkhard

Das funktioniert bei mir leider nicht, da IP-Symcon auf dem gleichen Server läuft wie der Windows Server mit IIS. Daher hört der IIS auf Port 80 und wenn man denn Webseiten in IP-Symcon aufrufen will, geht das über Port 3777.

Ich werde jetzt mal einen Raspberry als Accesspoint aufsetzten und dort mit IP Tables arbeiten. Dann kann ich mir das auch mal anschauen mit dem Serversocket. Mir ist nicht ganz schlüssig warum da dann ständig Meldungen kommen, denn eigentlich sollte der Serversocket ja offen bleiben.

Ich werde das jetzt mal mit einem Raspberry probieren, da habe ich noch einen rumliegen. In der Anleitung verweist Du auf
Raspberry Pi als WLAN-Router einrichten (WLAN-Access-Point), da ich ja aber schon einen DHCP und DNS habe, wäre wahrscheinlich ein Raspberry Pi als WLAN-Bridge einrichten (WLAN-Access-Point) passender, oder? Ich kann dann doch auch dennoch in der Konfiguration als Netzwerkbrücke IP Tables im Raspberry nutzten und die Daten der Wetterstation umleiten oder?

Hallo Unifier :slight_smile:
auch bei mir werden keine Werte in IP-Symcon angezeigt. In der Sainlogic sind die Wunderground-Daten eingetragen.

Ich habe:
1 x Unifi Security Gateway 3P (USG) IP: 192.168.1.1
1 x Unifi AP-AC-Pro - IP: 192.168.1.5
1 x Unifi AP-AC-Mesh und
4 x UniFi Switch 8 POE-60W.
Verwaltet wird dies mit UniFi-CloudKey IP: 192.168.1.6

Die Wetterstation ist mit IP: 192.168.120.114 im WLAN-Hausnetz.
IP-Symcon ist unter 192.168.120.181 zu erreichen.
Hier (im Netz 192.168.120.xxx) sind diverse RasPi (Miflora, Gartenbewässerung usw.) eingebunden.

Auf dem USG habe ich den Eintrag vorgenommen:


 
xxxxxxxx@UniFiSecurityGateway:~$ sudo iptables -t nat -A PREROUTING -s 192.168.120.114 -p tcp --dport 80 -j DNAT --to-destination 192.168.120.181:45000

Auf dem USG wird dann mit sudo angezeigt:


 
xxxxxxxxx@UniFiSecurityGateway:~$ sudo modinfo iptable_nat
filename:       /lib/modules/3.10.20-UBNT/kernel/net/ipv4/netfilter/iptable_nat.ko
license:        GPL
depends:        nf_nat,nf_nat_ipv4,nf_conntrack,ip_tables
intree:         Y
vermagic:       3.10.20-UBNT SMP mod_unload OCTEON 64BIT 

Bei DNAT wird aber in Zeile 6 „dtp:http“ und nicht „dtp:www“ angezeigt:


 
xxxxxxxx@UniFiSecurityGateway:~$ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
MINIUPNPD  all  --  anywhere             anywhere            
UBNT_PFOR_DNAT_HOOK  all  --  anywhere             anywhere            
VYATTA_PRE_DNAT_HOOK  all  --  anywhere             anywhere            
DNAT       tcp  --  ESP_0A79AF.xxxxxx    anywhere             tcp dpt:http to:192.168.120.181:45000

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
UBNT_VPN_IPSEC_SNAT_HOOK  all  --  anywhere             anywhere            
MINIUPNPD-POSTROUTING  all  --  anywhere             anywhere            
UBNT_PFOR_SNAT_HOOK  all  --  anywhere             anywhere            
MASQUERADE  all  --  anywhere             anywhere             match-set corporate_network src /* NAT-6001 */
MASQUERADE  all  --  anywhere             anywhere             match-set remote_user_vpn_network src /* NAT-6002 */
MASQUERADE  all  --  anywhere             anywhere             match-set guest_network src /* NAT-6003 */
VYATTA_PRE_SNAT_HOOK  all  --  anywhere             anywhere            

Chain MINIUPNPD (1 references)
target     prot opt source               destination         

Chain MINIUPNPD-POSTROUTING (1 references)
target     prot opt source               destination         

Chain UBNT_PFOR_DNAT_HOOK (1 references)
target     prot opt source               destination         
UBNT_PFOR_DNAT_RULES  all  --  anywhere             anywhere             match-set ADDRv4_pppoe2 dst
UBNT_PFOR_DNAT_RULES  all  --  anywhere             anywhere             match-set ADDRv4_pppoe2 dst
UBNT_PFOR_DNAT_RULES  all  --  anywhere             anywhere             match-set ADDRv4_pppoe2 dst
UBNT_PFOR_DNAT_RULES  all  --  anywhere             anywhere             match-set ADDRv4_pppoe2 dst
UBNT_PFOR_DNAT_RULES  all  --  anywhere             anywhere             match-set ADDRv4_pppoe2 dst

Chain UBNT_PFOR_DNAT_RULES (5 references)
target     prot opt source               destination         

Chain UBNT_PFOR_SNAT_HOOK (1 references)
target     prot opt source               destination         
UBNT_PFOR_SNAT_RULES  all  --  anywhere             anywhere            
UBNT_PFOR_SNAT_RULES  all  --  anywhere             anywhere            
UBNT_PFOR_SNAT_RULES  all  --  anywhere             anywhere            
UBNT_PFOR_SNAT_RULES  all  --  anywhere             anywhere            

Chain UBNT_PFOR_SNAT_RULES (4 references)
target     prot opt source               destination         

Chain UBNT_VPN_IPSEC_SNAT_HOOK (1 references)
target     prot opt source               destination         

Chain VYATTA_PRE_DNAT_HOOK (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            

Chain VYATTA_PRE_SNAT_HOOK (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere

Auf dem AP-AC-Pro werden mit/ohne sudo bei modinfo und modprobe folgende Meldungen angezeigt:


 
UniFiAPACPro-BZ.v3.9.27# sudo iptables -t nat -L
iptables v1.4.10: can't initialize iptables table `nat': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
UniFiAPACPro-BZ.v3.9.27# sudo modprobe ip_tables
-sh: modprobe: not found
UniFiAPACPro-BZ.v3.9.27# sudo modinfo iptable_nat
-sh: modinfo: not found
UniFiAPACPro-BZ.v3.9.27# modinfo iptable_nat
-sh: modinfo: not found
UniFiAPACPro-BZ.v3.9.27# modinfo
-sh: modinfo: not found
UniFiAPACPro-BZ.v3.9.27# sudo modinfo
-sh: modinfo: not found
UniFiAPACPro-BZ.v3.9.27# 

Ab dem Eintrag


 
sudo iptables -t nat -A PREROUTING -s 192.168.120.114 -p tcp --dport 80 -j DNAT --to-destination 192.168.120.181:45000

werden keine Werte mehr an Wunderground übermittelt. Wenn der Eintrag


 
sudo iptables -t nat -D PREROUTING -s 192.168.120.114 -p tcp --dport 80 -j DNAT --to-destination 192.168.120.181:45000

gelöscht wird, kommen wieder Werte auf Wunderground an.
Also scheint zumindest der erste Teil des Eintrages korrekt zu sein, vielleicht ist im 2. Teil was fehlerhaft?
Den Port 45000 habe ich in Symcon in der IO-Instanz server socket eingetragen.

wer weiß weiter? Was ist zu tun?
Viele Grüße
Matthias

@Fonzo

Daher hört der IIS auf Port 80

… dann mach einen URL rewrite im IIS auf irgendeinen freien Port, auf den Du eine Webserver Instanz setzt

wenn man denn Webseiten in IP-Symcon aufrufen will, geht das über Port 3777.

?? Geht auf jedem Port, wenn man den in einer Webserver Instanz einstellt, auch auf 80 etc.

denn eigentlich sollte der Serversocket ja offen bleiben.

Bleibt er aber (bei mir) nicht. Jeder connect verursacht eine Meldung im Log, und das alle paar Sekunden -> Müll

@Fonzo
Also das Problem ist, dass Du am Display nichts einstellen kannst.
Also das Display bekommt per WLAN Verbindung über DHCP seine IP Adresse + Gateway + DNS
und hier musst in irgendeiner Form dafür sorgen, dass der Datenstrom über das Device (Raspi) geht,
in dem du mit den iptables den Traffic umbiegen möchtest.
Deshalb mein Vorschlag den Raspi als WLAN Accesspoint zu verwenden.
Das Display der Wetterstation per WLAN mit dem Raspi verbinden und dort kannst dann den Traffic umleiten.
Ich habe für mich entschieden meinen separaten Gäste WLAN Router mit DD-WRT zu ersetzen bzw. mit der ASUS Merlin Firmware.

Hallo Matthias,

das bestätigt meine Befürchtung. Der Kernel ist beschnitten. Heißt, die Befehle modinfo und modprobe gibt es nicht und iptable_nat ist nicht installiert. Sprich, man müsste den Source des Kernels kriegen und die fehlenden Module und Befehle mit reinkompilieren. :frowning:

Das wird so einfach nicht funktionieren.

Viele Grüße,

Burkhard

Der Access Point mit dem Raspberry steht erst mal. Kann mir eventuell noch jemand sagen wie der Eintrag genau lauten muss wenn die Wetterstation die IP 192.168.55.112 hat? Dazu muss die Datei /etc/network/interfaces editiert werden, richtig?

Die sieht zur Zeit so aus:


 # interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

# Localhost
auto lo
iface lo inet loopback

# Ethernet
auto eth0
allow-hotplug eth0
iface eth0 inet manual

# WLAN
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wireless-power off

# Netzwerkbrücke
auto br0
iface br0 inet dhcp
bridge_ports eth0 wlan0 # build bridge
bridge_fd 0             # no forwarding delay
bridge_stp off          # disable Spanning Tree Protocol

Was muss ich da jetzt noch wo ergänzen?

Hallo Fonzo,

probiere mal bitte

sudo iptables -t nat -D PREROUTING -s 192.168.Wetter.Station -p tcp --dport 80 -j DNAT --to-destination 192.168.IPS.Server:45000

IPTables sollte eigentlich installiert sein. Evtl. muß es noch gestartet werden mit

service iptables start

.

Du kannst vorher mit

sudo iptables -L

prüfen, ob es installiert ist.

P.S.: die Wetterstation vorher mit dem Raspi-AP verbinden und die IP herausfinden. Dazu am besten mit Tablet oder Handy in das WLan des Raspi-AP einklinken, die App WS View starten und dann unter Einstellungen (oben links als Zahnrad) auf „your Devices“ klicken.

Viele Grüße,

Burkhard

Da kommt als Antwort


iptables: unrecognized service

In der Anleitung Raspberry Pi als WLAN-Router einrichten (WLAN-Access-Point)
steht z.B.


up /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Für steht denn da das up?
Muss denn so ein Befehl dann einmal mit sudo ausgeführt werden oder muss ich den in die Datei Interfaces hinterlegen?
Was muss ich denn machen damit der Service verfügbar ist wie schalte ich den frei bzw. installiere den nach? Zumindest unter /sbin/iptables ist eine Datei iptables zu finden.

Edit:
ich habs mal mit


sudo apt-get install iptables-persistent

probiert und schaue dann mal weiter.