K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.
Všem vše nejlepší do nového roku 2026.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.
Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().
Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
-P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -d fe80::/64 -p udp -m udp --dport 546 -m state --state NEW -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -s 2a02:.../64 -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p icmpv6 -j ACCEPT -A INPUT -i br0 -j ACCEPT -A INPUT -i eth0 -j ACCEPT -A INPUT -i lo -j ACCEPT -A FORWARD -m state --state INVALID -j DROP -A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Řešení dotazu:
Firewall na Linuxu se jmenuje nftables a ovládá se příkazem nft. Konfigurace je v /etc/nftables.conf.
Pokud nějaký návod používá jakési příkazy a technologie z 0. let 21. století, ve 20. letech 21. století je vhodné takový návod ignorovat a najít místo něj nějaký aktuální.
Logická chyba je (tipuju) v tom, že spojení se do stavů related ani established nemá jak dostat. Alespoň z jednoho směru je potřeba bezpodmínečně přijmout alespoň první paket.
Někdo si s tím pečlivě hraje a určuje přesně, kudy a kam smí projít prví TCP SYN a první TCP DCERA, zatímco já na to většinou seru a nastavím to „tak nějak, aby to fungovalo“. Konfigurace pro forward vypadá u mě asi takto (po vynechání pár extra kdesicosů):
chain forward {
type filter hook forward priority filter; policy accept;
ip6 nexthdr esp meta mark set meta mark | 0x00000101 # IPSec
ip protocol esp meta mark set meta mark | 0x00000101 # IPSec
meta mark & 0x00000101 == 0x00000101 accept # IPSec
ct state { established, related } accept
ct state invalid drop
iifgroup 99 accept # důvěryhodná rozhraní (802.1x + WPA3/MACsec)
iifgroup 72 jump outer_spoof # vnější (v nějakém smyslu) rozhraní
oifgroup 72 jump outer_reject
oifgroup 72 tcp flags syn tcp option maxseg size set rt mtu
tcp dport 22 accept
ip6 nexthdr ipv6-icmp accept
ip protocol icmp accept
reject
}
chain outer_spoof {
ip6 saddr xxxx:yyyy:zzzz::/48 drop
ip saddr 10.x.y.z/16 drop # nesmysl z roku 1975
return
}
chain outer_reject {
ip6 daddr xxxx:yyyy:zzzz::/48 reject with icmpv6 port-unreachable
ip daddr 10.x.y.z/16 drop # nesmysl z roku 1975
return
}
Samozřejmě to není v žádném smyslu ideální nastavení; podstatná část je jakýsi kompromis, který se vzdává paranoidního schovávání klientů ve vnitřní síti ve prospěch rozumně rychlého odmítnutí spojení na neplatné adresy (což potřebuju mít funkční) atd.
-P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -d fe80::/64 -p udp -m udp --dport 546 -m state --state NEW -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -s 2a02:.../64 -i eth1 -p tcp -m tcp --dport 22009 -j ACCEPT -A INPUT -p icmpv6 -j ACCEPT -A INPUT -i br0 -j ACCEPT -A INPUT -i eth0 -j ACCEPT -A INPUT -i lo -j ACCEPT -A FORWARD -m state --state INVALID -j DROP -A FORWARD -i br0 -j ACCEPT -A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPTJen pro srovnání konfigurace IPv4 firewallu vedle vypadá takto:
-P PREROUTING ACCEPT
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A PREROUTING -d {WanIP} -i eth1 -p tcp -m tcp --dport 80 -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 172.18.0.0/24 -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -d {WanIP} -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -d {WanIP} -i eth1 -p udp -m udp --dport 1900 -j DROP
-A INPUT -i eth1 -p udp -m udp --dport 68 -j ACCEPT
-A INPUT -d {WanIP} -i eth1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i eth1 -p 2 -j ACCEPT
-A INPUT -i br0 -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -p udp -m udp --sport 1701 -j ACCEPT
-A FORWARD -p udp -m udp --dport 1701 -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -p tcp -m tcp --sport 1723 -j ACCEPT
-A FORWARD -p 47 -j ACCEPT
-A FORWARD -d 224.0.0.0/4 -i eth1 -p udp -m udp -j ACCEPT
-A FORWARD -d 224.0.0.0/4 -i eth1 -p 114 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i br0 -j ACCEPT
-A FORWARD -i eth1 -o br0 -p udp -m udp --dport 500 -j ACCEPT
-A FORWARD -d 224.0.0.0/4 -i eth1 -p udp -m udp -j ACCEPT
-A FORWARD -i eth1 -o br0 -p esp -j ACCEPT
-A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -m state --state INVALID -j DROPTedy na forwardu zůstanou jen pravidla:
ip6tables -A FORWARD -i br0 -j ACCEPT ip6tables -A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPTZvláštní.
cat ./.config | grep IPV6 CONFIG_IPV6=y CONFIG_RTL_IPV6READYLOGO=y # CONFIG_RTL_IPV6READYLOGO_HOST is not set # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set # CONFIG_IPV6_REDIRECT_NO_HEADER is not set CONFIG_IPV6_OPTIMISTIC_DAD=y # CONFIG_IPV6_MIP6 is not set CONFIG_IPV6_SIT=y CONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_GRE=y CONFIG_IPV6_MULTIPLE_TABLES=y # CONFIG_IPV6_SUBTREES is not set CONFIG_IPV6_MROUTE=y # CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set # CONFIG_IPV6_PIMSM_V2 is not set CONFIG_IPV6_DNSV6_MODE_SUPPORT=y CONFIG_IPV6_FORD_RA_PREFIX_SUPPORT=y CONFIG_IPV6_RA_RDNSS_SUPPORT=y CONFIG_IPV6_RA_DNSSL_SUPPORT=y # CONFIG_RTL_FAST_IPV6_DEBUG is not set CONFIG_RTL_FAST_IPV6=y CONFIG_NF_DEFRAG_IPV6=y CONFIG_NF_CONNTRACK_IPV6=y # CONFIG_IP6_NF_MATCH_IPV6HEADER is not set # CONFIG_NF_NAT_IPV6 is not set CONFIG_RTL_HARDWARE_IPV6_SUPPORT=y
Tiskni
Sdílej: