Portál AbcLinuxu, 24. dubna 2024 00:42


Dotaz: Potrebuji Bridge? - dve ETH na stejnem subnetu

Lachmex avatar 9.6.2005 13:54 Lachmex | skóre: 11
Potrebuji Bridge? - dve ETH na stejnem subnetu
Přečteno: 352×
Odpovědět | Admin
Dobry den,

pred tim, nez budu karan za googleni, prosim Vas o radu... Mam nasledujici problem, jez mi vazne komplikuje zivot:

SUBNET 10.1.1.0/24 ETH0 (10.1.1.12/24) --- Slack. 10.0 Kernel 2.6.11 IPtables 1.3.1 --- ETH1 (10.1.1.13/24)

Potrebuji, aby co prijde z 10.1.1.x/24 na ETH1 bylo "preposlano" dal na ETH0 (10.1.1.0/24) a naopak.

Jsou-li na kazdem ETH jine subnety ci rozsahy, vse funguje jak ma, ale jsou-li obe ETH v rozsahu 10.1.1.0/24 nemuzu tuxe donutit, aby me to forwardoval/preroutoval dale.

Googlil jsem a nasel jsem cosi jako ebtables - trans. bridge, avsak nemam tuseni/zkusenost, zda li je mozne pres ebtables zaridit bridge a pres iptables filtrovani p2p (pouzivam IPP2P a Layer7 filtry a o QOS - HTB uz radeji mlcim)...

Prosim, prosim poradte, zda-li takova vec funguje (a jak) ci nemate nejaky lepsi napad, kterak to vyresit...

Dekuji Vam za Vas cas...

Jan Lachman
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.6.2005 14:41 vampi | skóre: 16 | blog: JenTakBlog
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
Odpovědět | | Sbalit | Link | Blokovat | Admin
zdravím, já jsem něco podobného zkoušel pomocí "bridge-utils" a chodilo to výborně :)

funguje to asi tak, že Ti z vybraných síťovek vytvoří nové virtuální "eth" zařízení, které si nazveš podle sebe - to pak funguje jako klasický switch :) a pokud už máš toto zařízení, není problém ho používat v iptables :)
cesta k dokonalosti je nekonečná - proto hledám jen jednoduchá funkční řešení :)
Lachmex avatar 9.6.2005 14:49 Lachmex | skóre: 11
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
dekuji Vam za tip, otestuji to...
9.6.2005 14:54 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu

V zásadě ani nemusíte, protože to co potřebujete vy, toho tím nedosáhnete. Na bridgovaném rozhraní můžete provozovat řekněme lokální firewall a filtrovat provoz pro stroj, na němž ten bridge běží. Ale nemůžete (běžným způsobem) filtrovat provoz forwardovaný z jednoho rozhraní na druhé - ta mašina totiž neroutuje a nic neví o 3. síťové vrstvě, takže iptables si nepřijdou k lizu. Existují paketové filtry i pro bridge, ale ty fungují na 2. vrstvě a můžete filtrovat tak jako podle MAC adres a tím to hasne.

Vy se snažíte udělat switch chovající se jako router a zároveň router chovající se jako switch, pokud možno z každého trochu. Výsledek jaksi z podstaty věci nebude uspokojivý.

9.6.2005 15:00 vampi | skóre: 16 | blog: JenTakBlog
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
myslím si, že pokud budu mít ETH0 a ETH1 spojené do bridge a na ETH3 případně PPP0 budu mít inet, tak si iptables k lizu přijdou - na druhou stranu jsem toto konkrétně nezkoušel a tak je to pouze má teorie :)
cesta k dokonalosti je nekonečná - proto hledám jen jednoduchá funkční řešení :)
9.6.2005 15:10 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu

Ano, mezi bridgem a dalším rozhraním iptables samozřejmě fungují. Ale to jaksi nijak nesouvisí s prostým faktem, že nefungují mezi dvěma rozhraními spojenými do bridge.

9.6.2005 15:16 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
Minimálně s ipf (*BSD) to určitě jde a na Linuxu by to snad mohly umět ebtables.
10.6.2005 10:55 Beda
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
2.4 jadro s patchi z netfilter.org + user space iptables, arptables a ebtables s patchi z netfilter.org, iproute2.

nebo 2.6 jadro s patricnymi volbami a user space utilitkami.

jde udelat dokonce i hnusnejsi scenar nez filtrovany bridge... jde totiz pri patricnym nastaveni pomoci iproute2 udelat castecne routovane a castecne bridgovane a cele filtrovane prostredi. je na to to nejaky howto - obsahuje v nazvu bridge nebo bridging a router nebo routing a mozna i firewall. ale tusim jen anglicky.
9.6.2005 14:47 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Lepší nápad jak to vyřešit by se určitě našel. Ale, otázka zní, co je vlastně potřeba řešit? Co vás přivedlo k uspořádání mít dvě sítě se stejnou síťovou adresou? Pak to samozřejmě principiálně routovat nebude. Ne že by neexistovala řešení, jak to obchcat, ale spíš by mě zajímalo, proč si tímto způsobem vůbec začínat komplikovat život...

9.6.2005 14:54 vampi | skóre: 16 | blog: JenTakBlog
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
předpokládám, že naopak "dvě sítě" mít nechce :) pomocí bridge-utils se totiž bude vše tvářit jako jedna síť s adresami ve stejném rozsahu - budou se "routovat" broadcasty a multicasty :)
cesta k dokonalosti je nekonečná - proto hledám jen jednoduchá funkční řešení :)
9.6.2005 15:01 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu

Pak je to ovšem velmi smutný příběh. Pokud nechci mít dvě sítě, ale chci mezi těmito dvěma sítěmi mít router, paketový filtr, řízení rychlosti a nevím co ještě, pak mám sakra problém.

Ocituju tady výrok tuším Pavla Kaňkovského z linuxové konfery - mám ho pověšený nad stolem, protože je velmi poučný: Spousta lidí stráví strašnou energii řešením problémů cestou, která je ve skutečnosti úplně úchylná, akorát se nějakým záhadným řízením osudu stala 'standardním řešením'. Na právě řešený problém se ten výrok vztahuje naprosto bezezbytku.

Lachmex avatar 9.6.2005 15:03 Lachmex | skóre: 11
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
ono se to zda jako nesmysl, ale verte ze v konecnem dusledku mi to ma usnadnit mnoho problemu... Proble se ma tak:

mam router (qos, sledovani trafficu, uctovani a pod.), web server (stranky, vystupy sledovani a on-line sprava qos)... a pak velke mnozstvi lidicek na zminenem subnetu. Lidicky jsou propojeni wifi a stahujou o 106. Proble spociva v tom, ze jedine omezeni, ktere na ne plati je na primarnim routeru odkud to jde dal na ISP. Bohuzel vsak tim, ze router "filtruje" traffic az pred "odeslanim" ISP je wifi vytizena na maximum trafficem, ktery je v podstate zbytecny. Myslenka je takova, ze meho noveho tuxika dam kamsi mezi, cimz wifi znacne pomuzu, ale byl-li by to dalsi subnet, nemohl bych zachovat soucasny system definice qos a souvisejici pravidla, resp. dalsi problemky s tim souvisejici. Proto jsem zvolil tuto "krkolomnou" avsak velmi efektivni (testovano na RouterOS Microticu) variantu, jez mi poskytuje jisty komfort spojeny se zachovanim existujiciho rozlozeni subnetu.

Doufam, ze je me vysvetleni srozumitelne - chapu ze pro nekoho hure stravitelne - nicmene velmi efektivni... Tedy alespon z meho pohledu, ale nevylucuji, ze se mohu plest. Prece jen jsem jenom clovek a taky mi to obcas mysli velmi jednotvarne...

Dekuji Vam za Vas cas, dotaz a zajem.

Jan Lachman
9.6.2005 15:08 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu

To chápu. A jsem stoprocentně přesvědčen, že vámi zvolená cesta vede do pekel, a že vytvoření nového síťového subnetu, změna nastavení QoS a tradiční routování bude v konečném důsledku podstatně méně práce, než se snažit zprznit bridge, aby dělal něco, co principiálně neumí a musí se k tomu přemlouvat celou soustavou vzájemně si zavazejících obezliček.

Lachmex avatar 9.6.2005 15:35 Lachmex | skóre: 11
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
hmmm, dobre, vezmeme-li v uvahu, ze mate pravdu, proc tedy RouterOS od Microticu toto umi a nema s tim zadny problem (m.j. nemyslim si, ze by RouterOS byl psan nejakymi przniteli RFC, ISO/OSI atp...) a nutno jeste podotknout, ze ten jejich "routerOS" se opravdu chova velmi profesionalne (tedy alespon z meho pohledu). Vite me mrzi jedna vec. Kdykoliv se dostanu do stavu, kdy nekoho pozadam o pomoc/radu zacne kolem sebe hazet tunou ruznych argumentu a poucek proc to delat jinak, ale nenapadne ho zamyslet se nad problemem se zadanim, jake je a ne hledat jina (v tomto pripade neefektivni a to nejen z hlediska casu) reseni. Jsem velmi rad, ze se najdou lide, kteri poradi a ne ze kritizuji reseni ktere napadnou nekoho jineho (tim nemyslim jen sebe).

Vcera jsem se potykal s DNS resp MX.. A byl jsem kolegou presvedcen o obecne a hojne uzivanem nesmyslu. Velke mnozstvi domen ma MX smerovano na napr. mail.domena.cz ackoliv je o kus nize zase zaznam CNAME, ze mail.domena.cz je server1.domena.cz a podobne. Proste MX smerujici na CNAME a pak az nakonec na A zaznam. Ono je to celkem zajimave, jak se tato vec bez realneho opodstatneni celkem hojne pouziva, ackoliv je to krkolomnost sama.

