Virtlab:Komponenty/Tunelovací server
Z VirtlabWiki
Verze z 10:10, 15. 10. 2007 Vav166 (Diskuse | příspěvky) ← Předchozí porovnání |
Aktuální verze Kuc274 (Diskuse | příspěvky) |
||
Řádka 1: | Řádka 1: | ||
- | * má síťová rozhraní k lokálnímu segmentu virtuálního spojovacího pole (trunk do spojovacích prvků C3550) a do Internetu | + | Při návrhu distribuované varianty virtuální síťové laboratoře se ukázala potřeba propojovat dvě i více vzdálených zařízení do jednoho virtuálního ethernetového segmentu a to dynamicky, podle potřeby uživatele. Navíc bylo potřeba počítat s tím, že v každé lokalitě může být zařízení, které má být do virtuálního ethernetového segmentu, připojeno do jiné VLAN. Při zkoumání možných řešení nebyl nalezen žádný vhodný existující software pro tunelování VLAN, a proto bylo přistoupeno k implementaci vlastního řešení. |
- | * podle své konfigurace tuneluje rámce vybraných VLAN přicházející z lokálního segmentu virtuálního spojovacího pole k příslušným tunelovacím serverům jiných lokalit a opačně | + | |
- | ** umí i kopírovat rámce do více VLAN | + | |
- | *umožňuje přemosťovat mezi lokálními VLAN (kvůli propojování simulovaných laboratorních prvků připojených ke konstantě přiřazeným VLAN) | + | |
- | Později předpoklad doplnění návaznosti na enkapsulační server synchronních rozhraní | ||
- | ==Zprovoznění USB-Ethernet převodníku== | + | Tunelovací server je jeden ze šesti serverů distribuovaného virtlabu. Jelikož se předpokládá jeho velké vytížení a hlavně potřeba vysoké rychlosti, je vhodné, aby běžel na vlastním fyzickém stroji. Pro svou činnost vyžaduje (minimálně) dvě síťová rozhraní. Jedním rozhraním je připojen k virtuálnímu spojovacímu poli a druhým do Internetu. |
- | Rackovatelný server Abacus má dvě síťové karty, které však používají hardwarovou akceleraci a tím znemožňují přístup k číslu VLAN. Tohle číslo je ale pro tunelovací server nezbytné, proto s těmito kartami nedokáže pracovat. | + | |
- | Náhradní možnost je použít USB-Ethernet převodník (testováno s Edimax EU-4202). Ten se dá v linuxu (Debian s jádrem 2.6.8 a upgradovaný ze Sarge na Etch) velice jednoduše zprovoznit. Stačí příkaz '''modprobe usbnet'''. Karta se sice ze začátku "schovává" - tzn. ve vypisu ifconfig nebyla k nalezení, ale okamžiťe po připojení UTP kabelem do sítě se zobrazila jako eth2 a byla schopna práce. | + | Od spojovacího pole přebírá všechny rámce směřující k prvku v jiné lokalitě. Úkolem je "zamaskovat" skutečnost, že prvek fyzicky není ve stejném ethernetovém segmentu, ale třeba na druhém konci světa. |
- | ''Pro automatické zavádění modulu po startu systému je nutné ještě dopsat do souboru '''/etc/modules''' řádek '''usbnet'''. Dále jsem do souboru '''/etc/rc.local''' dopsal prikaz pro "nahozeni" rozhrani eth2 - <code>ifconfig eth2 up</code>.'' | + | '''Příklad:''' |
+ | | | | ||
+ | PC 1 -- Switch A -- | Internet | -- Switch B -- PC 2 | ||
+ | | | | ||
- | == Pozor na Spanning-tree == | + | Uživatel Virtlabu chce spojit Switch A a Switch B fyzickou linkou. Tyto switche se však mohou nacházet v různých lokalitách Distribuovaného Virtlabu. Tunelovací server tedy převezme všechny rámce směřující od Switche A do Switche B a zabalí je do UDP datagramu. Ten je poslán do lokality, kde se Switch B nachází. Tam jej opět převezme místní Tunelovací server a postará se o vybalení z UDP a odeslání směrem ke Switchi B. |
- | Tunelovací server nedokáže pracovat, pokud "hlavním" switchi (tzn. switch, který je k tun-serveru přímo připojen) není vypnut protokol spanning-tree. Vzorová konfigurace tohoto switche je ulozena v SVN v souboru ''DISTR/src/spojovac/C3550-permanent.cfg''. | + | |
- | == Problém s omezením čísel VLAN == | + | '''Uživateli Virtlabu je však celá tato procedura skryta a vše se mu jeví, jako by switche byly opravdu přímo fyzicky spojeny.''' |
- | Na "hlavním" switchi je dále vhodné vypnout protokol VTP, přesněji řečeno přepnout jej do módu '''transparent'''. | + | |
- | <code>SW(config)#vtp mode transparent</code> | + | ---- |
+ | == Shrnutí == | ||
+ | '''Tunelovací server''' | ||
- | V opačném případě nebyly switche schopny pracovat s VLANy s číslem větším než 1001. Buď switch vypsal při nastavování tohoto čísla chybovou hlášku (''non-ethernet vlan'') nebo jen port zablokoval a LEDka svítila oranžovou barvou. V každém případě port nebyl schopen práce. | + | * má síťová rozhraní k lokálnímu segmentu virtuálního spojovacího pole (trunk do spojovacích prvků C3550) a do Internetu |
- | ''(Asi daná verze VTP nepodporuje takováto čísla?)'' | + | * podle své konfigurace tuneluje rámce vybraných VLAN přicházející z lokálního segmentu virtuálního spojovacího pole k příslušným tunelovacím serverům jiných lokalit a opačně |
+ | ** umí i kopírovat rámce do více VLAN | ||
+ | *umožňuje přemosťovat mezi lokálními VLAN (kvůli propojování simulovaných laboratorních prvků připojených ke konstantě přiřazeným VLAN) | ||
+ | |||
+ | Později předpoklad doplnění návaznosti na enkapsulační server synchronních rozhraní | ||
- | ''V "ukázkové konfiguraci" v souboru DISTR/src/spojovac/C3550-permanent.cfg je vše dobře.'' | + | == Detailní informace pro vývojáře == |
+ | * [[Virtlab:Tunelovací server]] | ||
+ | [[Kategorie:Komponenty virtlabu]] | ||
+ | [[Kategorie:Server]] | ||
[[Kategorie:Tunelovací server]] | [[Kategorie:Tunelovací server]] |
Aktuální verze
Při návrhu distribuované varianty virtuální síťové laboratoře se ukázala potřeba propojovat dvě i více vzdálených zařízení do jednoho virtuálního ethernetového segmentu a to dynamicky, podle potřeby uživatele. Navíc bylo potřeba počítat s tím, že v každé lokalitě může být zařízení, které má být do virtuálního ethernetového segmentu, připojeno do jiné VLAN. Při zkoumání možných řešení nebyl nalezen žádný vhodný existující software pro tunelování VLAN, a proto bylo přistoupeno k implementaci vlastního řešení.
Tunelovací server je jeden ze šesti serverů distribuovaného virtlabu. Jelikož se předpokládá jeho velké vytížení a hlavně potřeba vysoké rychlosti, je vhodné, aby běžel na vlastním fyzickém stroji. Pro svou činnost vyžaduje (minimálně) dvě síťová rozhraní. Jedním rozhraním je připojen k virtuálnímu spojovacímu poli a druhým do Internetu.
Od spojovacího pole přebírá všechny rámce směřující k prvku v jiné lokalitě. Úkolem je "zamaskovat" skutečnost, že prvek fyzicky není ve stejném ethernetovém segmentu, ale třeba na druhém konci světa.
Příklad:
| | PC 1 -- Switch A -- | Internet | -- Switch B -- PC 2 | |
Uživatel Virtlabu chce spojit Switch A a Switch B fyzickou linkou. Tyto switche se však mohou nacházet v různých lokalitách Distribuovaného Virtlabu. Tunelovací server tedy převezme všechny rámce směřující od Switche A do Switche B a zabalí je do UDP datagramu. Ten je poslán do lokality, kde se Switch B nachází. Tam jej opět převezme místní Tunelovací server a postará se o vybalení z UDP a odeslání směrem ke Switchi B.
Uživateli Virtlabu je však celá tato procedura skryta a vše se mu jeví, jako by switche byly opravdu přímo fyzicky spojeny.
Shrnutí
Tunelovací server
- má síťová rozhraní k lokálnímu segmentu virtuálního spojovacího pole (trunk do spojovacích prvků C3550) a do Internetu
- podle své konfigurace tuneluje rámce vybraných VLAN přicházející z lokálního segmentu virtuálního spojovacího pole k příslušným tunelovacím serverům jiných lokalit a opačně
- umí i kopírovat rámce do více VLAN
- umožňuje přemosťovat mezi lokálními VLAN (kvůli propojování simulovaných laboratorních prvků připojených ke konstantě přiřazeným VLAN)
Později předpoklad doplnění návaznosti na enkapsulační server synchronních rozhraní