Možnosti DHCP snoopingu, relayingu a podpora multicastingu na DSLAM Zyxel IES-1000 Petr Ličman Tomáš Horčičák Martin Walach Abstrakt: Práce je zaměřena na popis možností a konfigurace ADSL DSLAMu v oblasti DHCP snoopingu a relayingu, a také multicastingu a jeho podpory. Popsána je jak teoretická část, tak také praktická konfigurace a příklady. Klíčová slova: DHCP, snooping, relaying, multicasting, DSLAM, ADSL 1 Úvod................................................................................................2 1.1 DHCP snooping a relaying.......................................................2 1.1.1 DHCP snooping ................................................................2 1.1.2 DHCP relaying...................................................................2 1.2 Multicasting.............................................................................2 1.2.1 Princip...............................................................................2 1.2.2 Multicastové skupiny.........................................................3 1.3 Specifikace DSLAM IES-1000, modul AAM1212.....................4 2 Modelová situace............................................................................5 2.1 Topologie pro DHCP relaying...................................................6 2.2 Topologie pro DHCP snooping.................................................6 2.3 Topologie pro multicasting.......................................................7 3 Konfigurace.....................................................................................7 3.1 Základní konfigurace DSLAMu................................................7 3.2 Připojení klientů.......................................................................8 3.3 Nastavení DHCP relayingu.......................................................9 3.3.1 Relaying na DSLAMu.........................................................9 3.3.2 Konfigurace DHCP služby v prostředí Linux.....................9 3.4 Povolení DHCP snoopingu......................................................10 3.5 Možnosti multicastingu..........................................................10 3.5.1 Statické směrování multicastu........................................11 3.5.2 Dynamická registrace pomocí IGMP...............................12 4 Závěr.............................................................................................13 5 Literatura......................................................................................14
květen 2008
1/18
1
Úvod
Cílem projektu je prozkoumat možnosti DHCP snoopingu a relayingu DHCP žádostí na DSLAM Zyxel IES-1000. Druhou samostatnou částí je pak průzkum možnosti podpory multicastingového provozu.
1.1
DHCP snooping a relaying
1.1.1
DHCP snooping
DHCP snooping je bezpečnostní funkce, která zabraňuje tomu, aby v sítích, kde jsou adresy přidělovány dynamicky, mohl kdokoliv připojit další DHCP server. Pokud by někdo v síti bez DHCP snoopingu připojil druhý server, docházelo by při přidělování IP adres ke kolizím, případně by stanice mohly dostávat IP adresy jiného rozsahu a síť by se tak stala nefunkční pro tyto stanice. Myšlenka DHCP snoopingu je taková, že po zapnutí jsou všechny porty brány jako nedůvěryhodné (untrusted) a za provozu některé nastavujeme jako důvěryhodné (trusted), podle aktuální situace (např. Dle DHCP žádostí). Jako důvěryhodný musíme nastavit ten port, kde je připojen DHCP server a pak porty, kterými jsou propojeny switche. Pokud přijde například přidělení adresy (nebo jakýkoliv paket z DHCP serveru) z nedůvěryhodného portu, tak je paket zahozen. Zároveň se může vytvářet DHCP Snooping Binding Database, která obsahuje informace o všech přidělených IP adresách spolu s MAC adresami, VLAN, časem pronájmu a informacemi o rozhraní. Pak se každý příchozí paket kontroluje oproti této databázi a v případě nesouhlasu se zahazuje. Této vlastnosti lze využít pro blokování klientů se statickou IP adresou. Port je blokován, dokud z něj není přijata DHCP žádost a na ni zaslána odpověď. Řídící prvek (switch, zde DSLAM) si vede informace o IP adresách přidělených pro jednotlivé porty a pouze provoz z těchto adres je povolen.
1.1.2
DHCP relaying
DHCP relaying se využívá v situacích, kdy máme pouze jeden DHCP server a několik propojených sítí. Princip funkce je takový, že relay agent přijímá požadavky stanic na DHCP ze sítí bez DHCP serveru a přeposílá je do sítě, kde běží DHCP server. K tomuto požadavku agent přidá adresu a masku té sítě, ze které požadavek přichází, aby DHCP server mohl rozhodnout, z kterého rozsahu přidělit IP adresu. DHCP požadavky většinou zachytává a přeposílá určený router, v tomto případě tuto funkci nabízí i DSLAM.
1.2
Multicasting
1.2.1
Princip
V situacích, kdy je třeba zasílat stejná data více klientům, lze využít možnosti multicastového vysílání. Jedná se o jeden ze tří možných druhů přenosu. Unicastové znamená bod – bod, broadcastové je všesměrové (na všechny IP adresy) v rámci dané sítě, multicastové je vícesměrové přes více sítí. Pro zajištění (a odlišení) provozu multicastového vysílání slouží speciální rozsah IP adres začínající 224.0.0.0 a končící 239.255.255.255. IP adresa z tohoto rozsahu nesmí být přidělena stanici, označuje skupinu vícesměrového vysílání. Stanice odesílá UDP pakety (TCP nelze z principu použít) s cílovou adresou multicastové skupiny. Router tomuto vysílání naslouchá a pokud je požadavek na příjem, směruje tento květen 2008
2/18
provoz do další sítě. Požadavek na příjem může být dán staticky přímo v daném prvku (DSLAM, switch) pomoci zápisu MAC adresy vypočtené z IP multicastové skupiny, nebo vytvořen dynamicky pomocí protokolu IGMP. Jakmile chce klient přijímat multicastový provoz, odešle (zajišťuje systém) paket IGMP protokolu s žádostí o registraci do skupiny. Protokol IGMP se vyskytuje ve třech verzích. Zrušení příjmu multicastové skupiny lze zajistit opět protokolem IGMP nebo prostým vypnutím příjemce. Routery se intervalově dotazují klientů, zda stále chtějí skupinu přijímat a pokud neobdrží odpověď, přeposílání dané multicastové skupiny zastaví. Přínos multicastingu je ve snížení zátěže přenosových linek, neboť se provoz dělí až v nezbytně nutném místě a neprobíhá souběžný přenos stejných dat (na rozdíl od unicastového vysílání). Nevýhoda pak spočívá v nutnosti použití protokolu UDP a nemožnost na něm aplikovat jakoukoliv kontrolu doručení dat. Další nevýhoda se týká nemožnosti zjistit příjemce dat, kdo přesně poslouchá a zda vůbec někdo poslouchá. Z těchto vlastností se jeví jako nejvhodnější použít multicasting např. na veřejné televizní vysílání. Vlastnosti multicastového provozu: 1. zasílání stejných zpráv cílové skupině (stejná skupinová adresa) 2. Jeden vysílač a více posluchačů zprávy 3. posluchači – žádný, jeden, více (nedá se zjistit kdo zprávu poslouchá) 4. obdoba broadcastu, ale pakety se neposílají všem 5. umožňuje jeden paket přenést více uživatelům (výhody pro streamované video,zvuk,...) Typické aplikace: 1. distribuce vysílání videa, hlasu 2. videokonference 3. vyhledávání služeb Nevýhody: 1. nejistota doručení dat 2. životnost paketů (TTL) 3. nevíme kolik posluchačů poslouchá, bezpečnost posílaných dat 4. mapování IP adres multicastových skupin na MAC adresy (neřeší ARP) 5. zajištění šíření multicastů (kopírování paketů) jen do větví sítě, kde je zájem o příjem příslušné skupiny Výhody: 1. snížení zahlcování linek (jeden paket pro více příjemců) 2. pakety se kopírují až v místech, kde se datový tok rozděluje do více větví sítě obsahujících příjemce multicastové skupiny. 3. šíření i mimo lokální sítě
1.2.2
Multicastové skupiny
1. Skupiny jsou "otevřené" - může do nich vysílat i stanice, která není členem skupiny 2. Do skupiny se může přihlásit kterákoli stanice 3. Stanice může být členem i více skupin 4. Adresování multicastových skupin v IP 5. Adresy třídy D: 224.0.0.0 – 239.255.255.255
květen 2008
3/18
1.3
Specifikace DSLAM IES-1000, modul AAM1212
Default IP Address Default Subnet Mask User Name Default Password Power Specification Interface
System Management
Other Features
květen 2008
192.168.1.1 255.255.255.0 (24bits) admin 1234 15V DC 25Watts One Telco-50 connector: 12 ADSL2+ Ports (Pin 1-12 and 26-37 for CO, Pin 14-25 and 39-50 for USER) One mini RJ11 console port for local management Two 10/100BASE-T Ethernet ports for uplink Embedded Web Configurator (HTTP) CLI (Command Line Interpreter) Remote Management via Telnet or Web SNMP manageable Firmware Upgrade (web configurator, FTP) MAC filtering MAC count limiting Acces Control List Hardware-based multicasting IEEE 802.1Q VLAN Tagging GVRP IEEE 802.1p CoS with priority queuing IEEE 802.1w RSTP IGMP v1 & v2 snooping DHCP relay option82 IEEE 802.1x Port-based Authentication SNMP v1 & v2c
4/18
2
Modelová situace
DSLAM poskytuje připojení jednotlivých stanic (modem + PC) i celých sítí (router s ADSL rozhraním) pomocí technologie ADSL, kde působí jako řídící prvek. Spojení DSLAM – modem je tvořeno telefonní linkou a může měřit od několika metrů až do maximální vzdálenosti 8km[5]. V modelové situaci je dále přes jeden ethernetový port (RJ45) a dále přes router připojen DHCP server, na který jsou přeposílány DHCP žádosti, a ten přiděluje klientům IP adresy. Na jednotlivých portech (kromě ENET) je nastaven DHCP snooping, tedy blokování nežádoucích DHCP serverů a klientů se statickou IP adresou. Linky Ethernet jsou typu 100Mbps, telefonní linky jsou nakonfigurovány na
Obrázek 1: Celková topologie ADSL v1, 8Mbps/1Mbps, aktuální rychlost je závislá na schopnostech cílového zařízení a na kvalitě a vzdálenosti spojení. K centrálnímu prvku, DSLAM ZyXEL [1], jsou připojeni dva klienti. Použity jsou routery Cisco s rozhraním ATM (ADSL) a tyto routery jsou nakonfigurovány v režimu bridge, tzn. transparentní spojení mezi ADSL a ethernet rozhraním. K těmto routerům jsou běžným ethernetovým TP kabelem připojeny klientské PC stanice. Dále je pomocí switche k DSLAMu připojena konfigurační stanice, která slouží i pro vysílání testovacího multicastového provozu, a router. Tento router zajišťuje případné připojení klientů k síti internet (nepoužito v rámci projektu) a připojení DHCP serveru pro účely přiřazováni IP adres klientům a ověření funkcí DHCP snooping a relaying. květen 2008
5/18
Jako DHCP server byl použit daemon DHCP v systému Linux. Na routeru sítí A a B není použito žádné zvláštní nastavení, žádný směrovací protokol ani statické cesty, protože směruje pouze mezi dvěma známými přímo připojenými sítěmi. Switch nacházející se v DSLAMu má vypnutou volbu Port Isolation, díky čemuž je umožněn provoz i mezi oběma připojenými klienty. V topologii je uvedeno i místo, kde by mohl vést spoj do internetu. V testovací topologii však toto spojení nebylo realizováno. Statické IP adresy jsou přímo uvedeny, dynamicky přidělované jsou označeny „DHCP“
2.1
Topologie pro DHCP relaying
Topologie je shodná s obecnou. V DSLAMu je povoleno a nakonfigurováno přeposílání DHCP žádostí na IP adresu DHCP serveru 192.168.2.2. Dále má DSLAM nastavenou výchozí bránu na router segmentů A a B. DHCP server se nachází v segmentu B, jedná se o jinou síť než ve které se nachází DSLAM a klienti ADSL. Také má nastavenou výchozí bránu na router a je konfigurován pro přidělování IP adres síti segmentu A, 192.168.1.0/24.
květen 2008
6/18
Obrázek 2: Topologie pro DHCP relaying
2.2
Topologie pro DHCP snooping
Z principu je identická s topologií a adresováním pro DHCP relaying. DHCP snooping se týká pouze volby nastavení v konfiguračním rozhraní DSLAMu, topologii není třeba měnit.
květen 2008
7/18
2.3
Topologie pro multicasting
Pro otestování provozu multicastového vysílání není využita celá obecná topologie sítě, ale pouze část. Směrování provozu zajišťuje DSLAM a ten je konfigurován. Pro ověření možností a funkce proto byla zvolena jedna vysílací stanice připojená na rozhraní ENET (RJ45) a dva posluchači v podobě klientů ADSL. Vysílací stanice odesílá UDP pakety s cílovou adresou multicastové skupiny a DSLAM tento provoz přeposílá staticky nastavenou cestou (MAC adresa) na klienta 1 a pomocí protokolu IGMPv2 umožňuje dynamicky zaregistrovat dalšího posluchače, zde klienta 2.
Obrázek 3: Topologie pro test multicastu
3
Konfigurace
DSLAM ZyXEL IES-1000 obsahuje webové konfigurační rozhraní, přístupné přes libovolný www prohlížeč zvládající JavaScript.
3.1
Základní konfigurace DSLAMu
Mezi základní nastavení patří IP adresa, maska a výchozí brána DSLAMu. IP adresa slouží pro přístup přes konfigurační webové rozhraní a pro příjem odpovědí z DHCP serveru v režimu relaying. Výchozí brána taktéž slouží k účelům DHCP relayingu a jsou na ni posílány unicastové DHCP žádosti směřující do jiné sítě, ve které se nachází DHCP server. Tato konfigurace se nachází pod volbou „Basic Setting“ a „IP Setup“
květen 2008
8/18
Obrázek 4: Základní konfigurace Zvolené parametry: IP: 192.168.1.1 IP mask: 255.255.255.0 Default Gateway: 192.168.1.2 Mezi další položky základní konfigurace patří parametry ADSL portů. Ty jsou ve výchozím stavu nastaveny na PVC 0/33 a rychlost 8Mbps/1Mbps, PPPoA. Tyto parametry není nutné měnit.
3.2
Připojení klientů
Klientské stanice jsou připojeny pomocí R1 routeru C1700 nakonfigurovaného [4] v režimu bridge, který je tak transparentní pro 3. vrstvu OSI (IP). Bridge má ATM rozhraní, kterým je připojen na ADSL port DSLAMu a ethernetový port, na který je připojeno PC. Konfigurační skript: bridge irb ! interface ATM 1/0 no ip address interface ATM 1/0.1 mac-address 0008.e3fb.a67c no ip address pvc 0/33 encapsulation aal5snap ! bridge-group 1 ! interface FastEthernet 0/0 no ip address bridge-group 1 ! interface BVI1 ip address dhcp květen 2008
9/18
! bridge 1 route ip
3.3
Nastavení DHCP relayingu
Konfigurace DHCP relayingu se týká jak samotného DSLAMu tak také DHCP serveru běžícího na platformě Linux, na který budou přeposílány žádosti.
3.3.1
Relaying na DSLAMu
DHCP relaying se konfiguruje ve dvou krocích. Nejprve je nutné jej globálně povolit a po té nastavit pro konkrétní VLAN cílový DHCP server. DSLAM umožňuje určit také záložní server, pokud z primárního nedostane odpověď. V menu zvolíme „Advanced Application“ a zde „DHCP Relay“. Nejprve je nutné celou funkci povolit zatrhnutím volby „Enable DHCP Relay“ a potvrdit tlačítkem Apply. Pak zvolíme VLAN (zde ponechána výchozí 0, VLAN není předmětem konfigurace) a IP adresu zvoleného DHCP serveru („Primary Server IP“) pro příjem žádostí. Je také možné nastavit záložní server a případně zvolit, který z nich bude použit jako první („Active Server“). Nastavení opět potvrdíme tlačítkem Apply. V tabulce, která je zobrazena níže, musí být zobrazen nově přidaný záznam.
Obrázek 5: Nastavení relayingu Zvolené parametry: Enable DHCP Relay: Ano VLAN ID: 0 Primary Server IP: 192.168.2.2 Active Server: Primary
3.3.2
Konfigurace DHCP služby v prostředí Linux
DHCP daemon v systému Linux má konfigurační soubor dhcpd.conf umístěn v /etc/dhcpd. Obsahuje poměrně jednoduchou konfiguraci pro přidělování IP adres. Zákvěten 2008
10/18
kladem je blok udávající adresu a masku sítě, pro kterou má služba pracovat. Po té následuje rozsah adres, které mohou být přiděleny. Při konkrétní aplikaci bylo nutné nakonfigurovat DHCP daemona nejen pro síť segmentu A 192.168.1.0, ale daemon také vyžadoval konfiguraci pro lokální síť, do které patří síťové rozhraní DHCP serveru, eth0. Obsahem konfiguračního souboru jsou tedy dva bloky nastavení a parametrů. Spouštění služby v Linuxu se mírně liší v různých distribucích, obecně se provádí příkazem „service dhcpd start“ nebo případně spuštěním daného souboru služby, např „dhcp-server start“ , dále je možné provést „stop“ pro zastavení nebo „restart“ pro restartovaní služby, které je vhodné například pro načtení nové konfigurace. Obsah konfiguračního souboru: subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.3 192.168.2.254; } subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.4 192.168.1.254; option routers 192.168.1.2; }
3.4
Povolení DHCP snoopingu
DHCP snooping je v DSLAMu implementován s určitým předem daným chováním. V menu „Advanced Application“ a „DHCP snoop“ povolíme DHCP snoop pro vybrané porty, pouze označením Select a tlačítkem Active. Nejsou zde k dispozici žádné další parametry. Výsledkem zapnutí této funkce bude blokování uživatelů, kteří si nastaví statickou IP adresu. DSLAM si vede databázi přiřazených IP adres z DHCP na jednotlivých portech, a pouze provoz z těchto adres povoluje. Na jednom portu může být více IP adres, tzn. více klientů na jednu linku ADSL. DHCP servery jsou blokovány na ADSL portech vždy, i při vypnutém DHCP snoopingu a není tak možnost, i v případě, že by jsme tomu tak chtěli, provozovat DHCP server na portu ADSL. Blokování serverů není samozřejmě pouze na ethernetových portech, kterých se také netýká DHCP snooping. Pod položkou DHCP Counter se skrývá tabulka zobrazující kolik žádostí a odpovědí bylo provedeno na každém z portů. DHCP Snoop Status pak informuje o přiřazených a povolených IP adresách pro jednotlivé porty.
květen 2008
11/18
květen 2008
12/18
květen 2008
13/18
Obrázek 6: Nastavení snoopingu
3.5
Možnosti multicastingu
DSLAM IES-1000 umožňuje směrování multicastového provozu ve dvou konfiguračních režimech: staticky předkonfigurovaný a dynamicky „řízený“ pomocí protokolu IGMP v1 a v2. Jiné protokoly nejsou podporovány. K testování provozu byla použita aplikace UDPMulticastTest [3] (obrázek 7) v prostředí Windows. Tato aplikace umí generovat i přijímat provoz multicastového vysílání a obsahem vysílání je textová zpráva.
Obrázek 7: Aplikace UDPMulticastTest
květen 2008
14/18
3.5.1
Statické směrování multicastů
V menu „Advanced Application“ zvolíme „Static Multicast“. Zde je k dispozici pole pro zadání MAC adresy vypočtené z IP adresy multicastové skupiny. Pro testování jsme použili 234.56.78.90 a proto odpovídající MAC adresa je 01:00:5e:38:4e:5a. Po přidání adresy do tabulky můžeme povolit tuto skupinu pro jednotlivé porty, „V“ znamená povoleno, „-“ je zakázáno. Nastavení se projeví okamžitě.
Obrázek 8: Nastavení statického směrování
3.5.2
Dynamická registrace pomocí IGMP
Vhodnější možností směrování multicastů je na základě požadavků klientů pomocí protokolu IGMP. DSLAM ZyXEL IES-1000 zvládá pouze IGMP verze 1 a 2, bohužel nikoliv verzi 3, která je výchozí například u systému Windows XP. Verzi používaného IGMP protokolu ve Windows lze snadno změnit úpravou hodnoty v systémovém registru [2] . Nutná úprava: Klíč: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Vytvoření nové DWORD hodnoty s názvem „IGMPVersion“ a přiřazení hodnoty „3“ (odpovídá IGMP v2) Následná konfigurace DSLAMu pro protokol IGMP se týká jeho povolení. V hlavním menu „Advanced Application“ pod volbou „IGMP“ se nachází položka „IGMP mode“, kterou je potřeba nastavit na hodnotu „Snooping“. Význam je obdobný jako u DHCP snoopingu, multicastový provoz je blokován, dokud není z daného portu přijata registrace do skupiny pomocí IGMP.
květen 2008
15/18
Obrázek 9: Povolení IGMP
Pod položkou IGMP status nalezneme další možnosti a informace o aktuální situaci IGMP a multicastových skupin na jednotlivých portech, počty IGMP skupin a žádostí.
Obrázek 10: IGMP přehled
Další možná konfigurace se týká „Filter Setup“, kde je možné zakázat (filtrovat) některé multicastové skupiny. Zde je možné v rámci jednoho profilu filtrovat 16 různých rozsahů IP adres. Tento profil lze pak přiřadit pro ADSL porty. Jeden port může mít přiřazen pouze jeden profil.
květen 2008
16/18
Obrázek 11: Nastavení filtru Testovací aplikace UDPMulticastTest byla spuštěna pro skupinu 234.56.78.90 jako vysílač na stanici 1 (192.168.1.3), která je pomocí switche připojena na ENET rozhraní DSLAMu a simuluje tak příchozí provoz z internetu. Zde bylo otestováno jak statické směrování, tak také pomocí registrací klientů protokolem IGMPv2. Na klientských PC pak byl UDPMulticastTest spuštěn v přijímajícím režimu, systém Windows byl nakonfigurován pro protokol IGMP verze 2. Nastavení je omezeno jen na výše zmíněné a prakticky odzkoušené postupy, parametry se projevují ihned v praxi. DSLAM ZyXEL IES-1000 nenabízí žádné další možnosti a širší podporu multicastingu, zejména velkým nedostatkem může být chybějící podpora IGMP v3. Starší verze tohoto protokolu však fungovala bezproblémově.
4
Závěr
Konfigurace DSLAMu je díky jeho webovému rozhraní poměrně přehledná a intuitivní záležitost, všechna nastavení jsou dostupná několika kliknutími myši, navíc přehledně řazená. Během konfigurace a testování se vyskytly pouze dvě menší komplikace, první se týkala verze IGMP protokolu, která se musela změnit nastavením v registrech systému Windows, druhá pak DHCP serveru a nutnost konfigurace daemona i pro síť (segment B) rozhraní eth0. Konfigurace routeru byla bezproblémová. Ukázalo se, že DSLAM umí pracovat pouze s IGMP verzí 1 a 2, bohužel verzi 3, která je rozšířená na Windows XP nezvládá. Co se týče snoopingu a relaiyngu je podporováno obojí. DHCP Snooping se dá aktivovat na libovolných ADSL portech, tím možnosti nastavení snoopingu končí. Zjistili jsme, že DSLAM standardně blokuje případný výskyt DHCP serveru u klienta a nastavení snoopingu spočívá v zakázáni statické adresy na stanici klienta. Nastavení relayingu je také snadné, stačí jeho povolení a nastavení IP adresy DHCP serveru. Nastavení multicastu není komplikovanější než výše zmíněné DHCP, jen je zde znatelně více možností nastavení. DSLAM taky květen 2008
17/18
umožňuje sledovat různé statistiky komunikace na portech v přehledných tabulkách, které se průběžně aktualizují podle nastaveného časového intervalu.
5
Literatura [1] AAM1212-51/53 : ADSL2+ module of IES-1000, User's Guide. 1st edition. [s.l.] : ZyXEL, c2006. 435 s., 1 CD-ROM. [2] Configure Windows XP to Use IGMP Version 1 or Version 2 Support. Microsoft - Pomoc a podpora [online]. 2007 [cit. 2007-11-04]. Dostupný z WWW: . [3] UDP Multicast program. Dostupný z WWW: . [4] Konfigurace DSL na Cisco routeru [5] Asymetric Digital Subscriber Line. Dostupný z WWW:
květen 2008
18/18