Programovací jazyk Python byl vydán v nové major verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.
BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.
V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."
Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.
Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.
Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.
… více »Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.
Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.
ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím
… více »ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.
ping -I eth1 CÍLOVÁIP a ping -I ipaddr(eth1) CÍLOVÁIPměly být ekvivalentní. Ale zdá se nejsou, na Fedora 14 i686 boxu se to chová takto:
# ping -I 10.128.254.2 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I eth1 -c 3 -nn 90.183.38.60 PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 : 56(84) bytes of data. 64 bytes from 90.183.38.60: icmp_req=1 ttl=56 time=4.66 ms 64 bytes from 90.183.38.60: icmp_req=2 ttl=56 time=12.7 ms 64 bytes from 90.183.38.60: icmp_req=3 ttl=56 time=4.50 ms --- 90.183.38.60 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 4.502/7.310/12.769/3.861 ms PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 eth1: 56(84) bytes of data. From 10.128.254.2 icmp_seq=1 Destination Host Unreachable From 10.128.254.2 icmp_seq=2 Destination Host Unreachable From 10.128.254.2 icmp_seq=3 Destination Host Unreachable --- 90.183.38.60 ping statistics --- 3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 1999ms pipe 3Interface eth1 má IP adresu 10.128.254.2 (ta je u ISP NATována 1:1 na veřejnou), na žádném interface nejsou použity IPv6 ani IP aliasy:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:30:4f:39:4b:49 brd ff:ff:ff:ff:ff:ff
inet 10.128.254.2/29 brd 10.128.254.7 scope global eth1
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:c7:25:c7:53 brd ff:ff:ff:ff:ff:ff
inet 10.3.60.10/24 brd 10.3.60.255 scope global eth2
4: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:c7:19:3b:94 brd ff:ff:ff:ff:ff:ff
inet 10.0.1.254/24 brd 10.0.1.255 scope global eth3
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1e:8c:94:05:cd brd ff:ff:ff:ff:ff:ff
inet 192.168.0.254/24 brd 192.168.0.255 scope global eth0
6: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet 90.187.57.21 peer 78.103.210.66/32 scope global ppp0
Setkal se s tím někdo, resp. je pro to nějaké vysvětlení?
pepe@PC-Pepe:~$ uname -r 2.6.38-10-generic pepe@PC-Pepe:~$ pepe@PC-Pepe:~$ ping -I 10.10.10.1 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I eth0 -c 3 -nn 90.183.38.60 PING 90.183.38.60 (90.183.38.60) from 10.10.10.1 : 56(84) bytes of data. 64 bytes from 90.183.38.60: icmp_seq=1 ttl=52 time=20.3 ms 64 bytes from 90.183.38.60: icmp_seq=2 ttl=52 time=22.0 ms 64 bytes from 90.183.38.60: icmp_seq=3 ttl=52 time=23.3 ms --- 90.183.38.60 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 20.337/21.917/23.355/1.248 ms PING 90.183.38.60 (90.183.38.60) from 10.10.10.1 eth0: 56(84) bytes of data. 64 bytes from 90.183.38.60: icmp_seq=1 ttl=52 time=23.8 ms 64 bytes from 90.183.38.60: icmp_seq=2 ttl=52 time=29.3 ms 64 bytes from 90.183.38.60: icmp_seq=3 ttl=52 time=23.2 ms --- 90.183.38.60 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 23.237/25.468/29.362/2.768 ms pepe@PC-Pepe:~$
# ip route list table wifismrk 90.187.57.21 dev ppp0 scope link 10.128.254.0/29 dev eth1 scope link src 10.128.254.2 10.3.60.0/24 dev eth2 scope link 192.168.0.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 10.128.254.1 dev eth1 # ip route list table wifibudka 90.187.57.21 dev ppp0 scope link 10.128.254.0/29 dev eth1 scope link 10.3.60.0/24 dev eth2 scope link src 10.3.60.10 192.168.0.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 10.3.60.1 dev eth2 # ip route list table adsl 90.187.57.21 dev ppp0 scope link src 90.187.57.21 10.128.254.0/29 dev eth1 scope link 10.3.60.0/24 dev eth2 scope link 192.168.0.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default dev ppp0 scope link # ip rule show 0: from all lookup local 32763: from 90.187.57.21 lookup adsl 32764: from 10.3.60.10 lookup wifibudka 32765: from 10.128.254.2 lookup wifismrk 32766: from all lookup main 32767: from all lookup default
]# ping -R -I 10.128.254.2 -c 3 -nn 90.183.38.60 PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 : 56(124) bytes of data. --- 90.183.38.60 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 1999ms(tj. oproti verzi která "chodí" je tam navíc přepínač "-R" /Record route/ - a s ním to také přestane ping-at). Pro upřesnění - zvenku z internetu lze na příslušnou IP adresu pingnout i navázat TCP spojení se službami na Linux boxu.
/proc/sys/net/ipv4/conf/*/rp_filter = 0 /proc/sys/net/ipv4/conf/*/accept_source_route = 1
# ip route list 90.187.57.21 dev ppp0 scope link src 90.187.57.21 78.103.210.66 dev ppp0 proto kernel scope link src 90.187.57.21 10.128.254.0/29 dev eth1 proto kernel scope link src 10.128.254.2 10.3.60.0/24 dev eth2 proto kernel scope link src 10.3.60.10 10.0.1.0/24 dev eth3 proto kernel scope link src 10.0.1.254 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.254 169.254.0.0/16 dev eth1 scope link metric 1002 169.254.0.0/16 dev eth2 scope link metric 1003 169.254.0.0/16 dev eth3 scope link metric 1004 169.254.0.0/16 dev eth0 scope link metric 1005 default via 10.3.60.1 dev eth2
[root@ganymed ~]# ping -I 139.84.66.15 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I re0 -c 3 -nn 90.183.38.60 ping: -I, -L, -T flags cannot be used with unicast destination ping: invalid multicast interface: `re0'
# ip addr show eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:30:4f:39:4b:49 brd ff:ff:ff:ff:ff:ff
inet 10.128.254.2/29 brd 10.128.254.7 scope global eth1
Jak je to v BSD a co je re0 se přiznám že nevím.
[root@ganymed ~]# ifconfig re0
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 52:54:00:00:01:8f
inet XX:XX:XX:XX:XX netmask 0xffffff00 broadcast XX:XX:XX:XX:XX:XX
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
man ping … -I interface Source multicast packets with the given interface address. This flag only applies if the ping destination is a multicast address.Taková je situace na BSD. Zkus si udělat na tom interface tcpdump v obou pokusech; podle mého v tom bude mít prsty ARP a směrování. V případě pingu z IP adresy bys měl vidět ARP dotaz na default GW a v případě pingu z interface bys měl vidět ARP dotaz na destinační IP adresu. V tom bude ten rozdíl. Bohužel si to nemůžu na ničem vyzkoušet sám, ale vycházím z logické úvahy.
-I interface address
Set source address to specified interface address. Argument may be numeric IP address
or name of device. When pinging IPv6 link-local address this option is required.
Takže žiju v tom, že tahle volba vynutí odeslání ICMP paketu ven daným (jménem rozhraní n. jeho IP adresou) rozhraním (programově asi přes volání bind()). A bude se to řešit standardním postupem - pokud je cíl na segmentu tohoto interface, tak se zjistí přes ARP; pokud ne a routovací tabulky specifikují gateway, tak se to pošle tam.10.128.254.0/29 dev eth1 scope link src 10.128.254.2 default via 10.128.254.1 dev eth1) jsem očekával že to půjde na gateway 10.128.254.1 a ta to pošle dál. A hlavně, že "ping -I 10.128.254.2" a "ping -I eth1" se bude chovat stejně - že v druhém případě se jméno interface použije na získání jeho IP a dál je všechno stejné.
Ten popis neodpovídá tomu, co je ve zdrojácích. Ty dva případy se ve skutečnosti řeší různě: zadáte-li adresu, nabinduje se socket na tu adresu, zadáte-li interface, použije se socket option SO_BINDTODEVICE. Což celkem dává smysl - už od jádra 2.2 je totiž formulace "adresa daného rozhraní" principiálně nesmyslná. O víkendu snad budu mít trochu času a zkusím ten váš problém zreprodukovat, abych zjistil, co se tam děje.
Jen pro jistotu: nemůže vám ty pakety zahazovat netfilter?
S tou "adresa daného rozhraní" se něco asi dělat dá, viz getifaddrs().
Všimněte si, že na konci je s a i popis v manuálové stránce říká "get interface addresses".
Tiskni
Sdílej: