Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
V tomto zápisku rád sepsal zkušenosti se switchem NetGear GS105PE v síti, která je linuxově pozitvní a windowsově negativní (jinými slovy se jedná o domácí síť, ve které nemám k dispozici žádné m$ windows, pokud se třeba jedná o konfiguraci switche a podobně). To, co zde píši by se přitom mělo/mohlo vztahovat i na nejbližší podobné switche jako jsou třeba GS105Ev2 nebo GS108PE.
NetGear GS105PE vypadá na první pohled jako velmi šikovná pětiportová krabička. Krom toho, že je to switch gigabitový, pak jeho největší výhodou je, že je napájený z PoE (bohužel ale jinak napájet nelze) a zároveň ale umožňuje sám až na dvou portech PoE injektovat (nejlépe ovšem, když je napájen z 802.3.at, pak má dostatek šťávy, aby dal alespoň na jednom portu plné 802.af). A navíc switch podporuje VLAN a pár dalších funkcí z manageovatelných switchů (i když jej Netgear řadí do jakési mezikategorie, kterou nazývá „smart“ - je dnes ještě něco, co není „smart“ ). To by bylo z pozitiv tak víceméně všechno.
Bohužel tento switch má (respektive měl) i několik dosti závažných nesmyslů především co se jeho firmwaru a vzláště pak konfigurace týká. Především: switch původně neměl webové rozhraní a musel se nastavovat utilitou, která je windows only. Vzhledem k tomu, že si to někteří linuxáci nenechali líbít a snažili se napsat si takovou utilitu sami, zjistilo se, že komunikace mezi oficiální utilitou a switchem je z hlediska bezpešnost naprosto tragická. Konfigurace lítala po síti broadcastem po všech VLAN a sice s heslem v plaintextu. To Netgear posléze změnil tak, že heslo zaxoroval řetězcem „NtgrSmartSwitchRock“. Naštěstí se alespoň podařilo vytvořit pár utilitek, kterými šlo switch jakž-takž konfigurovat (viz tady, resp. tady a tady a tady) - teď vám ovšem neřeknu, která z nich funguje s firmwarem se zaxorovaným heslem a která ještě ne, ale v nejhoším to není až takový problém upravit.
Dalším problémem switche (stejně jako spousty dalších - i těch drahých switchů od Netgearu) je, že se snaží „volat domů“. Ať již použijeme jejich windows utilitu nebo v novější verzi firmware webové rozhraní (viz níže), pokaždé se switch snaží spojit se s Netgearem a vynutit si registraci. Vzhledem k tomu, že v kterési verzi firmware měl switch (dle nmap) otevřeny ale vyfiltrovaný port pro PPTP, vykládám si to tak, že ve chvíli, když zákazníkovi něco nefunguje, má technická potvora možnost se na switch připojit, aby se na to podívali, co přesně se děje. Jenže i tak je to dle mého hrozná zhůvěřilost a debilita! Naštěstí, zdá se, existuje způsob, jak minimalizovat škody. Kromě zakázání PPTP a dalších tunelovacích protokolů, dokud je člověk v síti nepotřebuje (což by asi měla být tak jak tak samozřejmost dobrého zabezpečení sítě), zdá se pomůže blokovat v síti na úrovni DNS adresu my.netgear.com
. Netgear se tak pokaždé vzteká, což by ale mohlo znamenat, že stačí blokovat jen tuto adresu .
„Volání domů“ zřejmě bude marketingovým rozhodnutím, které se asi jen tak nezmění. Nicméně, co se týká switche GS105PE, tak šlo v uplynulé době pozorovat velmi výrazný posun k lepšímu. Nejprve se ve verzi firmware objevilo webové rozhraní, které dokonce (oproti jiným switchům z dílny Netgearu) nemělo problém s běžným prohlížečem(TM). Trošičku problémem bylo, jak switch pod linuxem bez windowsovské utility upgradovat, ale i tady se našli lidé, kteří přišli, jak na to, a ještě jiní, kteří zbastlili utilitku, kterou je upgrade možné provést. Jenom bych chtěl upozornit na to, že utilitka neumí xorování hesla, takže je nejjednodušší pro upgrade heslo nastavit na prázdné. Tady je (je třeba mít nainstalováno atftp, konfigurace přímo ve skriptu):
#!/usr/bin/perl -w ####################################################################### # # NSDP firmware update script v.1.0 # Copyright 2012 Konstantin S. Vishnivetsky # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # # For contacts: # WEB: http://www.vishnivetsky.ru # E-mail: kos@vishnivetsky.ru # SkyPE: kvishnivetsky # ICQ: 328-468-511 # Phone: +7 913 774-7588 # ####################################################################### use strict; use utf8; use IO::Select; use IO::Socket; use Data::Dumper; ####################################################################### # !!! ATTENTION !!!! # Some settings are empty - fill it with YOUR settings, please. # !!! ATTENTION !!!! ############ Initial config begin ##################################### my $DEBUG = 1; my $selfmac = "\x00\x11\x22\x33\x44\x55"; # MAC adresa PC (00:11:22:33:44:55) my $swmac = "\x66\x77\x88\x99\xaa\xbb"; # MAC adresa switche (66:77:88:99:aa:bb) my $sw_ip = '10.10.10.10' ; # IP addresa switche (10.10.10.10) my $sw_fw = 'fw.bin' ; # Firmware in *.hex file my $psswd= "password" ; # !!!!! my $DST_ADDR = pack('CCCC', 255,255,255,255); # Global broadcast addr - use on single interface host #my $DST_ADDR = pack('CCCC', 10,10,10,255); # Local broadcast addr of your network - use on multiple interface host ############ Initial config end ####################################### my $seq = rand(65535); printf "Initializing switch for TFTP\n" if $DEBUG; FwUpdate(63321); printf "Waiting...\n"; sleep(5); printf "Sending file %s via TFTP to %s\n", $sw_fw, $sw_ip if $DEBUG; `atftp -p --verbose --trace -l $sw_fw -r $sw_fw $sw_ip`; exit 0; sub FwUpdate { my $SRC_PORT = shift; my $sock = IO::Socket::INET->new( Proto => 'udp', LocalAddr => '0.0.0.0', Broadcast => 1, LocalPort => $SRC_PORT, ReuseAddr => 1 ) or die "Can't bind : $@\n"; my $select = IO::Select->new($sock); sendFwUpdate($sock, $seq++, $selfmac, $swmac, $psswd); my $isAlive = 1; while($isAlive) { my @ready = $select->can_read(5); if (@ready) { my $data = undef; my $from = recv($sock, $data, 1500, 0) || die "recv: $!"; my($port, $from_addr) = sockaddr_in($from); my @hexdata = unpack("C*", $data); printf "<< %s\n", join(' ', map(sprintf("0x%.2x", $_), @hexdata)) if $DEBUG; parseNSDP($data); $isAlive = 0; } else { printf STDERR "Timeout!\n"; $sock->close(); exit -1; } }; $sock->close(); } sub sendFwUpdate { my $sock = shift; my $seq = shift; my $selfmac = shift; my $swmac = shift; my $password = shift; my $msg = pack('nC6a6a6Sna4N', 0x0103, 0x00,0x00,0x00,0x00,0x00,0x00, $selfmac, $swmac, 0x0000, $seq, "NSDP", 0x0000); $msg .= pack('nna'.length($password), 0x000a, length($password), $password); # TLV with password $msg .= pack('nnC', 0x0010, 0x0001, 0x01); # DHCP mode On|Off $msg .= pack('nn', 0xffff, 0x0000); # trailer my @hexdata = unpack("C*", $msg); printf ">> %s\n", join(' ', map(sprintf("0x%.2x", $_), @hexdata)) if $DEBUG; my $dst = sockaddr_in(63322, $DST_ADDR); $sock->send($msg, 0, $dst) or die "send: $!"; }; sub parseNSDP { my $data = shift; my($ctype, $reserved, $selfmac, $dstmac, $reserved1, $seq, $sign, $reserved2) = unpack('na6a6a6a2na4Nn', $data); my @selfmac_ = unpack('C6', $selfmac); my @dstmac_ = unpack('C6', $dstmac); printf "ctype=%.4x\n", $ctype if $DEBUG; printf "selfmac=%s\n", join(':', map(sprintf("%.2x", $_), @selfmac_)) if $DEBUG; printf "dstmac=%s\n", join(':', map(sprintf("%.2x", $_), @dstmac_)) if $DEBUG; printf "seq=%.4x\n", $seq if $DEBUG; printf "sign=%s\n", $sign if $DEBUG; };
Utilitka funguje tak, že se switchi pošle jistý packet a switchi je pak možné firmware poslat přes normální TFTP. Dobrou zprávou je, že ve kterési další verzi firmware lze switch do TFTP módu nastavit přes webové rozhraní a firmware do něj nalít jednoduše pomocí:
atftp -p --verbose --trace -l $FW -r fw.bin $SW_HOST
, kde $FW
je soubor s firmware a $SW_HOST
je ip adresa switche. Nejlepší na tom je, že ani to už není v poslední verzi firmware (1.5.*) nutné. Tento firmware je sice nutno nahrávat nadvakrát - bootloader je zvlášť (čtěte pozorně release-notes), nicméně nakonec tu máme switch, který lze updatovat snadno pomocí webového rozhraní (viz screenshot). Mimochodem, v poslední verzi firmware je možné také vypnout konfiguraci pomocí oné windowsoidní utility úplně (a navíc údajně Netgear tentokrát nasadil „skutečné šifrování“ hesla - popravdě, mně už je to jedno, své switche ovládám nyní jen přes web ).
Zdá se tedy, že alespoň v některých věcech se Netgear poučil ze svých chyb a vývoj firmware GS105PE se ubírá správným směrem. Se šmírováním asi bohužel nic nenaděláme. Zbývá ale jedna věc, která dost vadí ve chvíli, kdy má člověk v sítí více VLAN - switch poslouchá na všech VLAN a pokud si IP adresu žádá dynamicky přes DHCP, pak rozesílá DHCP dotazy přes všechna rozhraní a ve svému důsledku si nastaví adresu z náhodné VLAN. Pochopitelně nejlepší v takovém případě je nastavit adresu na statickou, na což ovšem člověk při nastavování ne vždy zavčas myslí a pak hledá jen, ve kterém segmentu sítě se mu switch usadil. Pro tento případ stačilo blokovat příchozí DHCP packety ze switche a povolit je pouze z VLAN, ze které si to přeji, asi nějak takto (všechny VLAN routuje přes stejný router):
# xx:xx:xx:xx:xx:xx == MAC adresa switche iptables -t raw -A PREROUTING -p udp --dport 67 -m mac --mac-source xx:xx:xx:xx:xx:xx -i $VLAN_SWITCH_ADMIN_IF -j ACCEPT iptables -t raw -A PREROUTING -p udp --dport 67 -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
Pravda, je to jen narovnávák na vohejbák, ale lepší než drátem do voka. Samozřejmě ideální by bylo, kdyby switch umožňoval nastavit VLAN pro management, jak to má u dražších modelů, ale moc tomu nevěřím, že by do toho NetGear šel...
Tiskni
Sdílej:
switchová část umí podstatně víc věcí než switch v RB450GTo rozhodně, ale jak už tu někdo psal, mě to doma stačí
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:01.1 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:01.2 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:06.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:1c.0 PCI bridge: Intel Corporation DH89xxCC PCI Express Root Port #1 (rev 08) 00:1c.1 PCI bridge: Intel Corporation DH89xxCC PCI Express Root Port #2 (rev 08) 00:1c.2 PCI bridge: Intel Corporation DH89xxCC PCI Express Root Port #3 (rev 08) 00:1c.3 PCI bridge: Intel Corporation DH89xxCC PCI Express Root Port #4 (rev 08) 00:1d.0 USB controller: Intel Corporation DH89xxCC USB2 Enhanced Host Controller #1 (rev 08) 00:1f.0 ISA bridge: Intel Corporation DH89xxCC LPC Controller (rev 08) 00:1f.2 SATA controller: Intel Corporation DH89xxCC 4 Port SATA AHCI Controller (rev 08) 00:1f.3 SMBus: Intel Corporation DH89xxCC SMBus Controller (rev 08) 00:1f.7 System peripheral: Intel Corporation DH89xxCC Watchdog Timer (rev 08) 01:00.0 Co-processor: Intel Corporation Device 0434 (rev 21) 01:00.1 Ethernet controller: Intel Corporation DH8900CC Series Gigabit Fiber Network Connection (rev 21) 01:00.2 Ethernet controller: Intel Corporation DH8900CC Series Gigabit Fiber Network Connection (rev 21) 07:00.0 Unassigned class [ff00]: Juniper Networks Device 0062 (rev 01) 08:00.0 Unassigned class [ff00]: Juniper Networks Device 0063 (rev 01) 09:00.0 Ethernet controller: Broadcom Corporation Device b854 (rev 03):)