abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 19:00 | Nová verze

Rozšíření Visual Studio Code "Language Support for Java(TM) by Red Hat" dospělo do verze 1.0. Přehled novinek s náhledy a videi v příspěvku na blogu.

Ladislav Hagara | Komentářů: 5
včera 14:33 | Komunita

Bylo oznámeno, že konference FOSDEM 2022 (Free and Open source Software Developers’ European Meeting) proběhne online o víkendu 5. a 6. února 2022.

Ladislav Hagara | Komentářů: 0
včera 08:00 | Zajímavý projekt

Dactyl-Manuform (kombinace DactylManuform) je svého druhu populární typ ergonomické klávesnice. Existuje několik parametrických generátorů variant šasi pro 3D tisk, řada forků a dokonce několik drobných výrobců nabízí sady nebo již sestavené klávesnice: patří mezi ně např. Bastard Keyboards (dříve HID Technologies), jenž nyní zveřejnil schémata tvrdých ohebných PCB ([1] [2]) pod licencí Creative Commons BY-NC-SA 4.0. Oproti původnímu ručnímu drátování je to krok k více funkcím (podsvícené či hotswap spínače) a příp. sériové výrobě.

Fluttershy, yay! | Komentářů: 1
včera 07:00 | Nová verze

Byla vydána verze 1.56.0 programovacího jazyka Rust (Wikipedie). Současně byla edice Rust 2021 prohlášena za stabilní. Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 9
21.10. 17:11 | Bezpečnostní upozornění

V PHP byla nalezena bezpečnostní chyba CVE-2021-21703 zneužitelná k lokální eskalaci práv. Opravena je v upstream verzi 8.0.12.

Ladislav Hagara | Komentářů: 5
21.10. 14:11 | Zajímavý projekt

Na Crowd Supply běží kampaň na podporu zařízení KrakenSDR s pěti přijímači RTL-SDR. Lze je používat nezávisle nebo současně jako radiozaměřovač nebo pasivní radar.

Ladislav Hagara | Komentářů: 31
21.10. 11:11 | Komunita

Implementace OpenPGP Sequoia PGP byla přelicencována z GPL 2+ na LGPL 2+. Vývojáři to zdůvodňují na dvou příkladech: Apple nepovoluje GPL software ve svém App Storu a problém s GPL má také Thunderbird.

Ladislav Hagara | Komentářů: 0
21.10. 10:11 | IT novinky

Problémy s výrobou a dodáváním má také Raspberry Pi. Raspberry Pi 4 s 2 GB RAM proto dočasně zdražilo z 35 na 45 dolarů.

Ladislav Hagara | Komentářů: 4
21.10. 09:11 | Nová verze

Byla vydána vývojová verze 2.99.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP. Jedná se o další krok směrem k verzi 3 postavené na GTK 3. Přehled novinek i s náhledy v oznámení o vydání a v souboru NEWS na GitLabu. Stabilní verze je 2.10.28.

Ladislav Hagara | Komentářů: 0
21.10. 07:00 | Zajímavý článek

Obsáhlý zápisek v blogu jednoho z vývojářů Haiku, svobodného operačního systému inspirovaného BeOS, popisuje nejen zkušenosti s notebookem Lenovo ThinkPad T510 a posléze W541, ale průběžně také rozvíjí úvahy o svobodném softwaru, právu na opravu (right to repair), (ne)zveřejňování specifikací hardwaru, dotýká se politiky podepisování distribučních klíčů nejen Secure Boot aj.

Fluttershy, yay! | Komentářů: 14
Kolik monitorů (obrazovek) používáte současně?
 (49%)
 (36%)
 (14%)
 (1%)
Celkem 404 hlasů
 Komentářů: 29, poslední 19.10. 07:04
Rozcestník



Dotaz: Multicast routing (ACL)

18.5.2017 15:07 MaraCh
Multicast routing (ACL)
Přečteno: 471×
Ahoj.

Mám PC router s Linuxem, který má čtyři síťové rozhraní: l0, w0, f0 a a0. Jedním z úkolů tohoto PC je routování multicast provozu mezi síťovými rozhraními, ale s poměrně úzkými omezeními. Například:
  • mc vysílání na adresy 239.255.0.0/16 má být routováno jedině z rozhraní f0 do l0
  • mc vysílání na adresy 239.23.0.0/16 má být routováno jedině z rozhraní w0 do l0
Tedy nesmí například být routováno vysílání 239.255.0.0/16 z w0 do l0, nebo jakýkoliv multicast provoz z f0 do w0.

Výše uvedené mám zatím realizováno pomocí pimd v2.3.2 a firewall pravidel, které zakazují především forwardování toku, který nevyhovuje.

Problémy a nedostatky zjištěné v rámci testů:
  • pimd umožňuje definovat rozsahy mc adres, kde se bude zabývat routováním - bohužel jen obecně jako celek s nemožností říci jaké skupiny adres se týkají jakého rozhraní odkud/kam
  • definice firewall pravidel zabraňuje sice nechtěných toků přes router, ale nedokáže zamezit vniku vysílání před routerem a nutnosti zahazování toku routerem (který by zahazován být nemusel, pokud by nechtěl routerem protékat)
Například pokud bude nějaké zařízení za w0 přihlášeno k odběru 239.255.0.1 a v síti za f0 bude nějaké vysílací zařízení poskytující stream na 239.255.0.1, tak sice tento zakázaný tok (f0->w0) přes router díky firewall pravidlům neprojde, ale:
  1. na routeru vznikne routovací pravidlo zobrazitelné přes "ip mroute" a tento zbytečný multicast tok bude muset na příkaz iptables router zahazovat
  2. přestože neexistuje žádný povolený odběratel tak vysílací zařízení musí tento tok generovat (což by pokud se nepletu, kdyby opravdu nikdo přihlášen nebyl nedělalo)
Existuje nějaká možnost jak to řešit elegantněji?

Je to vůbec v silách síťové vrstvi na linuxu? Udivuje mne totiž, že i když jsem v rámci testů kompletně začal zahazovat pakety směřující do f0 jak v INPUT tak v FORWARD, tak ten router se nějak prostě dozvěděl, že tam za f0 někdo vysílá (nechápu jak) a při zahájení jeho vysílání vytvořil routovací pravidlo (viditelné přes: ip mroute).

Odpovědi

18.5.2017 15:48 NN
Rozbalit Rozbalit vše Re: Multicast routing (ACL)
Nevyplatilo by se pouzit statcky multicast routing pomoci smcroute doporucovany v odkazu misto dynamickeho? Mimojine umoznuje specifikovat rozsahy, rozhrani i smery.
18.5.2017 16:11 MaraCh
Rozbalit Rozbalit vše Re: Multicast routing (ACL)
Nevidím, že by tam šlo definovat rozsahy u multicast adres - dívám se špatně?
18.5.2017 17:27 NN
Rozbalit Rozbalit vše Re: Multicast routing (ACL)
Lze to definovat per vysilac, default limit je 20. Kolik jich mas, ze to potrebujes na cely subnet? Imho u milticastu se nevysila tam, kde neni alespon jeden prijemce u z principu protokolu, nebo se pletu?
19.5.2017 08:11 MaraCh
Rozbalit Rozbalit vše Re: Multicast routing (ACL)
Těch potenciálních vysílačů bude v reálu přibližně kolem 20. Problém je v tom, že se rekrutují ze skupiny zařízení, kterých budou až stovky. Těch routerů budou v síti desítky. Desítky routerů není možné před každou akcí předefinovávat na ~20 potencionálně možných vysílačů, které asi zrovna budou v akci připadat v úvahu. Bylo by to administrativně neúnosné. Proto jsou definovány velké multicast prostory u kterých je však zřejmé kudy mohou téci. Teoreticky také hrozí nebezpečí špatného zapojení do nechtěného segmentu sítě (nebo průtoky do nechtěných segmentů sítě) a to je jeden z důvodů proč některé toky nesmí vznikat, protože by mohly zahltit část sítě, která má omezenou přenosovou kapacitu (je rádiová).

Hledám tedy dynamický multicast routing se slušnou možností definovat možné toky. Ten statický vypadá na slušné možnosti, ale nemožnost definovat obecně velké multicast rozsahy ho dělají pro můj účel nepoužitelný.

Multicast je v celku pěknej prevít - třeba zařízení s úplně jinou IPv4 konfigurací než je síť v které se nachází, nemá problém vysílat či přijímat multicasty...

Čemu zatím také nemohu přijít na kloub (nerozumím tomu) je ten jeden z testů co jsem provedl. Přestože jsem zavřel přes iptables v INPUT i ve FORWARD komunikaci přicházející z jedné ze sítí na jedné straně routeru a potencionální posluchač byl aktivován na jiné straně routeru, tak v okamžiku zahájení vysílání zařízení na té zavřené straně routeru se v routeru vytvořila routa pro tento multicast (ukázal to ip mroute). Nechápu jak je to možné - jak se ten router dozvěděl, že tam je nějaký vysílač multicastu, příchozí tok k routeru z té strany je zcela zahazován. Budu ten test muset zopakovat - hlava mi to nebere (snad nějaké komunikace na L2 mimo L3?).
19.5.2017 09:00 NN
Rozbalit Rozbalit vše Re: Multicast routing (ACL)
Blokujes cely IGMP ptotokol Query/Membership pakety, nebo jen multicast skupinu? Muzes to oddelit na L2, nebo je zadouci i jina L3 komunikace na rozhranich?
19.5.2017 14:53 MaraCh
Rozbalit Rozbalit vše Nemožnost odfiltrovat některé multicast dohody přes iptables - TEST
Uvedu nyní přesně "výzkumný test", který zmiňuji v závěru své otázky a jehož výsledky nechápu.

Mám router, kde běží pimd. Router má síťová rozhraní w0 a f0.

Schema zapojení:
PC_before_w0 <---> [w0]-router-[f0] <----> PC_before_f0
1. Zákaz veškerého toku na router přícházejícího z rozhraní f0 (povoleno jen ssh):
router#
iptables -t filter -F
iptables -t nat -F
iptables -A INPUT -i f0 -p TCP --source-port 22 -j ACCEPT
iptables -A INPUT -i f0 -j DROP
iptables -A FORWARD -i f0 -j DROP
2. Zahájení naslouchání (příjmu) multicast:
PC_before_w0$ iperf -s -u -B 239.255.0.1
3. Kontrola routovacích pravidel:
router# ip mroute
(nic nevypýše - žádná pravidla nejsou)
4. Zahájení multicast vysílání:
PC_before_f0$ iperf -u -c 239.255.0.1 -T 3 -t 30
5. Kontrola routovacích pravidel:
router# ip mroute
(ip_adresa_PC_before_f0, 239.255.0.1)       Iif: f0       Oifs: w0
Z výpisu routovacích pravidel je vidět, že vznikla multicast routa. K samotnému toku dat přes router nedojde. Jak je však možné, že vznikla ta routovací pravidla? Jak se router dozvěděl o existenci nějakého multicast vysílání před rozhraním f0, když v iptables je vše příchozí zahazováno? Může to prosím někdo vysvětlit?
19.5.2017 15:09 MaraCh
Rozbalit Rozbalit vše Re: Nemožnost odfiltrovat některé multicast dohody přes iptables - TEST
Ještě dodám, že situace se nezmění ani když ještě k 1. bodu přidám následující pravidla:
iptables -A OUTPUT -o f0 -p TCP --destination-port 22 -j ACCEPT
iptables -A OUTPUT -o f0 -j DROP
iptables -A FORWARD -o f0 -j DROP
Kromě ssh nemohou IP data tam ni zpět, ale přesto se to nějak domluví. Jo kdyby to tak bylo i u lidí:-)
19.5.2017 21:12 martinvolf
Rozbalit Rozbalit vše Re: Nemožnost odfiltrovat některé multicast dohody přes iptables - TEST
Nepomohlo by zahazovat to v tabulce raw?
iptables -t raw -A PREROUTING -i f0 -j DROP
21.5.2017 20:11 Ondrej Santiago Zajicek
Rozbalit Rozbalit vše Re: Nemožnost odfiltrovat některé multicast dohody přes iptables - TEST
Jak je však možné, že vznikla ta routovací pravidla? Jak se router dozvěděl o existenci nějakého multicast vysílání před rozhraním f0, když v iptables je vše příchozí zahazováno?
AFAIK prichozi paket se nejdriv paket prozene routovanim, aby se zjistilo, co s nim, a pak teprve se aplikuji prislusna pravidla z filter tabulky (INPUT ci FORWARD chainy). Pri multicast routingu pak pri nepritomnosti routy kernel preda paket specialnim kanalem routovacimu demonu (tedy jeste pred aplikaci pravidel z filter tabulky) a ten prida routu do routovaci tabulky. Jak pise martinvolf nize, mohlo by pomoci filtrovat to v PREROUTING chainu tabulky raw.
22.5.2017 12:14 MaraCh
Rozbalit Rozbalit vše Re: Nemožnost odfiltrovat některé multicast dohody přes iptables - TEST
Děkuji za odpověď i za odpověď předřečníkovi.

V uvedeném konkrétním případě stačí pravidlo:
iptables -t raw -A PREROUTING -i f0 -d 239.255.0.1/32 -j DROP
A routa pak nevznikne. Trochu mi to bourá představu, že mcast tok vzniká jen když jsou odběratelé - zde je routa asi vytvořena až vznikne mcast tok (a jen pokud ho zamlčím tak routa nevnikne) (nebo snad vysílací strana ví o tom posluchači i když tam mám výše uvedené iptables pravidlo?).

Uvedená pravidla v tabulce raw mohou zajistit nevznikání mcast routovacích pravidel na konkrétní rozsahy mcast cílů. Žel nelze s nimi zajistit, že cíl je povolen, ale jen k forwardování na konkrétní síťové rozhraní a na jiné ne.

Jinými slovy hledám daemona na mcast routování, který bude umožňovat definovat přesnější pravidla. pimd to asi neumí. Zná někdo takového daemona?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.