Az internet ökoszisztémája és evolúciója (2017)

Szemeszter: 
2016/2017 2. félév (tavasz)

TARTALOM

 

A. Előadás tematikája, helye, időbeosztása (a tárgy főlapján)

B. Előadás és gyarkolat anyagai

C. Gyakorlatokhoz tartozó előzetes felkészülési instrukciók

D. Házi feladat - Feladatkiosztás

E. ZH és vizsga

                                                                                                                                                        

 

B. Előadás és gyarkolat anyagai

Előadások anyagai:

Bevezető előadás: Tárgykövetelmények, Az Internet ökoszisztémája, műszaki és interdiszciplináris kérdések

Működési anomáliák, az Internet architektúrája

Az Internet szolgáltatási modell, AS struktúra

Az útvonalválasztás alapjai

A BGP működése, policy routing

A BGP a gyakorlatban, az internet útvonalválasztás stabilitása

Útvonalválasztó eszközök működése

Globális rendszerek az Interneten - Internet kormányzás, tanúsítvány rendszerek

Globális rendszerek az Interneten - IPv6, DNS 

A láthatatlan Internet (Dark Web, darknets, Bitcoin)

 

 

Gyakorlatok anyagai:

1. Gyakorlat - GNS3 hálózati emulációs környezet kialakítása

2. Gyakorlat - IP címzés & Scapy

3. Gyakorlat - Tartományok közti útválasztás konfigurálása: alapok

4. Gyakorlat - A BGP működésének vizsgálata

5. Gyakorlat - Üzleti kapcsolatok konfigurálása, speciális kérdések

6. Gyakorlat - Internet monitorok, autonóm rendszerek, címtartományok, routing információk

7. Gyakorlat - BIX, a magyarországi Internet "központja"

 

 

 

 

C. Gyakorlatokhoz tartozó előzetes felkészülési instrukciók

Az gyakorlatok során az előadáson elhangzottakat fogjuk kipróbálni. Ehhez mindenkinek a saját gépére egy virtualizált körenyezetet kell feltelepíteni

