Virtuální spojovací pole verze 3

Z VirtlabWiki

Přejít na: navigace, hledání

Ř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í".

Ukázka:

+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-10-3 12:15:00
+r4@ostrava:serial1 r6@ostrava:serial0/0 2008-10-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.

Osobní nástroje