Pouzil jsem to pouze jako priklad a jsem si jist, ze by to byl namet na dosti dlouhou diskuzi, ale myslim, ze to presne vystihuje problem - ne kazda zvolena cesta, jen proto, ze ji pouziva kazdy, vede spravnym a nejkratsim smerem...

Jen doufam, ze se nad tim nekdo zamysli a nez zacne kritizovat, co toho cloveka k dane uvaze vede a co si od toho slibuje ? A az po zrale uvaze napisu varianty, ktere me napadaji...

Dekuji Vam vsem, za podnetne napady a pripominky, verte, ze si toho vazim...

P.S> Vyse uvedeny kriticky text neberte prilis osobne, pouze se snazim naznacit, ze nehledam jina zadani, ale reseni, jez vyresi to, ktere mam...

Jeste jednou dekuji Vam vsem

Jan Lachman
9.6.2005 15:54 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu

1. Kolega je zjevně vůl a žere psy. RFC 1912: Don't use CNAMEs in combination with RRs which point to other names like MX, CNAME, PTR a NS. ... [RFC 1034] in section 3.6.2 says this should not be done, and [RFC 974] explicitly states that MX records shall not point to an alias defined by a CNAME.

2. Říkáte-li, že RouterOS od Microsticu to umí, nemám důvod vám nevěřit. Moje žena umí vařit. Jak to všechno vzájemně souvisí?

3. Dobrá tedy. Pokud trváte na svém původním požadavku a původním zadání, pak použijte bridge-utils a ebtables. Přiznám se, že vůbec nevím, jestli na takovém řešení je možné provoz shapovat, ale za zkoušku nic nedáte.

9.6.2005 16:06 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu

Ale, jak nad tím tak přemýšlím, napadá mě řešení, které by mohlo být funkční a nemusíte vyrábět a routovat novou IP podsíť. Nastavte na rozhraní směrem k providerovi 10.1.1.12/28, s providerem se domluvte, ať na svém routeru (předpokládám 10.1.1.1/24) nastaví rovněž 10.1.1.1/28 + routing 10.1.1.0/24 via 10.1.1.12. Na druhém rozhraní svého stroje nemůžete nechat 10.1.1.13/24, ale nastavte tam 10.1.1.16/24 nebo vyšší. Strojům v té wireless síti musíte změnit def-gw ze stávající (asi) 10.1.1.1 na oněch 10.1.1.16 a mělo by to jet. Na tom routeru pak můžete naprosto běžným způsobem provozovat jakékoliv filtry a shapery.

Nebo samozřejmě nějak jinak podobně, ale předpokládám, že základní myšlenka je jasná, ne?

9.6.2005 16:58 petr_p
Rozbalit Rozbalit vše Re: Potrebuji Bridge? - dve ETH na stejnem subnetu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud vam jde pouze o routovani mezi rozhranimi na stejne IP siti (a nepotrebujete skutecny bridge). Pak lze pouzit ARP proxy a asymetricke routovaci tabulky.

Pokud se vam ARP proxy nelibi (v zasade je vhodne tam, kde jedno rozhrani fuguje jako up-link na default gw), muzete zkusit "advanced routing". Zakompilujte si to do kernelu a pak pomoci ip route muzete vesele nastavovat routovani podle jinych kriterii nez je cilova IP adresa (napr. podle vstupniho rozhrani).
Lachmex avatar 10.6.2005 15:10 Lachmex | skóre: 11
Rozbalit Rozbalit vše Reseni...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Uvodem Vam vsem dekuji za rady - uz to funguje - a mozna by i nekoho mohlo zajimat jak:

nutno poznamenat, ze muj kernel je jiz "trochu" upraven a to nasledujicimi lahudkami:
Kernel 2.6.11
krasnym balikem patchu pro IMQ, IPP2P, L7-filters, ebtables ...
(pozn.: Kernel 2.6.11 potrebuje jeste patch na "udp_v4_lookup" jez naleznete take na vyse uvedenem odkazu)

Dale nasleduji zdroje iptables 1.3.1 a ebtables, radne opatchovany a kompilovany, baliky IPP2P a L7-filters jsou samozrejmosti.
balik "bridge-utils" mi opravdu pomohl

pak uz jen stacilo:
brctl addbr br0
brctl stp br0 off
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 10.1.1.12 netmask 255.255.255.0
ifconfig eth0 0.0.0.0
route del -net 10.1.1.0 netmask 255.255.255.0 dev eth0
route add -net 10.1.1.0 netmask 255.255.255.0 dev br0
route del default gateway $DEFAULT_GW dev eth0
route add default gateway $DEFAULT_GW dev br0

Dale pouzivam HTB a CBQ na shapovani pres IMQ, coz prekvapive funguje i na BR0(bridge) a filtry/pravidla iptables pracuji take a zda se, ze korektne... Jen je treba pohrat si s takovou malou drobnosti jako je:
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

Pokud by k tomuto reseni mel nekdo nejake otazky, napady ci konstruktivni kritiku, dejte vedet.... Jinak jeste jednou - Dekuji Vam vsem Jan Lachman

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.