Zdravím
V síťařině se vyznám tak na 15%, angličtina je mi dost vzdálená a protože 99% návodů je anglicky, tápu.
Řeším problém:
Mám meteostanici, která funguje jen přes WiFi; posílá data na externí servery WeatherUndergroun, WeatherCloud a na další libovolnou IP. Problém je, že všude využívá port 80 a nelze to změnit. Vytvořil jsem z RaspberriPI WiFi AP, routované přes lokální LAN do internetu. Nastavil jsem stanici pro posílání dat na WU, WCl a na lokální server. A zde je ten problém: lokální Apache je přístupný přes HTTPS (port 443) a aby ev. klienti nemuseli zadávat "https://..." je původní port 80 trvale přesměrován přímo na virtuálním serveru Apache - toto chci zachovat. Problém vyvstává právě s meteostanicí, která taky komunikuje se SW WeeWX na portu 80 a tím pádem se hádá se serverem. Zatím jsem to vyřešil změnou portu Apache a přesměrováním portu 80 na routeru na nový port Apache. Toto funguje dobře, až na:
- Automatický update certifikátu pro SSL vyžaduje port 80 a tudíž nefunguje
- další SW na serveru, který také využívá ke komunikaci port 80 taky nefunguje, ale to by mi až tak nevadilo.
Můj dotaz: jak přesměrovat provoz z Raspi AP, určený pro IP serveru:80, ale zachovat provoz ze stejného zdroje na portu 80 pro jiné IP? Veškerý provoz na portu 80 přesměrovat nemůžu, protože bych tím zablokoval data na WU a WCl.
Zkráceně: potřebuji přesměrovat pakety z jedné IP na portu 80, určené pro jednu konkrétní IP na jiný port (třeba 1884 - tj. MQTT broker) a současně ostatní pakety ze stejné IP a stejného portu 80 na jiné IP zachovat.
Pro upřesnění:
Na WiFi AP RaspberryPI dostávám toto:
Zkrácený výpis tcpdump z Raspi
11:03:40.921454 IP 192.168.1.3.62857 > 52.116.188.162.80: Flags [P.], seq 1:380, ack 1, win 5840, length 379: HTTP: GET /weatherstation/updateweatherstation.php?ID=....HTTP/1.1
11:03:41.824663 IP 192.168.1.3.62858 > 192.168.1.2.80: Flags [P.], seq 1:365, ack 1, win 5840, length 364: HTTP: GET /weatherstation/updateweatherstation.php?ID=... HTTP/1.1
a potřebuji dostat (příklad pro MQTT broker):
11:03:40.921454 IP 192.168.1.3.62857 > 52.116.188.162.80: Flags [P.], seq 1:380, ack 1, win 5840, length 379: HTTP: GET /weatherstation/updateweatherstation.php?ID=....HTTP/1.1
11:03:41.824663 IP 192.168.1.3.62858 > 192.168.1.2.1884: Flags [P.], seq 1:365, ack 1, win 5840, length 364: HTTP: GET /weatherstation/updateweatherstation.php?ID=... HTTP/1.1
tedy pro WeatherUnderground první řádek a pro local server druhý řádek. Jde to?