Virtuální spojovací pole verze 3
Z VirtlabWiki
Řešeno v rámci DP V.Bortlíka.
Ve všech následujících konfiguračních souborech je možno používat komentáře. Každý řádek, který chceme označit jako komentář, musí začínat #. Poslední záznam by měl být ukončen novým řádkem '\n'.
Obsah |
localvlans.conf
Konfigurační soubor pro modul TrunkPortu, který obsluhuje provoz z Ethernet rozhraní síťových prvků. Obsahuje mapování jmen Ethernet rozhraní jednotlivých prvků na čísla VLAN, kterými je provoz z daných rozhraní trunk linkou od VLMUXu přiveden k tunelovacímu serveru. Přes VLANy jsou připojeny i rozhraní simulovaných síťových prvků.
Syntaxe:
#<comment> <interface> <VLAN_ID>
Ukázka:
#komentar pc1@ostrava:eth0 11 pc2@ostrava:eth0 12
localserials.conf
Konfigurační soubor pro modul SerialPort, který bude v budoucnu koncentrovat provoz z lokálních S-E převodníků a tunelovat jej dále. Mapuje jména sériových rozhraní síťových prvků na (privátní) adresy Ethernetových stran S-E převodníků. Z důvodu absence S-E převodníků zatím obsluha sériových portů omezena na propojování v rámci lokality pomocí observeru redirect table ASSSK. Konfigurační soubor pro SerialPort zatím není používán.
Syntaxe:
#<comment> <interface> <ip_addresa>
Ukázka:
#komentar pc1@ostrava:serial0 10.1.1.1 pc2@ostrava:serial0 10.1.1.2
tunservers.conf
Konfigurační soubor pro aktivační skript, ve kterém máme informaci IP adresách tunelovacích serverů jednotlivých lokalit.
Syntaxe:
#<comment> <nazev_lokality> <ip_adresa>
Ukázka:
#komentar ostrava 158.196.200.200 karvina 196.10.1.2
portsetter.conf
Konfigurační soubor pro modul-observer Portsetter, který přes SNMP aktivuje/deaktivuje interfacy na VLMUXu.
Syntaxe:
<eth-interface> <management_IP_adresa_VLMUXu> <jmeno_rozhrani_na_VLMUXu> [trunkport]
Nepovinný parametr trunkport udává, že interface je na VLAN přivedeném do VLMUXu trunk linkou. Tou je přivedeno současně více zařízení, portsetter tedy NESMÍ příslušný port VLMUXu shazovat.
asssk.conf
Konfigurační soubor ASSSK (Tatabazmeku) definující připojení rozhraní laboratorních prvků k portům Tatabazmeku
Syntaxe:
<serial-interface> </dev/ttyX_konzoly_ASSSK> <cislo_portu_na_ASSSK>
Aktivace konfigurací
Popis požadovaného propojení
Tento soubor je vstupem pro aktivační skript activator.sh. Na kažsém řádku jsou uvedeny dvojice interface, které mají být propojeny. Nepovinně může následovat také datum a čas rozpojení. Datum je ve formátu:
YYYY-mm-dd
Čas je ve formátu:
HH-MM-SS
Syntaxe:
#<comment> <zdrojovy_interface>,<cilovy_interface>[,<datum>,<cas>]
Ukázka:
#komentar pc1@ostrava:serial0,pc2@ostrava:serial0 pc1@ostrava:eth0,pc2@ostrava:eth0,2008-08-01,19:59:59
activator.sh
Aktivační skript pro upload konfigurace požadovaného propojení do CLI tunelovacích serverů jednotlivých lokalit (vždy jen tunelované spoje týkající se dané lokality). Tento skript využívá konfigurační soubor tunservers.conf a popis požadovaného propojení propojeni.conf, které jsou pro ně vstupem. Skript prochází konfigurační soubor s lokalitami, pomocí názvu lokality vytvoří dočasný konfigurační soubor nazev_lokality.cmd. Dále prochází soubor propojeni.conf, ve kterém hledá řádky obsahující název lokality a ty postupně přidává do dočasného konfiguračního souboru. Ten potom pomocí programu netcat uploaduje do tunelovacího serveru příslušné lokality.
REDIR_FILE=../conf/propojeni.conf site_array=`grep ^alnum: ../conf/tunservers.conf | awk '{ print $1 }'` address_array=`grep ^alnum: ../conf/tunservers.conf | awk '{ print $2 }'` for site in $site_array; do echo $address_array >> $site.cmd i=`expr $i + 1` grep ^[^\#].*$site < $REDIR_FILE | sed 's/[ \t]//g' | awk -F"," '{ print "redir "$1" "$2" "$3" "$4; }' > $site.cmd echo exit >> $site.cmd address=`echo $address_array | cut -d' ' -f$i` netcat -w3 $address 40001 < $site.cmd rm $site.cmd done
Persistence Tunelovacího serveru
Tunelovací server nyní dokáže uchovat obsah přesměrovávací tabulky. Tato vlastnost se hodí pokud Tunelovací server spadne nebo ho někdo restartuje. Nyní se už nic hrozného nestane.
Ukládání obsahu přesměrovávací tabulky
Obsah se ukládá do textového souboru Persistance_file.txt. Jednotlivé řádky jsou uložený ve stejném formátu v jakém byly zapsány na CLI. Jedinou změnou je, že na začátku každé řádky je přidán znak + nebo - který nám oznamuje zda li je záznam platný či neplatný. Proč takováto úprava? Přesměrovávaní vznikají a zanikají nebo jim může vypršet časová platnost. Na toto vše musíme reagovat a bylo by zbytečné nechávat v souboru záznamy které už dávno neplatí. Jelikož vymazání záznamu v souboru se dělá docela krkolomě (Načtení všech záznamů a jejich znovuzapsání do souboru) tak je z hlediska rychlosti mnohem jednodušší si nějákým způsobem poznamenat, že je záznam neplatný a jednou za určitou dobru(V našem případě při znovuspuštění serveru) udělat "setřepání".
Příklad Persistance_file.txt
+r6@ostrava:ethernet0/1 pc2@ostrava:eth0 +r1@ostrava:ethernet1 pc1@ostrava:eth0 -r4@ostrava:ethernet1 pc0@ostrava:eth0 -r1@ostrava:serial1 r6@ostrava:serial0/1 2008.9.3 12:15:00 +r4@ostrava:serial1 r6@ostrava:serial0/0 2008.9.3 14:30:00
Obnovení obsahu přesměrovávací tabulky
Obsah se obnoví okamžitě při startu Tunelovacího serveru. Tuto možnost je možno potlačit pomocí argumentu -np (No Persistance). Pokud je zadán argument -np pak je obsah souboru Persistance_file.txt vymazán a obsah Přesměrovávací tabulky se neobnovuje. V opačném případě se pustupně načtou všechny validní záznamy, obsah souboru je vymazán a všechny načtené řádky jsou pak vloženy do algoritmu pro přidávání řádků do přesměrovávací tabulky a pokud jsou validní tak jsou o nich zpraveny všichni Pozorovatelé a skrze našeho pozorovatele pro uchování persistence jsou opětně vloženy do souboru Persistance_file.txt.