Názor k článku
Utilita run0 je bezpečnější náhradou za sudo založenou na systemd od msmucr - Mě prostě fascinuje, jak někteří lidé říkali, že...

  • Článek je starý, nové názory již nelze přidávat.
  • 3. 5. 2024 13:15

    msmucr
    Bronzový podporovatel


    Mě prostě fascinuje, jak někteří lidé říkali, že se nebudou učit nic jiného než předchozí rc-v. OK, v pořádku. Ale potom se podíváš na jejich servery a tam je bastl daemontools a dalších. Prostě pokud někomu vyhovují rc skripty (což v diskusích tvrdí), tak má všechno dělat v rc skriptech.

    OK. díky za vysvětlení, to určitě souhlasím. ;)


    Super. Skvělé. Ale za mě, bod 0 - musí to nejdřív fungovat. Mě opravdu nezajímá, kolik má nástroj možností, pokud vůbec nefunguje. A jestli v roce 2021 na čistě nainstalovaný aktuální CentOS, dle návodu nastavím síť v NM a při páté statické routě mě to odpojí od sítě, tak pardon pánové, opravte to. Nástroj je od toho, aby mě kontroloval. Pokud jsem někde udělal chybu (ať už omylem, nebo záměrně jako tester), ten nástroj mě na to má upozornit. A jestli tohle není (podle někoho) funkce toho nástroje, tak pardon, vůbec jej nemusím používat a stačí mi ty 4 ip příkazy v náhodném skriptu.

    Tak jo, možná jsi narazil na specifický bug. A beru, někdy to fakt může být ta poslední kapka, než to člověk vzdá. Já jsem psal o těch fíčurách proto, že tím jak to dělá abstraktní vrstvu nad různými síťovými subsystémy, vpn klienty a má to API pro další ovl. software, řeší to stavovou logiku, delegování práv, logování, profily atp., tak to nemá úplně moc ekvivalentů. To, co to nabízí, prostě nepokryji jen shell skripty, krom nejjednodušších případů. Přecházel jsem na NM postupně - nejdřív logicky na desktopech, kde tyhle dynamické konfigurace byly třeba nejvíc (WiFi, VPN) a postupně i na serverech, kde můžou být také i relativně složitější nastavení, různé failovery, dynamické bridge na virtuály, tunely atp.
    Na začátku, když NM začínal v těch větších distr., jsem to při výskytu problému také vzdával (hlavně pod vlivem různých návodů, kde bylo na úvod napsáno - NM je na <|>, vypněte tu službu a obejděte to), ale pak když jsem dělal víc instalací RHEL/CentOS 7, tak jsem tomu zkusil přijít na kloub a nastavoval pak víceméně vše, co šlo, v NM.
    Takže mě subjektivně to nepřijde, že by to vůbec nefungovalo. Ale možná mám jen vyšší práh citlivosti :) A samozřejmě, je to relativně komplexní projekt s tím, co všechno to řeší, mohou tam být chyby. Navíc tam mohou být rozšíření mimo ten hlavní projekt (typicky VPN klienty třetích stran), která nemusí být úplně v pohodě, udržovaná atd.

    Jinak k té konkrétní věci. Snad jsem to pochopil dobře, a asi to teď jen tak nenasimuluji. Tak jen pár bodů.
    - počet stat. rout > 4 nebude problém. Používám to běžně a teď jsem se díval do profilů a nejvíc, co mám tady v NM, tak je 15. U mě to má krom fyz. ifaců smysl hlavně u VPN, kde nechci používat vzdál. def GW, takže musím všechny podsítě přidat staticky do routovací tabulky. Ale určitě bych našel někde i profily, kde toho je víc.
    - základní verifikace tam je. Určitě v případě nmcli. Nedá se tam nabouchat nesmyslná IPv4 nebo IPv6 adresa. U def. gw to ověří, jestli je v nastaveném rozsahu sítě. Pokud se přidává statická routa a použitý next hop není přímo dostupný, tak se po aktivaci profilu vytvoří zároveň v tabulce další linková (scope: link) routa pro next hop. Tam se to chová jinak než příkaz ip, který vrátí chybu, pokud next hop není dostupný. Někdy se hodí jedno, jindy druhé. Je to za mě jiné chování, což může být diskutabilní, ale ne bug.
    - jinak pokud děláš vzdáleně terminálem něco, co může po chybě odstřihnout spojení, tak je na to v NM jiná funkce - checkpoint.
    To uloží aktuální profil od zařízení, provede napsaný příkaz za dvěma pomlčkami a pokud to nepotvrdíš do 30s (dá se nastavit), tak to profil vrátí zpátky.
    Takže např. když nastavuješ parametry eth0, ať už přes nmcli nebo nmtui, tak se neprovedou hned, musí se pustit příkaz nmcli connection up, aby se změny projevily.
    Tohle uděláš s checkpointem.
    nmcli dev checkpoint eth0 -- nmcli con up eth0
    Když se něco pokazí, vrátí se to samo zpátky, můžeš to opravit.
    https://networkmanager.pages.freedesktop.org/NetworkManager/NetworkManager/nmcli-examples.html
    - pokud už na něco potřeba manuální skript (byť by to byly ty routy :)), tak se dá hezky spouštět přes NM dispatcher. https://networkmanager.pages.freedesktop.org/NetworkManager/NetworkManager/NetworkManager-dispatcher.html
    Je tam spousty užitečných proměnných. Já to třeba párkrát využil, když jsem potřeboval se spojením zároveň inicializovat BPF filtr, co běží na procesoru síťovky. Nebo nějaké parametry, co jsou přístupné pouze přes proprietární nástroje, např. u Mellanox karet.