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.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
ip route add 194.x.x.224 dev eth1 ip route add 194.x.x.225 dev eth2 ip route add 194.x.x.226/31 via 10.158.0.66apod.
Obávám se, že todle bude fungovat jen pokud stanice, které mají používat ony veřejné adresy, mají nainstalován nějaký operační systém. Pokud je na nich nějaký microsoftí produkt, nebude možno (alespoň pokud vím) těmto vysvětlit, kde mají hledat def-gw. Windows tuším routing via zařízení neumějí a neumějí si nechat nastavit IP s maskou /32, takže by to na nich byl docela problém.
(Ale možná kecám, možná to nějak jde, akorát já jsem nikdy nevyvinul dostatečné úsilí.)
Záleží, kterým počítačům budete chtít ty veřejné adresy přidělit. Nejjednodušší případ bude, pokud to budou počítače na stejném segmentu, jako je LAN routeru (tedy segment 10.157.0.0/25). V takovém případě na LAN rozhraní routeru přidejte adresu 194.x.x.x+1/29 a příslušným stanicím nastavte 194.x.x.x+2 až 194.x.x.x+6, maska 255.255.255.248, brána 194.x.x.x+1. Na routeru musíte samozřejmě ošetřit, aby se tento rozsah nemaškarádoval.
Pokud byste chtěl celý ten blok adres dostat do jiného segmentu (třeba 10.158.0.0/25), pak musíte na tom svém WAN/LAN routeru naroutit 194.x.x.x/29 via 10.157.0.x (gateway do segmentu 10.158.0.0) a na této gatewai pak analogicky s předchozím odstavcem nastavit 194.x.x.x+1, atd...
Úplně nejsložitější případ by nastal, pokud byste chtěl některé z těch veřejných adres přidělovat počítačům v různých segmentech. To už by pak nešlo čistě proroutovat a muselo by se to nějak obejít (ať už SNAT/DNATem nebo přes ARPproxy).
Každopádně, to co jsem popsal je čistý routing, nic se neNATuje, prostě se to routuje, tam kam má.
Pokud přesně uvedete, co, jak, kde a komu chcete nastavit (a odkupasebelou ty vaše další subnety, rád svůj popis příslušně zpřesním.
route add -net 10.158.0.0 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.0.128 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.1.0 netmask 255.255.255.128 gw 10.157.0.3 route add -net 10.158.1.128 netmask 255.255.255.128 gw 10.157.0.3 route add -net 10.158.2.0 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.3.0 netmask 255.255.255.128 gw 10.157.0.4 route add -net 10.158.4.0 netmask 255.255.255.128 gw 10.157.0.20 route add -net 10.158.5.0 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.5.128 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.6.0 netmask 255.255.255.128 gw 10.157.0.10 iptables -t nat -A POSTROUTING -o eth1 -s 10.158.0.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.0.128/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.1.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.1.128/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.2.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.3.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.4.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.5.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.5.128/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.6.0/25 -j SNAT --to 172.x.x.aV té to chvíli bych rád nastavil veřejné IP 194.x.x.x+1 stanici 10.157.0.49, IP 194.x.x.x+2 stanici 10.158.1.33 a IP 194.x.x.x+3 stanici 10.158.0.50. Ještě pokud by to bylo možné, nejlepší by bylo, kdyby všem stanicím uvnitř zůstala zachována jejich vnitřní IP, ale není to úplně nutné, kdyby nebylo jednoduché cesty jak to vyřešit. Děkuji za dosavadní rady, rád ještě cokoliv upřesním.
Hm, tak to je malé neštěstí. Asi by to šlo nějak vyřešit pomocí ARP proxy, ale obávám se, že to ztroskotá na nastavení Windows a určitě by to bylo moc práce.
V takovém případě bych doporučil nastavit na tom routeru SNAT/DNAT a prostě příchozí provoz pro IP 194.x.x.x+1 DNATnout na 10.157.0.49, odchozí provoz z 10.157.0.49 SNATnout na 194.x.x.x+1 a tak dál. Bude to nejméně práce a na stanicích nebudete muset nic měnit.
Má to dokonce jednu výhodu, že totiž budete schopen využít všech 8 IP z té /29, při klasickém routování byste jich použil tak maximálně pět. Má to na druhé straně i nevýhodu, protože některé obskurní protokoly (FTP, kupříkladu, to je první obludnost na ráně) nemusí pracovat správně, ale to je vesměs řešitelné stavovým firewallem s vhodným modulem. Želbohu, jiná cesta asi není.
echo "NAT 1:1"
COMMENT="#"
DEV=eth0
while read PublicIP PrivateIP UserName
do
FIRST_CHAR=`echo $PublicIP|cut -c1`
if [ "$FIRST_CHAR" = "$COMMENT" ]
then
echo "$UserName commented"
else
echo "$UserName ($PrivateIP -> $PublicIP)"
iptables -t nat -A PREROUTING -d $PublicIP -j DNAT --to $PrivateIP
iptables -t nat -A POSTROUTING -o $DEV -s $PrivateIP -j SNAT --to $PublicIP
iptables -A FORWARD -i $DEV -d $PrivateIP -j ACCEPT
fi
done < /1-1-nat.conf
# verejna privatni name
212.240.181.2 10.93.0.1 ns
212.240.181.3 10.93.0.3 jiri
212.240.181.4 10.93.0.18 mikael
...
ifconfig eth1:0 194.x.x.x+1 up iptables -t nat -A PREROUTING -d 194.x.x.x+1 -j DNAT --to 10.158.1.33 iptables -t nat -A POSTROUTING -o eth1 -s 10.158.1.33 -j SNAT --to 194.x.x.x+1 iptables -A FORWARD -i eth1 -d 10.158.1.33 -j ACCEPT route add -net 10.158.0.0 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.0.128 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.1.0 netmask 255.255.255.128 gw 10.157.0.3 route add -net 10.158.1.128 netmask 255.255.255.128 gw 10.157.0.3 route add -net 10.158.2.0 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.3.0 netmask 255.255.255.128 gw 10.157.0.4 route add -net 10.158.4.0 netmask 255.255.255.128 gw 10.157.0.20 route add -net 10.158.5.0 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.5.128 netmask 255.255.255.128 gw 10.157.0.10 route add -net 10.158.6.0 netmask 255.255.255.128 gw 10.157.0.10 iptables -t nat -A POSTROUTING -o eth1 -s 10.158.0.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.0.128/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.1.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.1.128/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.2.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.3.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.4.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.5.0/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.5.128/25 -j SNAT --to 172.x.x.a iptables -t nat -A POSTROUTING -o eth1 -s 10.158.6.0/25 -j SNAT --to 172.x.x.aNa internetu už vystupuji pod veřejnou IP adresou, ale nemůžu se na ni zvenku dostat. Zkoušel jsem vypnout firewall u sebe na počítači a nevím o tom že bych něco blokoval na routeru. Takže jediné co vím, je, že SNAT funguje. Jak se dá co nejjednodušeji zjistit zda funguje DNAT pro moji IP?
Spusťte si na firewallu tcpdump na LANovém i WANovém rozhraní a zkuste ze své stanice obyčejný ping na cojávím www.seznam.cz. No a uvidíte, co jak kterým rozhraním přijde, přeloží se a odejde.
tcpdump
na routeru neni, ale snad bude stacit iptraf
ping na www.seznam.cz (212.80.76.18)
ICMP echo req (60 bytes) from 10.158.1.33 to 212.80.76.18 (src HWaddr 0011d8 ICMP echo req (60 bytes) from 194.x.x.x+1 to 212.80.76.18 (src HWaddr 001 ICMP echo rply (60 bytes) from 212.80.76.18 to 194.x.x.x+1 (src HWaddr 00 ICMP echo rply (60 bytes) from 212.80.76.18 to 10.158.1.33 (src HWaddr 00119
Pokud je to tak, že LANovým rozhraním přišel request, SNATnul se, odešel WANovým, následně se WANovým vrátil reply, DNATnul se a odešel LANovým (což vypadá, že to tak je), pak je ale všechno v pořádku.
A ta stanice, z níž jste zkoušel pingat, se tváří, že to pingá? Protože jinak teda nevím, co vám vlastně nefunguje. Eventuálně mi mailněte, zkusíme se domluvit přes ICQ.
iptables -t nat -A PREROUTING -d 194.x.x.x1 -j DNAT --to 10.158.1.33 iptables -t nat -A POSTROUTING -o eth1 -s 10.158.1.33 -j SNAT --to 194.x.x.x+1 iptables -I FORWARD -d 10.158.1.33 -j ACCEPTlze bez problému použít. Děkuji rovněž všem, kteří přispěli.
Chain PREROUTING (policy ACCEPT) target prot opt source destination nat-acl all -- 0.0.0.0/0 0.0.0.0/0 dns-preroute all -- 0.0.0.0/0 0.0.0.0/0 auto-forward all -- 0.0.0.0/0 0.0.0.0/0 port-forward all -- 0.0.0.0/0 0.0.0.0/0 DNAT all -- 0.0.0.0/0 194.x.x.x+1 to:10.158.1.33 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 10.157.0.0/25 0.0.0.0/0 dns-postroute all -- 0.0.0.0/0 0.0.0.0/0 SNAT all -- 10.158.1.33 0.0.0.0/0 to:194.x.x.x+1 SNAT all -- 10.158.0.0/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.0.128/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.1.0/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.1.128/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.2.0/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.3.0/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.4.0/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.5.0/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.5.128/25 0.0.0.0/0 to:172.20.71.21 SNAT all -- 10.158.6.0/25 0.0.0.0/0 to:172.20.71.21 Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain auto-forward (1 references) target prot opt source destination Chain dns-postroute (1 references) target prot opt source destination Chain dns-preroute (1 references) target prot opt source destination Chain nat-acl (1 references) target prot opt source destination Chain port-forward (1 references) target prot opt source destination
Tiskni
Sdílej: