Rozdělení switche

Re:Rozdělení switche - dodatek ohledně private VLAN...
« Odpověď #30 kdy: 22. 01. 2020, 17:12:54 »
Zrovna dneska jsem v práci něco rekonfiguroval a narazil jsem na to na C3650 a připomnělo se mi to taky. Nikdy jsem to ale nepoužíval.

Ono se tím zřejmě dá např. stáhnout i L3 provoz v rámci L2 segmentu tak, aby tekl skrz default gateway, kde se dá na L3 ofiltrovat (je potřeba tomu trochu pomoct proxy ARPem).

Nechápu..?

Zatím jsem si na to nesáhl rukama a není mi jasné, co to má za dopad třeba na funkce založené na L2 broadcastu (jiné než kde broadcastuje default GW). Může to být asi dost mazec.

Nemám vyzkoušeno, ale mělo by to fungovat tak, že broadcasty z promiscuous uslyší všichni. Broadcasty z community uslyší všichni v rámci komunity + všichni promiscuous. Broadcasty z private uslyší jen promiscuous porty.

Na některých switchích jsem viděl ještě horší věc: port, který je v access režimu a zároveň ve více VLAN. To teprve musí být bordel a bezpečnost vniveči.


Re:Rozdělení switche - dodatek ohledně private VLAN...
« Odpověď #31 kdy: 22. 01. 2020, 20:54:23 »
Ono se tím zřejmě dá např. stáhnout i L3 provoz v rámci L2 segmentu tak, aby tekl skrz default gateway, kde se dá na L3 ofiltrovat (je potřeba tomu trochu pomoct proxy ARPem).

Nechápu..?
[...]
Nemám vyzkoušeno, ale mělo by to fungovat tak, že broadcasty z promiscuous uslyší všichni. Broadcasty z community uslyší všichni v rámci komunity + všichni promiscuous. Broadcasty z private uslyší jen promiscuous porty.

Takže si představte "primární" VLAN ošetřenou pomocí jediné PVLAN v režimu "isolated", na ní několik klientů a jedna gateway v režimu "promiscuous". Mezi klienty v rámci subnetu chcete navzájem na L3 omezeně komunikovat, ale nechcete, aby se viděli přímo na L2. Takže jim "isolated" režimem zabráníte, aby o sobě na L2 navzájem jakkoli napřímo věděli. Pokud takto izolovaný klient pošle ARP "who has", bez dalšího ošetření by se mu nikdo neozval. Proto je údajně možnost, na gatewayi rozjet "proxy arp", tipuju automatický pro celý subnet. Prostě když se izolovaný klient zeptá ARPem na libovolnou adresu, ozve se mu (ARP "is at") bez rozmýšlení gateway: "já gateway mám tuhle adresu". A klient pošle svůj dotaz "sousedově IP adrese" na MAC adresu gatewaye. Gateway ten paket přijme, na třetí vrstvě prohlédne, zjistí že ho má poslat zpátky do rozhraní, ze kterého paket přišel, ale s tím se počítá - pokud paket vyhoví pravidlům, odešle ho zpátky tímtéž rozhraním, ovšem jinému izolovanému klientovi... A aplikační odpověď proletí stejným způsobem na dva hopy opačným směrem.

Na některých switchích jsem viděl ještě horší věc: port, který je v access režimu a zároveň ve více VLAN. To teprve musí být bordel a bezpečnost vniveči.
Něco v tom smyslu jsem v nějakých čínských návodech taky zaznamenal, ale vždycky jsem to hodil za hlavu s tím, že mám asi vlčí mlhu, nebo že documentation writer rozumí spíš angličtině než základním principům. Na egressu bych tomu rozuměl: přijde paket s jednou nebo druhou značkou, vypadne vždycky tímhle portem. Ale opačným směrem lze ten paket poslat pochopitelně jenom do jedné z obou VLAN. Do které? No tak se jedna určí jako default. Nojo, ale pokud je to odpověď na dotaz "z ne-defaultní VLAN", tak se tazatel odpovědi nedočká. Tzn. možné to asi je, ale praktický smysl v tom moc nevidím.

Re:Rozdělení switche - dodatek ohledně private VLAN...
« Odpověď #32 kdy: 22. 01. 2020, 21:16:16 »
Takže si představte "primární" ... aplikační odpověď proletí stejným způsobem na dva hopy opačným směrem.

Rozumím. A co je v tom za problém?

Něco v tom smyslu jsem v nějakých čínských návodech taky zaznamenal, ale vždycky jsem to hodil za hlavu s tím, že mám asi vlčí mlhu, nebo že documentation writer rozumí spíš angličtině než základním principům. Na egressu bych tomu rozuměl: přijde paket s jednou nebo druhou značkou, vypadne vždycky tímhle portem. Ale opačným směrem lze ten paket poslat pochopitelně jenom do jedné z obou VLAN. Do které? No tak se jedna určí jako default. Nojo, ale pokud je to odpověď na dotaz "z ne-defaultní VLAN", tak se tazatel odpovědi nedočká. Tzn. možné to asi je, ale praktický smysl v tom moc nevidím.

