Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
iptables -t nat -A PREROUTING -p tcp -i eth0 -d s1 --dport 80 --sport 80 -j DNAT --to m1:80
iptables -t nat -A PREROUTING -d s1 -p tcp --dport 80 -j DNAT --to m1:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to m1:80
Na cílovém stroji je port 80 povolen, takže chyba je někde v pravidlech.
Jen ještě dodám, že s1 i m1 jsou externí ip adresy.
Napadá Vás prosím něco?
Předem dík.
Řešení dotazu:
s1
není router pro m1
, nebo pokud chcete, aby přesměrování fungovalo i v rámci případné společné sítě s1
a m1
, je potřeba přidat na s1
do POSTROUTING
ještě pravidlo pro SNAT
, které zdrojovou adresu nastaví na adresu stroje s1
. m1
se tak nebude pokoušet odpovědět přímo klientovi, ale pošle paket zpět na s1
, který paket s odpovědí „odNATuje“ a pošle klientovi.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to m1:80
iptables -t nat -A POSTROUTING -s m1 -p tcp --dport 80 -j SNAT --to s1:80
ale stejně stálý výsledek..
-s m1
– ten SNAT se má aplikovat na všechny pakety, které přišly „zvenku“ a jsou přesměrovány na m1
. Takže spíš
iptables -t nat -A POSTROUTING -d m1 -p tcp --dport 80 -j SNAT --to s1:80Pravidla NATu se píšou pro pakety, které spojení navazují – ostatní pakety ve spojení už pak jádro upraví automaticky po vzoru toho prvního podle toho, kterým směrem paket prochází.
"-j SNAT --to s1:80" je blbost. Urcite nechcete nahrazovat port. Spravne je "-j SNAT --to-source s1"Zřejmě je
--to
nedokumentovaná alternativa k --to-source
– jinak by iptables
při volání s neznámým parametrem ohlásily chybu, což by nám snad tazatel prozradil.
Uvést vedle IP adresy i port není na škodu, i když se port nemění – webový provoz se často přesměrovává na neprivilegovaný port 8080, s explicitním uvedením portu je to pak konzistentní v různých konfiguracích.
2) Zkontrolujte si, jestli mate na serveru zapnuty ip_forward. Prikaz "cat /proc/sys/net/ipv4/ip_forward" musi vratit "1"Tohle nastavení má vliv i na NAT? Vždycky jsem měl za to, že se to týká jen routování a NAT tohle nastavení obchází.
Bacha, tady jsme v postroutingu a nahrazujeme zdroj.No jo, jasně, nějak jsem to přehlédl.
tcpdump
u nastaven tak, aby zachytil pakety v obou směrech? Např. u HTTP spojení mají pakety s odpovědí (ze serevru ke klientovi) zdrojový port 80 (ne cílový).
tcpdump port 80 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 21:50:25.279631 IP mujPC.23450 > s1.http: Flags [S], seq 2794593060, win 8192, options [mss 1452,nop,nop,sackOK], length 0 21:50:25.279643 IP s1.23450 > m1.http: Flags [S], seq 2794593060, win 8192, options [mss 1452,nop,nop,sackOK], length 0 21:50:25.280381 IP m1.http > s1.23450: Flags [S.], seq 1803668736, ack 2794593061, win 4380, options [mss 1460,nop,nop,sackOK], length 0 21:50:25.280395 IP s1.http > mujPC.23450: Flags [S.], seq 1803668736, ack 2794593061, win 4380, options [mss 1460,nop,nop,sackOK], length 0 21:50:25.296125 IP mujPC.23450 > s1.http: Flags [.], ack 1, win 64665, length 0 21:50:25.296131 IP s1.23450 > m1.http: Flags [.], ack 1, win 64665, length 0 21:50:25.306620 IP mujPC.23450 > s1.http: Flags [P.], seq 1:370, ack 1, win 64665, length 369 21:50:25.306624 IP s1.23450 > m1.http: Flags [P.], seq 1:370, ack 1, win 64665, length 369 21:50:25.306870 IP m1.http > s1.23450: Flags [.], ack 370, win 5360, length 0 21:50:25.306875 IP s1.http > mujPC.23450: Flags [.], ack 370, win 5360, length 0 21:50:25.308119 IP m1.http > s1.23450: Flags [P.], seq 1:279, ack 370, win 5360, length 278 21:50:25.308123 IP s1.http > mujPC.23450: Flags [P.], seq 1:279, ack 370, win 5360, length 278 21:50:25.522509 IP mujPC.23450 > s1.http: Flags [.], ack 279, win 64387, length 0 21:50:25.522514 IP s1.23450 > m1.http: Flags [.], ack 279, win 64387, length 0 21:50:40.324203 IP m1.http > s1.23450: Flags [F.], seq 279, ack 370, win 5360, length 0 21:50:40.324214 IP s1.http > mujPC.23450: Flags [F.], seq 279, ack 370, win 5360, length 0 21:50:40.337945 IP mujPC.23450 > s1.http: Flags [.], ack 280, win 64387, length 0 21:50:40.337950 IP s1.23450 > m1.http: Flags [.], ack 280, win 64387, length 0 21:50:47.867839 IP mujPC.23450 > s1.http: Flags [F.], seq 370, ack 280, win 64387, length 0 21:50:47.867845 IP s1.23450 > m1.http: Flags [F.], seq 370, ack 280, win 64387, length 0 21:50:47.868090 IP m1.http > s1.23450: Flags [.], ack 371, win 5360, length 0 21:50:47.868101 IP s1.http > mujPC.23450: Flags [.], ack 371, win 5360, length 0 21:51:55.128450 IP whl0051.whservidor.com.http > s1.43677: Flags [S.], seq 1100246647, ack 674711610, win 16384, options [mss 1460], length 0 21:51:55.128464 IP s1.43677 > whl0051.whservidor.com.http: Flags [R], seq 674711610, win 0, length 0 21:55:57.216162 IP whl0051.whservidor.com.http > s1.53157: Flags [S.], seq 1661978047, ack 674711610, win 16384, options [mss 1460], length 0 21:55:57.216191 IP s1.53157 > whl0051.whservidor.com.http: Flags [R], seq 674711610, win 0, length 0Jinak mockrát děkuji za ochotu, asi to vypadá zvláštně... Rozhodně to není tak, že bych o to neměl zájem, jak tu psal kolega - spíše mě tlačí čas a s mými zkušenostmi mi to nešlo...
tcpdump
sledovat, kam až pakety dorazí a kde se ztratí.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to m1:80 iptables -t nat -A POSTROUTING -d m1 -p tcp --dport 80 -j SNAT --to-source s1A ano s1 má skutečně jen rozhraní eth0.
s1:eth0
, udělá se DNAT a SNAT, paket přes s1:eth0
odejde, a na m1
už nepřijde? To by vypadalo spíš na problém s routováním nebo mezilehlým firewallem.
Jestli to pomůže, tak iptables-save
# Generated by iptables-save v1.4.12 on Wed Nov 30 17:42:20 2011 *filter :INPUT ACCEPT [367:29521] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [316:48602] COMMIT # Completed on Wed Nov 30 17:42:20 2011 # Generated by iptables-save v1.4.12 on Wed Nov 30 17:42:20 2011 *mangle :PREROUTING ACCEPT [385:30385] :INPUT ACCEPT [367:29521] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [320:49114] :POSTROUTING ACCEPT [320:49114] COMMIT # Completed on Wed Nov 30 17:42:20 2011 # Generated by iptables-save v1.4.12 on Wed Nov 30 17:42:20 2011 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination m1:80 -A OUTPUT -p tcp -m tcp --dport 80 -j DNAT --to-destination m1:80 -A POSTROUTING -o eth0 -j MASQUERADE COMMIT # Completed on Wed Nov 30 17:42:20 2011
iptables -t nat -A POSTROUTING -d m1 -p tcp --dport 80 -j SNAT --to-source s1(vsimnete si, ze na konci radky za s1 neni port) Opravdu provoz prichazi i odchazi stejnym rozhranim? Jinak vzhledem k faktu, ze nemate problem sem dat neco, co evidentne prozrazuje vas nezajem se tomu aspon trochu venovat, bude lepsi si najit nekoho znaleho.
echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -t nat -A POSTROUTING -o <externi rozhrani> -j MASQUERADE /sbin/iptables -A FORWARD -i <interni rozhrani> -o <externi rozhrani> -j ACCEPT /sbin/iptables -A FORWARD -i <externi rozhrani> -o <interni rozhrani> -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -t nat -A PREROUTING -p tcp -i <externi rozhrani> -d <externi IP> --dport 80 -j DNAT --to <interni ip>:80 /sbin/iptables -A FORWARD -p tcp -i <externi rozhrani> -d <interni IP> --dport 80 -j ACCEPT
ip route
.
Pro ten váš dotaz by bylo potřeba vidět výpis aktuálních pravidel firrewallu a NATu, bez toho se těžko odhaduje, která pravidla dostanou přednost. Taky je lepší na to založit nový dotaz, s tímto to moc nesouvisí – a stejně tam výpis současných pravidel uvedete, to je dostatečný kontext.
eth0
je vnější rozhraní routeru) a problém bude v něčem jiném. Zjistěte, co přesně vám nefunguje – překlad DNS, pakety přes router neprojdou ven, nevrátí se odpověď? Spusťte si tcpdump
na vnitřním i vnějším rozhraní a sledujte, jaké pakety procházejí a které se kde ztratí.
Tiskni
Sdílej: