Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
Konečně jsem se po několika letech dostal k tomu co jsem vždy chtěl objevit - iptables. Měl jsem z toho vítr že je to moc složitý, ale po chvíli jsem zjistil, že je to pohodová záležitost. Fakt se mi to líbí.
Určitě někde existuje jednoduchej návod ale já ho nenašel, ale i tak jsem tomu pokusama přišel na kloub. Napíšu aspoň moje postřehy, které jsem získal.
K nastavení samotného routování slouží routovací tabulka. Routovací tabulka určuje do které lokální sítě budeme vysílat. Pokud je cílový počítač mimo rozsah lokálních sítí, tak se data posílají na bránu. V routovací tabulce je napsáno že pro spojení s těmito IP adresami z tohoto rozsahu posílejte požadavky tamtomu počítači a ten to vyřídí (může to poslat dalšímu routeru a ten dalšímu než se to dostane k cíli), pokud není žádný z rozsahů adres správný tak se to pošle na defaultní bránu - prostě ten zbytek. V praxi v domácnostech se většinou používá jenom defaultní brána (jenom jeden router). Podrobné vysvětlení je ve FAQ.
_____________ -------------------- _____________ | 10.0.0.2/24 |---|eth0 Router eth1|---| 10.0.1.2/24 | ––––––––––––– -------------------- –––––––––––––
Na obou klientech musíme nastavit bránu pro rozsah té druhé sítě a ta brána bude Router. (router má adresy 10.0.0.1 a 10.0.1.1 z každé strany jinou). Na prvním počítači (10.0.0.2) tedy nastavíme routovací tabulku:
# ip r add 10.0.1.0/24 via 10.0.0.1
Nyní při požadavku komunikace s někým ze sítě 10.0.1.x bude první počítač otravovat router ať mu to vyřídí. Můžeme tam místo definice síťě (10.0.1.0/24) dát default - tím by náš router byl defaultní brána a počítač by ho otravoval vždy kdyby adresa byla z jiného rozsahu než 10.0.0.x.
Na druhém počítači (10.0.1.2) musíme nastavit zase bránu tak aby požadavky na síť 10.0.0.x šly přes router (platí to i pro odpovědi prvnímu počítači), uďěláme to úplně stejně:
# ip r add 10.0.0.0/24 via 10.0.1.1
Tak a teď by už sítě měly spolu komunikovat, protože výchozí nastavení iptables je:
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
FORWARD (přeposílání požadavků do jiné síťě) je celkově povolené. Můžeme ho zakázat a nastavit pravidla aby bylo povolené jen přeposílat z jedné sítě do druhé:
# echo 1 > /proc/sys/net/ipv4/ip_forward #pro jistotu že je zaplá podora přeposílání # iptables -P FORWARD DROP # iptables -A FORWARD -i eth0 -o eth1 -s 10.0.0.0/24 -j ACCEPT # iptables -A FORWARD -i eth1 -o eth0 -d 10.0.0.0/24 -j ACCEPT
Těmito příkazy jsme přidali (-A) do tabulky filter (ta je default, když se nezadá -t tabulka) pravidlo, že když ze síťovky eth0, ze síťě 10.0.0.0 příjde požadavek do libovolné síťě (nezadali jsme -d) na síťovce eth1, tak se tam přepošle. Přes router bude ale chodit jen komunakce určená pro druhou síť, protože jsme to tak určili na prvním počítači v routovací tabulce.
Druhé pravidlo zajišťuje přesně opačnou komunakaci z druhého počítače na první. kdyby toto nebylo zajištěno tak nejprojde ani ping, protože by se neměla jak vrátit odpověď - router by jí nepřeposlal.
Pravidla se aplikují podle toho, které bylo zadané první, takže pokud nejdříve zadáme pravidlo "ACCEPT" a potom "DROP", tak bude komunikace pořád povolená, musíme nejdřív smazat staré pravidlo, které komunikaci povoluje. (iptables -D)
Toto je asi nejjednodušší příklad, iptables toho umí fakt moc, pár užitečných příkladů (jako jak udělat NAT, nebo forwarding portů)je tady .
Na iptables se mi líbí, že hned po zadání příkazu se firewall podle toho začne chovat. S pravidly se dá opravdu vyhrát, je až neskutečné co všechno to umí, fakt boží 
Napsal jsem to proto, že jsem sám tohle nevěděl a bál jsem se že je to složitý, ale ono to má svou logiku, snad to někdo po mně pochopí.
Tiskni
Sdílej:
Diskuse byla administrátory uzamčena
No ja mam hlavne za to, ze iptables jsou jen filtr, a se samotnym routovanim toho nemaji nic spolecneho, kdyz pomineme to, ze se pouzivaji pro upravu paketu tak aby se ovlivnilo routovani.
BTW: routovani by snad melo fungovat i bez podpory iptables v jadre, nebo ne?
BTW: routovani by snad melo fungovat i bez podpory iptables v jadre, nebo ne?To funguje už od 60.let a tehdy se jim o iptables(resp. netfilteru) ani nezdálo.
ROUTE je směrování na netfilteru v podstatě nezávislé a směrovat se bude, i kdyby žádná podpora paketového filtru v jádře nebyla.
při pokusech jsem cely to FORWARD nastavil na DROP a pak jsem vlastně povolil jenom tuhle obousměrnou komunikaci a myslel si, že je to tim. Je to tak?
Tohle je teda obecnější případ kdy bude fungovat přeposílání kamkoli:
Chain FORWARD (policy ACCEPT) target prot opt source destinationNo a já jsem si myslel že jsem to pochopil, jestli to teda teď už chápu tak to přepíšu ať tam nejsou blbosti.
to neni pravda ...
iptables. Ale návodem uvedeným v blogu bych se raději neřídil, protože je poněkud zmatený. Pokud někdo ví o tom, jak funguje routování v linuxu a jak funguje firewall, dohledá v tom textu, co chtěl autor říci. Ale jako popis pro někoho, kdo teprve chce pochopit, jak to funguje, je ten text dost nevhodný.