Já si myslím, že port nastavený do dvou VLAN to pošle do obou. ARP mu odpoví (snad) jen z jedné. Ale účel toho fakt nechápu.

Re:Rozdělení switche - dodatek ohledně private VLAN...
« Odpověď #33 kdy: 22. 01. 2020, 21:48:09 »
Takže si představte "primární" ... aplikační odpověď proletí stejným způsobem na dva hopy opačným směrem.

Rozumím. A co je v tom za problém?

...tak... já jsem asi neměl v úmyslu, dělat z toho tragédii :-) ale děkuji za nahrávku ;-)

Jistě uznáte, že je to uspořádání dost nezvyklé. Obecně proxy ARP je taková berlička, historicky pro zařízení s dementním IP stackem, kterému nešlo nastavit default route (nepočítal s provozem mimo lokální subnet). Tradičně se o tom tvrdilo, že je to nečistá věc, narušuje normální života běh, zvyšuje zátěž na routeru, přidělává správci bolení hlavy a po nocích žere osamělá malá koťátka.

Zas pokud "promiskuitní" gateway odpovídá na *všecky* ARPy "jasně, to jsem já", tak s tím asi moc práce navíc nemá, protože prohledávat nějaký seznam nemusí. ARP tabulka se seznamem klientů v LAN funguje v gatewayi zřejmě normálně. Čili zbývá případná námitka, že protáhnout všechen provoz v LAN segmentu skrz gateway a zase zpátky je mrháním kapacitou LAN a výkonem gatewaye, ale v principu... pokud tohle nakonfigurujeme, tak přeci přesně tohle jsme chtěli, žejo?

Něco v tom smyslu jsem v nějakých čínských návodech taky zaznamenal, ale vždycky jsem to hodil za hlavu s tím, že mám asi vlčí mlhu, nebo že documentation writer rozumí spíš angličtině než základním principům. Na egressu bych tomu rozuměl: přijde paket s jednou nebo druhou značkou, vypadne vždycky tímhle portem. Ale opačným směrem lze ten paket poslat pochopitelně jenom do jedné z obou VLAN. Do které? No tak se jedna určí jako default. Nojo, ale pokud je to odpověď na dotaz "z ne-defaultní VLAN", tak se tazatel odpovědi nedočká. Tzn. možné to asi je, ale praktický smysl v tom moc nevidím.

Já si myslím, že port nastavený do dvou VLAN to pošle do obou. ARP mu odpoví (snad) jen z jedné. Ale účel toho fakt nechápu.

No... tohle mi nejde moc do hlavy. Na ingressu přiletí paket. Poslat ho do obou VLAN by znamenalo, ten paket zdvojit/naklonovat a dát každé kopii jinou značku. Protože v paketu je VLAN tag jenom jeden. Pro "point to point" spojení (TCP relace) toto nedává smysl. Pro komunikaci jednotlivými pakety by to pro některé aplikace smysl mít mohlo... ale je to divoké.

Jinak ono i na tagovaném (trunkovém) portu reálně žije dost netagovaného provozu - především všelijaké režijní protokoly. Třeba STP nebo všelijaké průmyslové protokoly pro kruhovou redundanci jedou nad LLC, což je "režijní subvrstva" v rámci L2, enkapsulovaná v rámcích 802.2/802.3 - kdežto užitečná TCP/IP data jedou v enkapsulaci "Ethernet II" (a těch se týká tagování/trunkování). Ono lze na VLANu nahlížet buď jako na "rouru pro payload", nebo jako bezbranný atribut v hlavičce paketu. A co jsem viděl, jak se switche chovají třeba k IEEE1588=PTP, tam je VLAN tag taky spíš jako atribut, než jako roura. Případně může jet PTP mezi switchi netagovaně, smícháno s tagovanými rámci ostatního payloadu...

Re:Rozdělení switche - dodatek ohledně private VLAN...
« Odpověď #34 kdy: 22. 01. 2020, 21:54:53 »
Já pořád nějak nechápu, proč bych měl v PVLAN dělat proxy ARP, k čemu by mi to bylo?

No... tohle mi nejde moc do hlavy. Na ingressu přiletí paket. Poslat ho do obou VLAN by znamenalo, ten paket zdvojit/naklonovat a dát každé kopii jinou značku. Protože v paketu je VLAN tag jenom jeden. Pro "point to point" spojení (TCP relace) toto nedává smysl. Pro komunikaci jednotlivými pakety by to pro některé aplikace smysl mít mohlo... ale je to divoké.

Podle mě by neposílal dva packety. Představte si switch, který má jednu ARP pro všechny VLAN společnou. Potřebujete odeslat packet a zeptáte se Who Has IP a povolíte to proswištět do všech portů v obou VLAN. Odpoví však jen jeden konkrétní. Získáte MAC a pak už switch ví, kam další (L3) provoz posílat. VLAN fungují na mnoha switchích "jen" jako filtr, které porty vynechat při přepínání.


Re:Rozdělení switche - dodatek ohledně private VLAN...
« Odpověď #35 kdy: 22. 01. 2020, 23:04:45 »
Já pořád nějak nechápu, proč bych měl v PVLAN dělat proxy ARP, k čemu by mi to bylo?
No v technické rovině, pokud chcete aby na sebe "izolované" porty v rámci PVLAN navzájem neviděly, tak halt se nebudou vidět ani pro potřeby ARPu. Napřímo neproleze ani ARP request, ani ARP response. Proto jim bude promiskuitní default gateway dělat prostředníka ("proxy") i v tom ARPu. Potažmo skrz gateway pak poteče i všechen užitečný provoz.

A pokud se ptáte "ale k čemu to všechno", jako že konkrétní use-case / scénář... to je taky dobrá otázka. Třeba chceme šetřit adresním prostorem, proto všichni účastníci v jednom subnetu, ale zároveň nechceme, aby se navzájem ohrožovali, a jenom dost vyjímečně mají potřebu a nárok, bavit se navzájem zcela konkrétním a dobře filtrovatelným protokolem - a v tom případě je chceme nějak filtrovat routerem/firewallem (nad rámec toho, co zvládnou dnešní switche v hardwaru i "napřímo", a že toho zvládnou poměrně dost). Aneb dosaďte si své vlastní paranoidní zadání :-)

No... tohle mi nejde moc do hlavy. Na ingressu přiletí paket. Poslat ho do obou VLAN by znamenalo, ten paket zdvojit/naklonovat a dát každé kopii jinou značku. Protože v paketu je VLAN tag jenom jeden. Pro "point to point" spojení (TCP relace) toto nedává smysl. Pro komunikaci jednotlivými pakety by to pro některé aplikace smysl mít mohlo... ale je to divoké.

Podle mě by neposílal dva packety. Představte si switch, který má jednu ARP pro všechny VLAN společnou. Potřebujete odeslat packet a zeptáte se Who Has IP a povolíte to proswištět do všech portů v obou VLAN. Odpoví však jen jeden konkrétní. Získáte MAC a pak už switch ví, kam další (L3) provoz posílat. VLAN fungují na mnoha switchích "jen" jako filtr, které porty vynechat při přepínání.

A tak to potom jo, takhle tomu rozumím.
Tzn. v rámci switche se nerozhoduje podle VLAN tagu, ale podle ingressového portu a sady filtrů.
Tzn. dilemma nastane ve chvíli, kdy je případně třeba paket označkovat = na egressu do nějakého trunku, který nese obě VLANy.
BTW nepleťte si prosím ARP tabulku (L3) s FDB=CAM tabulkou (L2) - ale kromě toho jednoho slůvka se zbytkem souhlasím, včetně toho jak ARP request už si svého adresáta najde, a pak se naučí MAC adresa tázaného stroje na konkrétním portu (objeví se v CAM tabulce) - toto napříč dvěma VLANami (implementováno filtrem).

Re:Rozdělení switche - dodatek ohledně private VLAN...
« Odpověď #36 kdy: 22. 01. 2020, 23:10:45 »
A pokud se ptáte "ale k čemu to všechno", jako že konkrétní use-case / scénář... to je taky dobrá otázka. Třeba chceme šetřit adresním prostorem, proto všichni účastníci v jednom subnetu, ale zároveň nechceme, aby se navzájem ohrožovali, a jenom dost vyjímečně mají potřebu a nárok, bavit se navzájem zcela konkrétním a dobře filtrovatelným protokolem - a v tom případě je chceme nějak filtrovat routerem/firewallem (nad rámec toho, co zvládnou dnešní switche v hardwaru i "napřímo", a že toho zvládnou poměrně dost). Aneb dosaďte si své vlastní paranoidní zadání :-)

Jo takhle to myslíte. No asi jediné rozumné řešení je L3 switch a filtrovat to na IP. Druhé řešení, pokud nemáte L3 switch, je onen jeden port dát do extra VLAN a na routeru udělat bridge s filtrováním (což je de facto rozkouskovaný L3 switch :). Mrcasit se s proxy arp mi přijde šílené (zatím se mi vždy podařilo téhle šílenosti vyhnout, ale vlan+bridge+vlan už jsem řešil).

BTW nepleťte si prosím ARP tabulku (L3) s FDB=CAM tabulkou (L2)

Díky :).