Instrukcja do laboratorium 3 Implementacja koncepcji sieci
Transkrypt
Instrukcja do laboratorium 3 Implementacja koncepcji sieci
PRZEDMIOT: PROWADZĄCY: ROK STUDIÓW : SEMESTR: KIERUNEK: Sieci Sterowane Programowo mgr inż. Grzegorz Rzym ([email protected]) I (2 stopień) zimowy Teleinformatyka Instrukcja do laboratorium 3 Implementacja koncepcji sieci z wykorzystaniem przełączników Juniper sterowanych programowo 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z konfiguracją sieci SDN z wykorzystaniem sprzętowych urządzeń firmy Juniper (MX-80). 2. Topologia wykorzystywana podczas zajęć Podczas zajęć studenci w dwóch grupach realizować będą połączenia wg topologii wskazanej na rysunku 1. S44 (S46) H20 (H22) S40 (S42) S41 (S43) H21 (H23) S45 (S47) Rysunek 1. Topologia wykorzystywana podczas zajęć Studenci dzielą się na dwie grupy. W każdej z grup konfigurowane będą 4 przełączniki OpenFlow, dwa hosty końcowe (skonfigurowane w tej samej podsieci) oraz jeden kontroler (H20, H22 odpowiednio dla każdej z grup). Kontroler Floodlight został pobrany oraz skonfigurowany przed zajęciami. Jego źródła oraz aplikacja uruchomieniowa (już skompilowana) znajdują się w katalogu: $ /home/lab/floodlight-1.2 Aby uruchomić kontroler należy z tego katalogu wydać polecenie $ java -jar target/floodlight.jar 1 PRZEDMIOT: PROWADZĄCY: ROK STUDIÓW : SEMESTR: KIERUNEK: Sieci Sterowane Programowo mgr inż. Grzegorz Rzym ([email protected]) I (2 stopień) zimowy Teleinformatyka 2.1 Schemat istniejących połączeń Połączenia między urządzeniami są wykonane wg następującego schematu: S4a ge-1/0/b <--> S4b ge-1/1/a gdzie a/b oznaczają numer MX’a np. a=0 -> S40, b=1 -> S41. Dodatkowo w ramach jednego przełącznika spięto ze sobą porty (x=0-9) ge-1/2/x <--> ge-1/3/x Daje to podwójną topologię kraty + 11 połączeń do siebie. Porty ge-1/0/8, ge-1/0/9, ge-1/1/8, ge-1/1/9 są wolne i przeznaczone aktualnie do doraźnego wykorzystywania do podłączenia innych urządzeń (komputery, mierniki, itp.). Przykładowo S44 ma takie połączenia S44 ge-1/0/0 -> S40 ge-1/1/4 S44 ge-1/0/1 -> S41 ge-1/1/4 S44 ge-1/0/2 -> S42 ge-1/1/4 ... S44 ge-1/1/0 -> S40 ge-1/0/4 S44 ge-1/1/1 -> S41 ge-1/0/4 S44 ge-1/1/2 -> S42 ge-1/0/4 ... S44 ge-1/2/0 -> S44 ge-1/3/0 S44 ge-1/2/1 -> S44 ge-1/3/1 S44 ge-1/2/2 -> S44 ge-1/3/2 ... Interfejsy eth1 maszyn wirtualnych są podpięte do ruterów MX w następujący sposób: mxlab20 eth1 <- VMware vSwitch2 -> S40 ge-1/0/9 mxlab21 eth1 <- VMware vSwitch3 -> S41 ge-1/0/9 mxlab22 eth1 <- VMware vSwitch4 -> S42 ge-1/0/9 mxlab23 eth1 <- VMware vSwitch5 -> S43 ge-1/0/9 3. Konfiguracja OpenFlow na ruterach MX-80 3.1 Konfiguracja interfejsów [edit interfaces interface-name] user@host# set encapsulation ethernet-bridge user@host# set unit unit family bridge 3.2 Konfiguracja protokołu 3.2.1 Konfiguracja kontrolera [edit protocols openflow switch switch-name] user@host# set controller address address user@host# set controller protocol tcp [port 6653] 2 PRZEDMIOT: PROWADZĄCY: ROK STUDIÓW : SEMESTR: KIERUNEK: Sieci Sterowane Programowo mgr inż. Grzegorz Rzym ([email protected]) I (2 stopień) zimowy Teleinformatyka 3.2.2 Konfiguracja logicznych interfejsów OpenFlow [edit protocols openflow switch switch-name] user@host# set interfaces interface-name1.unit1 user@host# set interfaces interface-name2.unit1 3.2.3 Konfiguracja domyślnej akcji (opcjonalnie) [edit protocols openflow switch switch-name] user@host# set default-action (drop | packet-in) 3.2.4 Konfiguracja timera (opcjonalnie) [edit protocols openflow switch switch-name] user@host# set purge-flow-timer seconds 3.2.5 Konfiguracja opcji śledzenia (opcjonalnie) [edit protocols openflow] user@host# set traceoptions flag flag user@host# set traceoptions file file-name Logi znajdować się będą w pliku /var/log/ofd (jeśli nie zmieniono jego nazwy w konfiguracji) 3.3 Konfiguracja instancji rutingu [edit routing-instances routing-instance-name] user@host# set instance-type virtual-switch user@host# set bridge-domains name domain-type bridge user@host# set bridge-domains name vlan-id none user@host# set bridge-domains name interface interface-name1.unit1 user@host# set bridge-domains name interface interface-name2.unit1 *Więcej na https://www.juniper.net/techpubs/en_US/junos14.2/topics/task/configuration/junos-sdnopenflow-configuring-mx-series.html#LsTg2fppTmhSL2Vf.99 Zadanie 1. Proszę skonfigurować sieć aby działała w trybie reaktywnym. Proszę puścić pinga pomiędzy H21-H21 (H22-H23) Zadanie 2. Proszę dodać ręcznie odpowiednie przepływy a następnie przetestować działanie sieci w następujących przepadkach: a) Zapytanie i odpowiedź ICMP z hosta H20 (H22) do H21 (H23) wędruje kolejno przez S40-S44-S41 (S42-S46-S43) b) Cały ruch UDP z hosta H20 (H22) do H21 (H23) wędruje przez S40-S45-S41 (S42-S47-S43) Uwaga: Wykorzystywany wersja kontrolera to v1.2, przykład proaktywnej instalacji przepływu: curl -X POST -d '{"switch":"00:00:00:00:00:00:00:01", "name":"flow1", "cookie":"0", "priority":"32768", "in_port":"1","active":"true", "actions":"output=2"}' http://<controller_ip>:8080/wm/staticflowpusher/json 3 PRZEDMIOT: PROWADZĄCY: ROK STUDIÓW : SEMESTR: KIERUNEK: Sieci Sterowane Programowo mgr inż. Grzegorz Rzym ([email protected]) I (2 stopień) zimowy Teleinformatyka Uwaga: Listowanie podłączonych przełączników curl http://<controller-ip>:8080/wm/core/controller/switches/json 4