A teendők az alábbiak:

  1. Telepítsd a GNS3 szoftvert a gépedre (http://www.gns3.com/). A GNS3 egy olyan hálózatépítő környzet, amely lehetőséget ad, hogy virtuális image-eket hálózatba kössünk tervezőasztalszerű környezetben. A virtuális image-kat olyan szoftverek tudják futtatni mint például a VMware, Virtualbox, vagy Qemu, ezeket használva a GNS3 csak a szerkesztő környzetet nyújtja. A GNS3 kíválóan alkalmas hálózatépítéssel kapcsolatos vizsgálatokra, tanulásra. A GNS3 letöltése előtt regisztrálni kell az oldalon! A GNS3 telepítésekor számos a munkánkat segítő extra szoftver is automaikusan felajánlásra kerül, pl. Wireshark, ezeket is célszerű feltenni. A legfontosabb ezek közül a Qemu, ami a virtuális környezetet kezeli. (A Qemu külön is feltelepíthető, de ez nem ajánlott, mert a GNS3 csak bizonyos Qemu verziókkal hajlandó együttműködni. Ezért akkor is javasoljuk a GNS3 által felajánlott Qemu telepítését, ha már van Qemu a gépünkön.)
  2. Töltsd le a GNS3 alatt futtatandó virtuális routerek image-ét. Az alábbi lehetőségek közül lehet választani:
    • Az előadók által készített Linux alapú Qemu image az alábbi helyről érhető el: http://heszi.tmit.bme.hu/klima/openwrt_internet_v1_3.zip (tömörítsd ki és persze csak az img kiterjesztésű fájlra van belőle szüksége, a többi csak a forráskód és egyéb megjegyzések). Ez az image az OpenWrt nevű speciális Linux terjesztést használja, melyet eredetileg wlan routerekre terveztek. Ezt mi picit lebutítottuk és testre szabtuk, hogy gyengébb gépeken is fusson kevés erőforrás felhasználásával (pl. akár elég lehet 64Mbyte memóriát allokálni egy példány futtatásához, de azért javasolt a 128MB).
    • Akinek esetleg erősebb gépe van, és otthonosabban mozog Cisco routerek konfigurálása terén, az kipróbálhat egy másik komplexebb image-t. Bár tavalyi tapasztalat, hogy sok hallgató mellett nehéz a részleteiben számos helyen eltérő parancsokra külön kitérni, ezért valóban csak akkor használd, ha kellően önállóan tudod majd használni. Jellemzően az óra után tudunk csak behatóbban foglalkozni a speciális ezt érintő kérdésekkel. Ez tulajdonképp a Cisco által készített a routereit szimuláló környzet (közkézen forog ugyan a Cisco routereinek konrét szoftvere is, melyet a Dynagen virtualizációs szoftverrel szoktak futtatni, de ennek használata jogsértő, a Cisco ennek használatát tiltja). A router szimulációs környzet, melyet a fent említett OpenWrt helyett lehet használni az alábbi helyről lehet letölteni: http://heszi.tmit.bme.hu/klima/hda.qcow2.tar.gz Ha ezt az imaget használod, akkor az image futtatásakor pár lépésre nem lesz szükség melyre a másik esetben igen. Részletek az órán. Bizonyos feladatokat pl. csomaggenerálás scapy segítségével, ugyanakkor csak az Openwrt image-el lehet majd megcsinálni, úgyhogy az egyik órán arra mindenképp szükség lesz, de a többin nem.
  3. A GNS3 futtatásakor a megjelenő Server beállítások ablakra nyomj Cancelt (ill. mindjárt bepipálhatod a Don't show it again check boxot alul).  Miután létrehoztunk egy tetszőleges nevű projektet, az Edit menüben található Preferences almenüpontban létre kell hozni egy Qemu virtuális gép template-t (a Qemu VM menüpontban) úgy hogy megadjuk neki a letöltött image fájl elérhetőségét (ha a Qemu nem lett telepítve a GNS3-al együtt, akkor a Qemu futtató fájlját is kérni fogja a rendszer, hiszen azt a GNS3 telepítésekor még nem találta meg). Névnek adjunk valami beszédeset pl. Router, ezzel legalább egyértelművé teszük hogy ez egy router és nem csak egy szimpla végfelhasnálói gép. Adjunk neki lehetőleg 128Mbyte memóriát, és az egyik fülön azt is meg lehet mondani, hogy hány hardware hálózati kártyát adjon (emuláljon) az image-nek. Legyen ez mondjuk 6, és a kártya típusa legyen a virtio-net-pci, vagy ha valamiért később a gép nem látja ezeket a hálókártyákat akkor a 1000G network adapterre célszerű cserélni. Célszerű még itt a szerkesztőben a létrehozott gép ikonjára jobb gombbal kattintva megváltoztatni az ikon kinézetét pl. router ikonra, így sokkal nyilvánvalóbb, hogy ezek a virtuális gépek tulajdonképpen nem egy egyszerű számítógépet, hanem routert szimulálnak. Célszerű még a létrehozás során az Advanced settingsben az Options-nél megadni a -nographic opciót, így kényelmesen konzollal tudjuk majd nézni gépek képernyőjét (ld. 6. pont). Mielőtt kilépnénk a Preferences-ből  előbb még ellenőrizzük, hogy a Server menüpontban csak a Local server tab alatt van pipa, a másik kettő: GNS3 VM server ill. Remote servers nincs bepipálva!  
  4. A módosításokat leokézva most már készen állunk, hogy a bal oldalon levő ikonok segítségével (ezek lényegében a template-k) új gépeket helyezzünk el (húzzunk be azt a template-t a projektünkbe amit korábban létrehoztunk) a projektünkben a jobboldali szerkesztő mezőbe , és azokat összehuzalozzuk (legalsó ikon) összekötve a virtuális kábellel a különböző virtuális hálózati kártyákat. Figyelj, hogy a huzalozás ikon egy toggle jellegű gomb, tehát ha megnyomod, akkor az benyomva marad és huzalozhatsz, de ha befejezeted, akkor újra nyomd meg, hogy kikapcsolódjon, mert bekapcsolt módban nem működik pl. az egér jobb gombja stb.
  5. A gépeket a fenti Play ikonnal lehet bekapcsolni és a gépekre jobb gombbal kattintva a megjelenő menüben a konzolt kiválasztva azonnal láthatjuk a virtuális gép képernyőjét, és adhatunk utasításokat neki.
  6. A gyakorlatok során többek között a Quagga routing szoftvercsomagot és a Scapy kézi ipcsomag generáló szoftvert fogjuk használni (melyek az image-be már bele lettek fordítva).

Fontos tudni a rendszer használatához:

  • A virtuális Openwrt image-kből való kilépés előtt célszerű kiadni a "halt" parancsot, különben az image elfelejti az összes beállítást, a cache-ben levő adatok elvesznek, a beállítást előről kell kezdeni.
  • Célszerű feliratozni a GNS3 szerkesztőben a készülő hálózatot, pl. odaírni az IP címeket a gépek mellé. Javasolt ehhez először megnyomni a bal oldali egyik kis ikont, ami láthatóvá teszi a hálózati adaptereket a gépek mellett, és ezt a szöveget módosítani, beírva mellé mindegyik adapter IP címét. Így az adapter pl. eth1 felirat és a hozzá tartozó IP cím együtt marad, nem csúszik szét.

Előforduló hibák:

  • A GSN3 használata során előfordul olyan anomália, hogy a futó géphez nem lehet konzolt nyitni, nem kapcsolódik. Ennek oka többnyire, hogy a háttérben fut már egy korábban megnyitott SSH ami fogja az adott portot. Célszerű becsukni ilyenkor a háttérben futó SSH-kat és újra nyitni mindegyik konzolt. A hiba oka lehet még a nem megfelelő Qemu verzió használata. Érdemes ilyenkor az operációs rendszer saját Qemu verzióját eltávolítani, és a GNS3 újratelepítésével elérni a megfelelő Qemu verzió installálását.
  • Olyat is tapasztaltunk már, hogy a gép a főképernyőn látszólag ki van kapcsolva, de a jobb oldali összefoglaló ablakban zöld, tehát futást jelez és ezért nem kapcsolódik a konzol. Ilyenkor célszerű ott is kikapcsolni a jobb gombbal (a frissebb GNS3 verziókban remélhetőleg ezt kijavítják rövidesen). Legvégső esetben természetesen a projekt elmentése a GNS3-ból való kilépés (és összes háttérben futó SSH) bezárása és visszalépés mindig eredményes :).
  • További problémát okozott sokaknál, hogy ha a Qemu-t a GNS3-tól függetlenül tették fel windows-ra, akkor az image futtatása nem indult el, amit abból lehetett érzékelni, hogy a konzol nem nyílt meg: kiírta, hogy nem kapcsolódik. A megoldás az volt, hogy uninstallálni kellett mindent és rögtön a GNS3-al kezdeni a telepítést, ami automatikusan feltette a Qemu-t (lásd fejjebb).

 

D. Házi feladat - Feladatkiosztás

Az első fájl tartalmazza neptunk kód szerint, hogy ki melyik feladatot kell hogy megoldja, a többi pedig a konkrét feladatok:

Házi feladtok hozzárendelése sorszámhozzárendelése fájl - ZH eredmények

1. Házi feladat feladatok

2. Házi feladat feladatok

3. Házi feladat feladatok

4. Házi feladat feladatok

5. Házi feladat feladatok

 

 

 

E. ZH és vizsga

ZH minta feladatsor

Bonus és ZH eredmények

Vizsga eredmények