Debian fórum

Dotazy => Internet a sítě => Téma založeno: radek_dr kdy 02. 12. 2020, 13:58:22

Název: Přesměrování portu
Přispěvatel: radek_dr kdy 02. 12. 2020, 13:58:22
Ř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 (PiHole) 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.
Název: Re:Přesměrování portu
Přispěvatel: radek_dr kdy 03. 12. 2020, 11:34:54
Zatím nikdo nereagoval, zkusím to upřesnit:
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?
Název: Re:Přesměrování portu
Přispěvatel: radek_dr kdy 07. 12. 2020, 14:08:53
Takže vyřešeno s pomocí kolegy na UbuForu: na Raspberry AP zadat
iptables -t nat -I PREROUTING -i wlan0 -p tcp -d 192.168.1.2 --dport 80 -s 192.168.2.2 -j DNAT --to 192.168.1.2:1883