Professional Documents
Culture Documents
1 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Jupyter Notebook
by Pelle István
VM felépítése
Vagrant program segítségével
vagrantfile: https://goo.gl/33GBUQ
Segédlet a telepítésről és a használatról
https://goo.gl/Yf5XRY
2 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Alapvető parancsok
3 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Parancsok
Parancsok a shell-ben adhatók ki
általános felépítésük:
parancs kapcsolók argumentumok ...
kapcsolók legtöbbször “-” jellel kezdődnek
ha fájlnév helyén áll “-”, akkor a standard inputot
vagy standard outputot jelenti
pl: ls -l *.txt (részletes lista a .txt végződésű
fájlokról)
4 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Hasznos parancsok
man
leghasznosabb parancs, minden UNIX-alapú rendszer részét képezi
felhasználói kézikönyv, mely az összes parancs, függvény, API hívás leírását tartalmazza,
valamint a főbb konfigurációs fájlokét
a man oldalakról a q billentyű lenyomásával lehet kilépni
pl: man ls
mc
Midnight Commander: könnyen használható fájlkezelő program sok hasznos
segédfunkcióval
shutdown, halt, reboot, poweroff
rendszer leállítása vagy újraindítása
su, su username; sudo, sudo -u username
superuser jogosultság megszerzése (su), illetve adott felhasználói jogosultság
megszerzése
sudo használatával egy parancs hajtható végre az adott jogosultsággal
5 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Fájlrendszerrel kapcsolatos műveletek
cd, pwd, mkdir, rmdir, ls, find, tar
Könyvtárműveletek: aktuális könyvtár megváltoztatása, aktuális könyvtár kiíratása,
könyvtár létrehozása, üres könyvtár törlése, könyvtár tartalmának kiíratása, fájlok
keresése a könyvtár hierarchiában nevük vagy tulajdonságaik alapján, könyvtárak
archiválása vagy visszaállítása
nem üres könyvtárak törlésére a fájltörlési parancs rekurzív változatát kell használni (rm
-r)
7 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Fájlrendszerrel kapcsolatos műveletek
1. Feladat
A rendszerbe való belépés után indíts el egy terminált. A saját
home könyvtáradban hozz létre egy 'linux-alapozo' alkönyvtárat
Milyen jogosultságokkal rendelkeznek az egyes felhasználók a létrehozott
könyvtárhoz?
Lépj be a 'linux-alapozo' könyvtárba és hozz létre három
tetszőleges tartalmú szöveges fájlt f1, f2 és f3 néven.
Milyen védelmi kóddal jöttek létre a fájlok?
Állítsd be úgy a jogosultságokat, hogy az f2 fájlra a csoportod többi tagja
is rendelkezzen írási joggal.
Hozz létre egy 'linkek' alkönyvtárat, majd ezen belül hozzál létre
szimbolikus linkeket az előbb létrehozott három fájlra f1link, f2link,
f3link névvel.
8 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Szűrők
9 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Szűrők
Nagyon hasznos Unix eszközök
egyszerű programok
standard bemenetüket a megfelelő művelet elvégzése után a standard
kimenetükre másolják
sok önmagában nagyon egyszerű műveletet megvalósító szűrő van
általában a segédprogramok képesek szűrőként is működni
szűrők egymás után kapcsolhatók a pipe (csővezeték) segítségével
shell által végrehatjott programok alapból 3 megnyitott állománnyal
indulnak
standard input (0)
standard output (1)
standard error (2)
ezek átirányíthatók
10 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Szűrők
Bemenet/kimenet átirányítás
prog < file: standard input átirányítása (vagy hosszabban: 0<)
prog > file: standard output átirányítása (vagy hosszabban: 1>)
prog 2> file: standard error átirányítása
prog 2>&1: standard error átirányítása standard outputba
prog 1>&2: standard output átirányítása standard errorba
prog1 | prog2: pipe, prog1 kimenetének prog2 bemenetére
irányítása
prog >> file: standard output hozzáírása (append) a megadott
fájlhoz
11 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Egyszerű példák
echo, cat, tee
Paraméterként átadott szöveg kiíratása (echo), illetve fájlok kiíratása és összefűzése
(cat). Gyakran használjuk a standard output átirányításával, vagy pipe-okkal együtt. A
tee parancs a standard inputról másol a standard outputra, valamint a paraméterként
megadott fájlokba is (adatfolyam elágaztatása).
pl:
cat /etc/passwd
echo ’asdf’ > f1
pl: cat program kimenetét átirányítjuk az f1 fájlba, így a standard bemeneten bevitt
sorok az adott fájlba íródnak egészen a fájlvége jel (ctrl-d) beviteléig:
cat >f1
more, less
Fájlok kiíratása úgy, hogy egyszerre egy képernyőnyi tartalom jelenik meg, illetve
navigálási lehetőség biztosítása. A less a kifinomultabb változat.
less /etc/apache2.conf
cat /etc/apache2.conf | less
12 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Egyszerű példák
head, tail
Fájlok első (head), illetve utolsó (tail) n sorának kiíratása.
head -2 /etc/group
sudo tail –n 20 /var/log/syslog
sudo tail -f /var/log/syslog
tr
Alapértelmezésben karakterfordítást végez (translate): az első paraméterként megadott
karaktereket cseréli a második paraméterben megadottakra. Tartomány is megadható, pl. [0-
9] a számokat jelenti, [a-z] a kisbetűket. Ha az első paramétere -d, akkor törli a második
paraméterben megadott karaktereket. Pipe részeként vagy átirányítással használjuk.
echo ‘abcd’ | tr bc xy
wc
Kiírja a sorok, szavak és karakterek számát ("word count").
wc /etc/passwd
wc –l /etc/passwd
wc –w /etc/passwd
wc –c /etc/passwd
13 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Egyszerű példák
cmp, diff, comm
Fájlok összehasonlítása: bájtról bájtra (cmp) vagy szöveges fájlokat sorról sorra (diff). A
comm parancs két fájl közös sorainak kiíratására használható.
diff .bashrc .bashrc~
sort, uniq
A két parancsot általában együtt (egymásba pipe-olva) használjuk és ilyen sorrendben: a
sort rendezi a bemenetet, míg a uniq a rendezett bemenet ismétlődő soraiból csak
egyet-egyet hagy meg.
A uniq paraméterezésével többféle működés is elérhető, pl. a sorok különféle számolása
(pl. uniq -c), csak a többször szereplő (uniq -d), vagy az egyedi sorok kiíratása (uniq -u).
A sort paraméterezésével számok és stringek rendezése is megoldható.
Például az alábbi egymás után kapcsolt szűrők a jelszófájlt rendezik a 3. oszlop szerint (-
k3) numerikusan (-n) csökkenő sorrendben (-r) és az utolsó két sor lesz az eredmény (tail
-n 2). A jelszófájlban a mezők közti szeparátor a :, ami a rendezésnél a -t kapcsolóval
adható meg:
cat /etc/passwd | sort -t: -n -k3 -r | tail -n 2
14 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Egyszerű példák
2. Feladat
Készíts egy szűrőt, mely a standard bemenetét a
kimenetre másolja úgy, hogy közben azt
nagybetűssé konvertálja (a kisbetűket
nagybetűkké alakítja, a többi karaktert
változatlanul hagyja).
Készítsd el az előző szűrő módosított változatát,
amely invertálást végez, vagyis a nagybetűket
kisbetűre, míg a kisbetűket nagybetűre cseréli.
15 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Egyszerű példák
2. Feladat
Készíts egy szűrőt, mely a standard bemenetét a
kimenetre másolja úgy, hogy közben azt
nagybetűssé konvertálja (a kisbetűket nagybetűkké
alakítja, a többi karaktert változatlanul hagyja).
echo ‘asdfASDF’ | tr a-z A-Z
Készítsd el az előző szűrő módosított változatát,
amely invertálást végez, vagyis a nagybetűket
kisbetűre, míg a kisbetűket nagybetűre cseréli.
echo ‘asdfASDF’ | tr a-zA-Z A-Za-z
16 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
grep
grep, egrep, fgrep
Reguláris kifejezés-illesztő. A paraméterben (idézőjelben!) megadott reguláris kifejezésre
(regexp) illeszti a bemenetet.
Fontosabb paraméterei:
-A, -B: az illesztett sor környezetét (előző / következő, adott számú sorokat) is megmutatja
-v: fordított működést eredményez (nem illesztett sorokat mutatja)
-q: nincs output, csak a visszatérési értéket állítja be (if feltételeként szoktuk használni)
grep és sed parancsok reguláris kifejezéseiben az operátorokat "escape-elni" kell
(különben karakternek tekinti őket a program)
pl: “\|” a vagy operátor, míg “|” a pipe karakter
példák:
$ echo "bcd" | grep "a.*"
$ echo "bcacb" | grep "a.*b"
bcacb
$ echo "baaa" | grep "a*"
baaa
$ echo "baaa" | grep "^a*$"
17 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
sed
sed
Teljes funkcionalitását tekintve sorszerkesztő, mi reguláris fordítóként fogjuk
használni.
Erre az s parancsa szolgál:
s/kif1/kif2/
kif1 reguláris kifejezést fordítja kif2 kifejezésre mindazon sorokon, amelyekre kif1 illeszkedik.
a(z escape-elt) zárójelbe tett kifejezésrészletekre vissza lehet hivatkozni kif2 -ben a \1, \2, ...
referenciákkal.
ha az s parancs záró / -je után még egy g paramétert írunk, akkor soronként többször is
végez illesztést
Példák:
$ echo 'xxxaaaxxx' | sed 's/aaa/bbb/'
xxxbbbxxx
$ echo "a0001b" | sed 's/a\([0-9]*\)b/x\1y/'
x0001y
18 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Reguláris kifejezések
c Maga a c karakter, ha az nem speciális karakter.
\c Kikapcsolja a c karakter speciális jelentését. Pl: \[: zárójel kezdődik
^ Sor eleje.
$ Sor vége.
. Egy darab bármiyen karakter. (Az újsor kivételével minden karakter illeszkedik rá.)
[abc] Bármelyik karakter a halmazból.
[^abc] Bármelyik karakter, amelyik nincs a halmazban.
[a-z] Bármelyik karakter a megadott tartományból.
r* r reguláris kifejezés tetszőlegesen sokszor (akár 0-szor).
r+ r reguláris kifejezés 1-szer vagy sokszor. (extended regexp)
r? r reguláris kifejezés 0-szor vagy 1-szer. (extended regexp)
r1r2 r1 és r2 egymás után úgy, hogy r1 a lehető leghosszabban illeszkedjen.
r1¦r2 r1 vagy r2. (extended regexp)
(...) egymásba ágyazott kifejezések. (extended regexp)
r{n} r reguláris kifejezés n-szer megismétlődik. (extended regexp)
r{n,} r legalább n-szer megismétlődik. (extended regexp)
r{n,m} r legalább n-szer, legfeljebb m-szer megismétlődik. (extended regexp)
\(r\) r reguláris kifejezés önmaga, amire később hivatkozni lehet \n alakban.
\n hivatkozás az n-edik \(r\) reguláris kifejezésre.
19 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Reguláris kifejezések: példák
Az /etc/passwd fájlból írassuk ki az összes olyan sort, amelyben az 'r' és a 't'
karakterek között tetszőleges számú 'o' szerepel:
$ cat /etc/passwd | grep 'ro*t‘
Írassunk ki minden olyan sort, amiben egymás után szerepel ugyanaz a betű:
$ cat /etc/passwd | egrep '(.)\1‘
Számoljuk meg melyik login shell hányszor szerepel az /etc/passwd fájlban (utolsó
oszlop), majd ezt rendezzük csökkenő sorrendbe és írjuk ki a két legelsőt:
$ cat /etc/passwd | sed 's/.*:\([^:]*\)/\1/' | sort | uniq -c | sort -
n -r | head -n2
21 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Bash alap(f)ok
22 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Bourne Again Shell
Parancsértelmező és egy programozási nyelv is egyben
segítségével egyszerűen kialakíthatók ún. shell scriptek, melyekkel a parancskészlet
tetszőlegesen bővíthető
paraméterezhetősége hasonló a normál programokéhoz
Linux rendszerek egyik alapértelmezett shellje
egyszerű adminisztrációs programok készíthetők
bemenet/kimenet átirányítás és a pipe alkalmazásával nagyon hatékony eszköz
Bash-ben a sorok lezárhatók enterrel vagy pontosvesszővel
hosszabb kódrészlet: do ... done blokkba (hasonlóan, mint a C programok { ... } blokkja)
Futtatható script:
első sora: hashbang + a bash elérési útja (#!/bin/bash)
chmod a+x script paranccsal futtathatóvá kell tenni (enélkül bash script paranccsal történik)
aktuális könyvtár alapértelmezésben nincs benne a PATH környezeti változóban
így ./script paranccsal indíthatjuk
(vagy hozzáadjuk a PATH -hoz az aktuális könyvtárat a PATH=$PATH:. paranccsal)
23 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Hasznos shell funkciók
alt-F1,F2,... szöveges terminálok közti váltás
ctrl-alt-F1,... másik terminálra váltás grafikus terminálról
↑ és ↓ history, korábbi parancsok behívása
ctrl-r history, parancs illesztése az első megfelelőre (reverse
search)
TAB állománynév kiegészítés
shift-PgUP képernyő tartalmának léptetése
shift-PgDown
ctrl-a sor elejére ugrás
ctrl-e sor végére ugrás
ctrl-l képernyő újrarajzolása
24 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Változók, idézőjelek
Változókat nem kell deklarálni, név szerint lehet rájuk hivatkozni
értékadás: VAR=valami (egyenlőségjel baloldalán nincs szóköz!)
érték lekérése: $VAR vagy ${VAR}
standard inputról változóba: read parancs
Idézőjelek:
szimpla idézőjel: ‘echo $VAR’
az idézett szöveg változtatás nélkül kerül feldolgozásra
dupla idézőjel: “echo $VAR”
az idézett szövegen lefut a változóhelyettesítés, majd változtatás nélkül kerül feldolgozásra
vissza idézőjel: `echo $VAR`
az idézett szöveget parancsként értelmezi, és az eredményét adja át
parancshelyettesítés másképp, pl: current_dir=$(pwd)
aritmetikai helyettesítés, pl: c=$(($1+$2)) vagy $((c=$1+$2))
25 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Wildcardok
Állománynév-helyettesítés
* tetszőleges számú tetszőleges karakter
? pontosan egy tetszőleges karakter
[abc] bármelyik karakter a halmazból
[a-z] bármelyik karakter az adott intervallumból
{a,b,c} “brace expansion”
Példák:
$ ls -l image[1-3].jpg
$ ls -l image[1-3].{jpg,bmp}
shell erre fordítja: $ ls -l image1.jpg image1.bmp image2.jpg
image2.bmp image3.jpg image3.bmp
26 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Speciális változók
$0 scriptfájl neve
$\# bemeneti paraméterek száma
$i az i-edik bemeneti paraméter
$? utolsó visszatérési érték
$@ és $* az összes paraméter
$\$ processz ID
$HOME home könyvtár
$HOSTNAME gép hosztneve
$PATH elérési utak az állományokhoz
$UID aktuális user ID
$PS1 aktuális prompt
$IFS input mező szeparáló karakter
27 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Beépített parancsok
: nem csinál semmit bg/fg job háttérbe / előtérbe
. vagy source más fájlok include-olása helyezése
alias/unalias alias beállítása / let aritmetikai kifejezés kiértékelése
eltávolítása pwd aktuális könyvtár lekérdezése
break/continue ciklus elhagyása / read/readonly változóba olvasás
következő iteráció standard inputról
cd aktuális könyvtár megváltoztatása return visszatérés függvényből
echo argumentumok kiírása set/unset változók lekérdezése /
eval argumentum mint parancs beállítása
végrehajtása shift pozicionális paraméterek
exec argumentum végrehajtása, de
léptetése
nem indul új shell
test vagy [ ] feltétel kiértékelése
exit kilépés
export shell változó exportálása
times futási idők
28 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Vezérlési szerkezetek
if for
if [ "$VAR" == "valami" ]; then for i in a b c; do
echo "be van állítva" echo $i
else done
echo "nincs"
fi
for i in *; do
if grep -q "hello"; then
echo $i
echo "szia"
done
fi
29 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Vezérlési szerkezetek
while case
while read v; do case "$VAR" in
echo "Új sor jött: $v" hello)
done echo "szia"
;;
bye)
echo "bye-bye"
;;
*)
echo "nem értem"
;;
esac
30 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Feltételek kiértékelése (test vagy [ ])
test sigaz, ha s nem null string
test -z s igaz, ha s nulla hosszúságú string
test -n sigaz, ha s nem nulla hosszúságú string
test s1==s2 igaz, ha s1 string megegyezik s2-vel
test s1!=s2 igaz, ha s1 string nem egyezik meg s2-vel
test n1 -eq n2 igaz, ha n1 aritmetikailag egyenlő n2-vel
-ne, -gt, -ge nem egyenlő, nagyobb, nagyobb vagy egyenlő
-lt, -le kisebb, kisebb vagy egyenlő
test -f igaz, ha f file létezik és nem könyvtár
test -r igaz, ha f file létezik és olvasható
test -w igaz, ha f file létezik és írható
kombinálhatók: ! (tagadás), -o (vagy), -a (és)
31 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Példák
Egész számok kiírása 1-től hány fájl van az aktuális könyvtárban:
100-ig:
#!/bin/bash
n=0
#!/bin/bash for i in *; do
c=1 if [ -f $i ]; then
while [ $c -le 100 ] n=$(($n+1))
do fi
done
echo $c
echo "$n fájl van a könyvtárban"
c=$(($c+1))
done
32 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
3. Feladat
Írj egy bash scriptet, ami egy könyvtárban az
összes .htm kiterjesztésű fájlt .html
kiterjesztésűre cseréli.
33 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
3. Feladat
Írj egy bash scriptet, ami egy könyvtárban az összes .htm kiterjesztésű
fájlt .html kiterjesztésűre cseréli.
#!/bin/bash
for i in *.htm; do
mv $i ${i}l
done
34 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
4. Feladat
Írj scriptet, mely az aktuális könyvtárban található
összes .jpg, .bmp és .png képet 50%x50%-osan kicsinyíti. Ehhez
használd a convert programot, mely az imagemagick csomag
része. A convert program használatát, és az átméretezéshez
szükséges opciót a man convert paranccsal nézheted meg.
ha nincs imagemagick:
sudo apt-get update
sudo apt-get install imagemagick
35 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
4. Feladat
Írj scriptet, mely az aktuális könyvtárban található
összes .jpg, .bmp és .png képet 50%x50%-osan kicsinyíti. Ehhez
használd a convert programot, mely az imagemagick csomag
része. A convert program használatát, és az átméretezéshez
szükséges opciót a man convert paranccsal nézheted meg.
#!/bin/bash
for i in *.{jpg,png,bmp}; do
convert -resize 50% $i conv_$i
done
36 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
5. Feladat
Írj scriptet, mely az aktuális könyvtár tartalmán rekurzívan
végigmegy, és minden szimbolikus link helyére bemásolja azt a
fájlt, amelyre az mutatott (ehhez közben a linket letörli).
Segítség: a find paranccsal nézd végig a fájlokat, melyekre ellenőrizd, hogy
szimbolikus linkek-e. Ehhez if [ ] típusú feltételes elágazásra lesz szükséged,
a megfelelő if -feltételt a man test oldalon találod meg. A linkek célpontját pl.
az ls -l paranccsal is kinyerheted.
37 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
5. Feladat
#!/bin/bash
for i in `find`; do
if [ -h $i ]; then
target=`ls -l $i | sed 's/.*->.//'`
vagy: target=`ls -l $i | sed 's/.*->\s\(.*\)/\1/'`
vagy target=`ls -l $i | cut -d' ' -f 10`
vagy target=$(file $i | awk '{print $5}')
vagy target=$(readlink $i)
rm $i
cp $target $i
fi
done
38 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Kiugró
39 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Kiugró
Minden gyakorlat végén egy rövid (5 perces) kvíz
teszt kérdések a gyakorlat anyagából
Aki minden kérdésre jól válaszol
+1 pont a vizsgán
(de max 5 plusz pont gyűjthető)
(vizsga: 50 pontos)
FIGYELEM: a kvíz “multi-choice”-os
találat, ha minden jó válasz megjelölve (és egy rossz sem)
40 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Kiugró
https://sb.tmit.bme.hu/haepuz-gyak1
41 Hálózatok építése és üzemeltetése, Linux alapok gyakorlat - Sonkoly Balázs, BME-TMIT 2020/09/16
Hálózatok építése és üzemeltetése
Szoftver szerszámok
r2
h1 r1 r3 h3
10.1.2.1/24
Kézzel is fel lehet konfigurálni a rendszert, IP forwarding engedélyezése:
de talán gyorsabb, ha az egyik router r1:# sysctl -w net.ipv4.ip_forward=1
beállítása után lementjük a parancsokat egy r2:# sysctl -w net.ipv4.ip_forward=1
fájlba és azt editáljuk…
10.1.2.2/24
r3:# sysctl -w net.ipv4.ip_forward=1
r2-eth0
Először érdemes csak a címeket kiosztani
Kapcs. ellenőrzése linkvégek között: h1-r1, r1-r2, …
10.1.1.1 h1
10.1.2.1 h2
10.1.3.1 h3
10.1.2.1/24
Tesztelés pl.:
h1# ping h2
Közben
10.1.2.2/24
r1# ip link set dev r1-eth1 down
r2-eth0
r2# ip link set dev r2-eth1 down
Mennyivel nő az RTT? r2
Feladat 5:
Adjuk h1 ARP táblájához hozzá h2-t 66:55:44:33:22:11
mac címmel. Mi történik, ha h1 pingeli h2-t?
12 Hálózatok építése és üzemeltetése, Szof tver szerszámok, BME-TMIT 2020-09-30
Feladat 5: arp
h1# arp -s 10.1.2.1 66:55:44:33:22:11
h1# ping h2
for t in tos:
print t, tos[t]
https://sb.tmit.bme.hu/haepuz-gyak2
1 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
A példa hálózatunk
2 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
https://cloud.bme.hu
Smallville
BME VIK
Címtáras
belépés
3 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
VM-ek indítása
Start VM
Client VM
Gateway VM
4 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Hálózati elrendezés Közös VM
(külvilág)
10.9.2.169/16
pwd: sdx6dcLE9W
ID: https://sb.tmit.bme.hu/haepuz-gyak3-ip
5 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Belépés: ssh
-Y
6 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Belépés: ssh
célszerű Linux kliensről
pl.: HaEpUz VM
célszerű ssh kulcs
feltöltése
My profile
SSH public keys
kulcs pár (priv, pub)
generálása (pl.: ssh-keygen)
vagy meglévő feltöltése
VM/Home
Install SSH keys
7 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Belépés: ssh
Hasonlóan a kliens gépre is
DE itt a default hálózati kapcsolatot leállítjuk (majd)
VIGYÁZZ!!
ki ne zárd magad a VM-ről!
mindig legyen legalább egy belépési lehetőség
pl. a GW gépről a belső hálózaton keresztül
Javaslat
ssh kulcsot másoljuk fel mindkét gépre
scp -i ~/.ssh/haepuz_id_rsa -P 10305 ~/.ssh/haepuz_id_rsa
cloud@vm.smallville.cloud.bme.hu:~/.ssh/id_rsa
8 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
VM-ek konfigurálása
IPv6 kipucolása
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
vagy /etc/sysctl.conf fájlhoz hozzáadni
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
utána: sudo sysctl -p
resolvconf vs. systemd-resolved
sudo dpkg-reconfigure resolvconf (Yes, OK)
sudo apt update; sudo apt install apache2
9 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
VM-ek konfigurálása
Gateway (GW)
sudo systemctl stop bind9
sudo ifconfig eth1 up
(vagy: sudo ip link set dev eth1 up)
sudo ifconfig eth1 10.”ID”.0.1/24
(vagy: sudo ip addr add 10.”ID”.0.1/24 dev eth1)
Kliens (CLIENT)
sudo ifconfig eth1 up
sudo ifconfig eth1 10.”ID”.0.2/24
ellenőrzés:
ifconfig (vagy ip addr)
route -n (vagy: ip route)
cat /etc/resolv.conf
10 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
VM-ek konfigurálása
belépés: GW -> CLIENT
GW:~$ ssh -Y 10.”ID”.0.2
működik??
Igen: kliens “levágása” a default hálózatról
CLIENT:~$ sudo ifdown eth0
Nem: további tesztelés
~/.bashrc: force_color_prompt=yes
PS1=… 32m… 34m… vs. PS1=… 31m… 36m...
11 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Összeköttetés tesztelése
CLIENT <-> GW
GW <-> külvilág (INTERNET VM)
CLIENT <-> külvilág (INTERNET VM)
mi működik, mi nem?
12 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Hogyan tovább?
Belső hálózatról (CLIENT) szeretnénk “netezni”
NAT
Azért minden forgalmat nem szeretnénk
engedélyezni
Firewall
Manuális konfiguráció???
DHCP, DNS
13 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
NAT
iptables
14 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
SNAT konfigurálása (GW)
Első lépés: forwarding engedélyezése
alapból nem tudjuk routerként használni a gépünket
cat /proc/sys/net/ipv4/ip_forward
engedélyezés
sudo sysctl -w net.ipv4.ip_forward=1
címfordítás beállítása
15 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
SNAT konfigurálása (GW)
Első lépés: forwarding engedélyezése
alapból nem tudjuk routerként használni a gépünket
cat /proc/sys/net/ipv4/ip_forward
engedélyezés
sudo sysctl -w net.ipv4.ip_forward=1
címfordítás beállítása
iptables -t nat
-A POSTROUTING (append, új szabály hozzáfűzése a
POSTROUTING lánchoz)
-s 10.”ID”.0.0/24 (ha ez a source IP)
-o eth0 (ha ez az output interfész)
-j MASQUERADE (akkor source IP fordítása dinamikusan)
(output interfésztől függően)
16 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
SNAT konfigurálása (CLIENT)
default gateway beállítása
sudo route add default gw 10.”ID”.0.1 [dev eth1]
tesztelés
ping 8.8.8.8
ping telex.hu ???
17 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
DNAT konfigurálása (GW)
Adott porton tegyük elérhetővé kívülről a belső gép
web szerverét (8080)
de előtte installáljuk! (apache2)
címfordítás beállítása
18 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
DNAT konfigurálása (GW)
Adott porton tegyük elérhetővé kívülről a belső gép
web szerverét (8080)
de előtte installáljuk! (apache2):
sudo apt-get install apache2; sudo systemctl start apache2
címfordítás beállítása
iptables -t nat
-A PREROUTING (append, új szabály hozzáfűzése
PREROUTING-hoz)
-d 10.9.0.138 (ha ez a destination IP)
-p tcp (ha TCP protokoll)
--dport 8080 (és 8080-as TCP destination port)
-j DNAT (akkor destination IP:port fordítása)
--to-destination 10.0.0.2:80 (a belső web szerverre)
19 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
DNAT tesztelése
INTERNET VM gépről
web browser: lynx :)
http://10.9.0.X
http://10.9.0.X:8080
vagy nc
GW, CLIENT: nc -k -l 80
INTERNET VM: nc 10.9.0.X 80
INTERNET VM: nc 10.9.0.X 8080
20 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Firewall
iptables
21 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Firewall konfigurálása (GW)
Jó tanácsok:
default policy legyen DROP (vagy REJECT)
a kívánt forgalmakat külön-külön, explicit módon
engedélyezzük (ACCEPT)
amelyik csomag végigmegy minden láncon és
nincs illeszkedés, eldobásra kerül
a végére betehetünk egy loggoló szabályt, ami az
eldobás előtt egy log bejegyzést készít
22 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Firewall konfigurálása (GW)
Feladat
az előadáson látott példa alapján konfiguráljuk fel a GW
FORWARD láncát hasonló funkcionalitásra
de most az ssh-val nem kell foglalkozni, csak a web
forgalommal
szerkesztéshez pl. nano
24 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Firewall konfigurálása (GW)
#!/bin/bash Átmenő forgalom szűrése
# delete chains (FORWARD lánc)
iptables -F FORWARD
iptables -X # delete all user-specified chains előadáson bemutatott
iptables -Z # reset counters
# set default policies
példa
iptables -P FORWARD DROP
25 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Tesztelés
ping, web, közben logok figyelése
CLIENT -> INTERNET
26 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
DHCP
27 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Installáljunk dhcp szervert!
GW VM-en telepítve van
sudo apt-get install isc-dhcp-server
(Ubuntu-t vagy Debiant feltételezünk)
Internet Software Consortium implementációja
alapból nem indul
tesztelés (újabb systemd)
sudo systemctl status isc-dhcp-server
tesztelés (régebbi SysV init)
sudo service isc-dhcp-server status
28 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Konfiguráljunk dhcp szervert!
1. lépés
állítsuk be az interfészeket, ahol DHCP kéréseket kezelünk
/etc/default/isc-dhcp-server
2. lépés
konfiguráljuk a szervert
/etc/dhcp/dhcpd.conf
csak a saját kliensünket szolgálja ki!
mástól jön kérés, ignoráljuk
saját kliens mindig ugyanazt az IP címet kapja
3. lépés
isc-dhcp-server service indítása:
sudo systemctl start isc-dhcp-server
sudo systemctl status isc-dhcp-server
29 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Konfiguráljunk dhcp szervert!
1. lépés
állítsuk be az interfészeket, ahol DHCP kéréseket kezelünk
/etc/default/isc-dhcp-server 102
INTERFACESv4="eth1“
2. lépés
konfiguráljuk a szervert
/etc/dhcp/dhcpd.conf
csak a saját kliensünket szolgálja ki!
mástól jön kérés, ignoráljuk
saját kliens mindig ugyanazt az IP címet kapja
3. lépés
isc-dhcp-server service indítása:
sudo systemctl start isc-dhcp-server
sudo systemctl status isc-dhcp-server
30 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Teszteljük a kliens gépről!
Közben GW-en: wireshark capture
/etc/ssh/sshd_config: X11Forwarding11 yes és X11UseLocalhost no
sudo systemctl restart sshd… utána működik az X forwarding (ssh -Y)
CLIENT
trükkösen csináljuk egy lépésben!
manuálisan konfigurált cím törlése
cím kérése dhcp-vel
nohup sh -c ‘sudo ip addr del 10.ID.0.2/24 dev eth1; sudo dhclient eth1’
belépés GW-ről az új (dhcp) címen
routing tábla ellenőrzése
névfeloldás (resolv.conf fájl) ellenőrzése
teszt: ping telex.hu
31 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Kliens gép konfigurálása
Ha nem akarjuk kézzel kérni a címet
eth1 interfész konfigurálása az
/etc/network/interfaces fájlban:
auto eth1
iface eth1 inet dhcp
ezután használhatók a következő parancsok
sudo ifup eth1
sudo ifdown eth1
“auto” esetén indulásnál felkonfigurálódik
32 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
DNS
bind9
33 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
bind9
GW VM-en telepítve van
sudo apt-get install bind9
sudo netstat -aputne | grep -i listen
konfigurációs fájlok
/etc/bind könyvtár alatt
named.conf.default-zones
zone entry-k megadása
zone db hivatkozás (pl. db.local)
nézzünk meg pár példát!
34 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
A példa alapján
konfiguráljuk be
bind9 (db.root) a saját GW-t! (named.conf.options)
35 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
GW konfigurálása, tesztelés
bind9 indítása (vagy újraindítása)
sudo systemctl start bind9 (sudo service bind9 start)
sudo systemctl status bind9 (sudo service bind9 status)
milyen portokon figyel? milyen protokollt használ?
DHCP átkonfigurálása
saját DNS szerver (8.8.8.8 helyett)
DHCP szerver újraindítás!
forgalom rögzítése GW-en
wireshark vagy
sudo tcpdump -i any -ne port 53 [-vvv]
36 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
GW konfigurálása, tesztelés
bind9 indítása (vagy újraindítása)
sudo systemctl start bind9 (sudo service bind9 start)
sudo systemctl status bind9 (sudo service bind9 status)
milyen portokon figyel? milyen protokollt használ?
sudo netstat -aputne | grep named
udp és tcp!
53, 953
DHCP átkonfigurálása
saját DNS szerver (8.8.8.8 helyett)
DHCP szerver újraindítás!
forgalom rögzítése GW-en
wireshark vagy
sudo tcpdump -i any -ne port 53 [-vvv]
37 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
CLIENT konfigurálása
sudo dhclient -v eth1
cat /etc/resolv.conf
nameserver 10.”ID”.0.1
sudo systemd-resolve --status
(systemd-resolved vs. resolvconf)
tesztelés
ping telex.hu
38 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
CLIENT: “DNS teszt”
tesztelés a kliens gépről (közben GW-en capture)
dig stanford.edu +norecurse +short
41 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Kiugró
42 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Kiugró
Minden gyakorlat végén egy rövid (5 perces) kvíz
teszt kérdések a gyakorlat anyagából
Aki minden kérdésre jól válaszol
+1 pont a vizsgán
(de max 5 plusz pont gyűjthető)
(vizsga: 50 pontos)
FIGYELEM: a kvíz “multi-choice”-os
találat, ha minden jó válasz megjelölve (és egy rossz sem)
43 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Kiugró
https://sb.tmit.bme.hu/haepuz-gyak3-nf
44 Hálózatok építése és üzemeltetése, Hálózati funkciók gyak. - Sonkoly Balázs, BME-TMIT 2020/10/20
Hálózatok építése és üzemeltetése
Troubleshooting gyakorlat
1 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
1. feladat
Az alábbi hálózatban hiba lép fel, melynek eredményeként
legalább egy hoszt nem éri el az Internetet.
2 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
1. feladat
Milyen hibák léphetnek fel?
Mi a legjobb módja a hiba felderítésének? Milyen sorrendben
végezne teszteket a hálózat egyes elemein (hosztok, switchek,
router, tűzfal stb.)?
3 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
1. feladat – megoldás
Milyen hibák léphetnek fel?
Tápellátás; link/interfész hibák a hosztokon, switcheken, routeren;
rosszul konfigurált hosztok: rossz IP cím, netmask, gateway; rosszul
konfigurált switch portok; rosszul konfigurált router: nincs route az
Internet felé, rosszul beállított NAT, tűzfal; DNS hiba stb.
Milyen sorrendben végezne teszteket a hálózat egyes elemein
(hosztok, switchek, router, tűzfal stb.)?
Az egyik hosztról kiindulva feltérképezzük, hogy meddig vagyunk
képesek elérni a hálózatot: kapcsolatfelvétel a routerrel, más
hosztokkal a hálózaton. A router Internet elérésének tesztelése:
kapcsolat felvétele egy távoli géppel, kapcsolat felvétele egy távoli
webszerverrel.
Mi a legjobb módja a hiba felderítésének?
4 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Hibaelhárítás
Dokumentáljunk
Egy jól dokumentált hálózatban sokkal könnyebb hibát keresni
Gyűjtsünk információt és azonosítsuk a tüneteket
Szűrjük ki azokat, amelyeknek közük lehet a hibához
Szükséges a normális viselkedés ismerete
Ha nem személyesen tapasztaljuk a hibát, próbáljuk meg reprodukálni
Ismerjük meg a problémát
A gyűjtött adatok alapján keressünk okokat, melyek az adott
tüneteket okozhatják
Azonosítsuk azokat a rendszerelemeket, melyek részt
vehetnek a probléma kialakulásában
5 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Hibaelhárítás
Állítsunk fel tesztelhető hipotéziseket az eddig begyűjtött
ismeretekre alapozva
Állapítsuk meg, mely tesztekkel lehet ezeket a leghatékonyabban
elkülöníteni egymástól
Válasszunk és alkalmazzunk teszteket
Szempontok: erőforrásigény, komplexitás és információtartalom
Adott esetben egy egyszerű teszt jelentős információval szolgálhat,
míg a komplex teszt nem feltétlenül hoz a bonyolultságával arányos
többlet információt
Értékeljük az eredményeket
Ezek alapján egyre hatékonyabb teszteket végezhetünk és
finomíthatjuk a hipotézisünket
6 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Hibaelhárítás
Készítsünk megoldási javaslatokat és elemezzük, értékeljük őket
Több megoldás is lehet egy problémára, eltérő hatékonysággal
A jelenlegi helyzetnek legmegfelelőbbet válasszuk
Lehet, hogy a legjobb megoldás jelenleg nem kivitelezhető, viszont egy
nem optimális ideiglenes megoldás már elfogadható eredményeket
hozna: értékeljük, milyen pozitív illetve negatív hatásai lennének az
ideiglenes megoldásnak az optimálissal szemben
Alkalmazzuk a választott megoldást és értékeljük az eredményeket
Definiáljuk, mit várunk el a választott megoldástól
Ellenőrizzük, hogy a választott megoldás ténylegesen a várt
eredményeket hozza-e
7 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Hibaelhárítás
A hibajelenségek általában elég bonyolultaknak
tűnnek, de ez nem feltétlenül jelenti azt, hogy
valami rendkívül összetett probléma az okozójuk
Gyakran egy egyszerű hiba is szerteágazó
problémákhoz vezethet
Érdemes ezért minidig a legegyszerűbb hibákat
feltételezni, és első körben azokat kizárni
8 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Eszközök
9 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
1. feladat
Az alábbi hálózatban hiba lép fel, melynek eredményeként
legalább egy hoszt nem éri el az Internetet.
Milyen hibakereső eszközöket használna a hiba feltárásához,
milyen sorrendben?
10 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
ARP cache
ARP cache: az eszköz által rögzített IP cím–fizikai cím
összerendeléseket rögzíti
Az arp parancs használatával az ARP cache kérdezhető le vagy
állítható be
A -n kapcsoló használatával elkerülhető a kapott IP címek feloldása
A -i kapcsoló használatával szűkíthető az információ egy adott
interfészre
Pl.: $ arp –ni eth0
A lekérdezéshez használható az ip neighbor (ip neighbour)
parancs is
Pl. összes interfész lekérdezése: $ ip n
Pl. csak az eth0 lekérdezése: $ ip n show dev eth0
11 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Interfész beállítások
Az ifconfig parancs az interfészek IP paramétereinek beállítására,
lekérdezésére használható
Alapértelmezetten azt adja meg, hogy mely interfészek működnek
jelenleg,
és ezekhez milyen konfiguráció tartozik:
A jelenleg használt IP cím, netmask
Statisztikát készít a fogadott és küldött csomagokról és az ezekkel kapcsolatos
hibákról
A -a kapcsoló segítségével megnézhetjük az összes (működő és nem
működő) interfészt
Interfész konfigurálása:
$ sudo ifconfig <interfész név> <IP cím> netmask <netmask> [up]
Pl.: $ ifconfig eth0
12 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Interfész beállítások
Az ip address/ip link parancsok is
használhatók
Pl.: $ ip a
Pl.: $ ip l
Interfész konfigurálása:
Interfész bekapcsolása:
$ sudo ip link set <interfész név> up
IP cím hozzárendelése:
$ sudo ip address add <IP cím>[/<netmask>] dev <interfész név>
Törlés:
$ sudo ip address del ...
13 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
netcat
A netcat egy egyszerű szoftveres eszköz,
amivel TCP vagy UDP hálózati kapcsolatokat
használva írhatunk vagy olvashatunk adatokat
–z kapcsoló: ellenőrzi, hogy a célon hallgat-e
megfelelő folyamat
–v kapcsoló: bővebb információt ad
Pl. $ nc google.com 80
HEAD / HTTP/1.0
14 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
telnet
A telnet alapvetően távoli bejelentkezéshez
volt használható, mely helyett biztonsági
okokból az ssh használatos
Használható hibakereséshez: nyílt szöveget küld
a fogadó félnek, így szöveges alapú
kiszolgálóhoz csatlakozhat, és ellenőrizheti a
működésüket
Pl. $ telnet google.com 80
HEAD / HTTP/1.0
15 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
ssh
Az ssh titkosított kommunikációt biztosít
hosztok között nem megbízható hálózat felett
Lehetővé teszi a bejelentkezést távoli
gépekre, valamint utasítások végrehajtását
A –X kapcsoló használatával X11 kapcsolatok
felépítését is biztosítja
16 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
nslookup
Az nslookup segítségével a címfeloldás
ellenőrizhető
Egy név alapján a DNS kiszolgálók segítségével
megkísérli kikeresni a névhez tartozó IP címet
vagy címeket
Paraméterként megadhatjuk azt a DNS szervert,
melytől a lekérdezés eredményét várjuk:
$ nslookup <keresett név> [<DNS szerver IP címe>]
Pl. $ nslookup google.com
17 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
ping
A ping révén egyszerű kapcsolat felvételi
teszt végezhető
ICMP echo requesteket küld és az ezekre
érkezett replyokból kiszámolja a körülfordulási
időt
Pl. $ ping google.com
Miért szakad meg a ping?
18 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Útválasztás
A route parancs használható útválasztási szabályok
felvételére, törlésére és lekérdezésére
Lekérdezéskor megkapjuk a cél hálózat címét és
maszkját, azt az átjárót és interfészt, amin keresztül
a hálózat elérhető
A -n kapcsoló használatával gyorsítható a lekérdezés,
ilyenkor a routing táblában tárolt IP címeket nem
kísérli meg DNS használatával feloldani az eszköz
Pl. $ route -n
19 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Útválasztás
Default gateway konfigurálása a route parancs használatával:
$ sudo route add default gw <default gw IP címe>
Route létrehozása:
$ sudo route add –net <IP cím> netmask <netmask>
gw <gateway IP címe> <saját interfész neve>
Pl.:
20 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Útválasztás
Default gateway konfigurálása ip route használatával:
$ sudo ip route add default via <IP cím>
Route létrehozása:
$ sudo ip route add <IP cím>/<netmask> via <IP cím>
Pl.:
23 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
tcpdump
A tcpdump segítségével egy interfészen
áthaladó csomagokat tudjuk megjeleníteni
Nem használ GUI-t
Pl. $ sudo tcpdump –i eth0
24 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Feladatok
25 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
VM
Jobb egérgomb: Fluxbox menü
TS seminar: gyakorlat feladatai
Keyboard layout: angol/magyar
billentyűzetkiosztás
Alt + F1: új xterm indítása
Egyszerre csak egy Firefox
legyen elindítva
26 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
2. feladat (VM)
A hálózatban jelenleg minden hoszt végez átvitelt.
Figyelje meg, hogy milyen irányban folyik adatátvitel és dokumentálja az
eredményeit!
ssh segítségével lépjen be az egyes hosztokra (pl. h1 esetén használja az
$ ssh -X h1 utásítást)!
Indítsa el a Wireshark monitorozó eszközt ($ sudo wireshark &), majd figyelje meg az
eth0 interfész forgalmát!
Jegyezze fel a következőket:
az adott hosztra honnan érkezik forgalom és ez milyen típusú (protokoll)?
az adott hosztról merre indul forgalom és ez milyen típusú (protokoll)?
a végpontoknak mi a MAC címük?
A megfigyelései alapján milyen bejegyzéseket kellene tartalmaznia a router
ARP cache-ének?
Milyen utasítások használatával derítené fel, hogy egyezik-e az ARP cache
tartalma az elvártakkal?
27 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
2. feladat (VM) – megoldás
Figyelje meg, hogy milyen irányban folyik adatátvitel és dokumentálja az
eredményeit!
ping (ICMP): h1 r1, h2 h4, h3 r1, h4 h2; UDP forgalom: h4 h1. A MAC
címeket a Wireshark középső ablakában az Ethernet II mező adja meg. (A
h1-re történő bejelentkezéshez az ssh -X h1 parancs használható.)
A megfigyelései alapján milyen bejegyzéseket kellene tartalmaznia a
router ARP cache-ének?
A h1, és h3 eth0 interfészeinek MAC címeit kellene látni.
Milyen utasítások használatával derítené fel, hogy egyezik-e az ARP
cache tartalma az elvártakkal?
arp -n a routeren és ifconfig h<1, 3>-eth0 a hosztokon, vagy a
Wireshark eredményei alapján meghatározott MAC címeket lehet itt is
használni.
28 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
3. feladat (VM)
A hálózatban a h1 hoszt csak részlegesen tud
kommunikálni a hálózattal: bizonyos hosztokat elér,
míg másokat nem, valamint az s1 szerverrel sem
képes kommunikálni. A hoszt IP címe és hálózati
maszkja statikusan van konfigurálva.
Mi lehet a probléma?
Tesztelje a többi hoszt elérhetőségét ping segítségével!
Ellenőrizze a h1 interfészének konfigurációját és vesse
össze a hálózat ábrájával!
Javítsa a hibát!
29 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
3. feladat (VM) – megoldás
Tesztelje a többi hoszt elérhetőségét ping segítségével!
pinget használva rájöhetünk, hogy a h1 eléri a h4-et, de az r1-et, h2-t és h3-at nem.
Ellenőrizze a h1 interfészének konfigurációját és vesse össze a hálózat ábrájával!
A h1-en az ifconfig kimenetét megvizsgálva látható, hogy /25-ös maszk van
megadva /24-es helyett. Ha a route kimenetét nézzük meg előbb, látható, hogy
rossz default gw van beállítva.
Javítsa a hibát!
Az ifconfig javítása után a default gw-t is meg kell adni.
30 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
4. feladat
Egy irodában az a szokás, hogy a dolgozók az asztalok között vándorolnak,
és ilyenkor viszik magukkal a laptopjukat is. Mivel a wifi elérhetősége nem
mindenütt megfelelő, ezért a dolgozók vezetékes kapcsolaton keresztül
csatlakoznak a hálózatra. Egy dolgozó az egyik nap azonban azt veszi
észre, hogy míg korábban tetszőleges asztalhoz leülve sikeresen
csatlakozott a hálózathoz, most ugyan az első helyen, ahol csatlakozni
próbált, ott sikerült neki, de amikor átment egy másik helyre – ahol
korábban már ült valaki –, ott már nem. Furcsa módon amikor az előzőleg
ott ülő kolléga visszatér, neki sem sikerül csatlakozni a hálózathoz.
A két munkatárs értesíti is önt a szokatlan hibajelenségről. Önnek eszébe
jut, hogy most lépett érvénybe a cég új hálózati policyje, mely azt célozza,
hogy illetéktelenek ne csatlakozhassanak a hálózatra. Milyen problémára
kezd gyanakodni? Hogyan oldaná meg? Megfelelőnek tartja-e az ilyen
típusú védekezést az illetéktelenek hálózatra kapcsolódása ellen?
31 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
4. feladat – megoldás
Milyen problémára kezd gyanakodni?
A switchek megtanulják, hogy milyen MAC címről csatlakoztak hozzájuk és csak azt
az egyet hajlandóak beengedni. Ha más MAC címmel csatlakozunk az adott portra,
azt a portot letiltja a switch.
Hogyan oldaná meg?
Be lehetne állítani, hogy több MAC címről is lehessen csatlakozni az interfészre,
vagy ha valaki lecsatlakozik, akkor azt egy idő után felejtse el. Azt is be lehetne
állítani, hogy amikor nem engedélyezett felhasználó csatlakozik egy switch
porthoz, akkor azt logolja, az ő forgalmát dobja, de a korábban megtanult MAC
címről később engedélyezze a forgalmat. Lehet az is, hogy az összes MAC címet
összegyűjtik, amiről lehet majd csatlakozni, és ezeket adják meg
engedélyezendőként.
Megfelelőnek tartja-e az ilyen típusú védekezést az illetéktelenek hálózatra kapcsolódása ellen?
A MAC cím alapú szűrés nem feltétlenül nyújt biztonságot, hiszen egy hálókártya
MAC címe módosítható.
32 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
5. feladat
Az alábbi hálózat esetén, a h1 hoszt egyik – hálózati
megoldásokban nem igazán jártas – felhasználója
szeretne fájlokat megosztani az s1 előtt ülő ismerősével.
33 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
5. feladat
Egy egyszerű fájl szerver indítása után lekérdezi a h1 IP
címét és átküldi azt ismerősének. Az s1 előtt ülő
felhasználó ezt az IP címet használva szeretne csatlakozni
h1-hez, azonban nem tud.
A h1 hoszt felhasználója
vajon milyen IP címet
kérdezhetett le és milyen
eszközzel?
Mi lehet az oka, hogy s1
nem tud kapcsolódni h1-hez?
34 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
5. feladat – megoldás
A h1 hoszt felhasználója vajon milyen IP címet kérdezhetett le és
milyen eszközzel?
Privát IP címet pl. ifconfiggal, vagy akár nyilvánosat pl. a google vagy
a http://www.whatsmyip.org/ használatával.
Mi lehet az oka, hogy s1 nem tud kapcsolódni h1-hez?
Az első esetben egyértelmű a probléma, a h1 privát IP címe a hiba, a
második esetben tűzfal vagy NAT beállítások okozhatják a hibát. Tűzfal
esetén előfordulhat, hogy csak olyan adatáramlás engedélyezett, mely
a h1 hálózatán belülről indul, és csak az erre érkező válaszok juthatnak
át a tűzfalon. Dinamikus NAT használatakor lehetséges, hogy a fájl
szerverhez nem került még nyilvános IP cím/port lefoglalásra, vagy egy
másik publikus IP cím tartozik hozzá, mint amit a HTTP alapú
lekérdezéskor kapott a h1 felhasználója.
35 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
6. feladat
Egy irodai hálózaton – ahol egyre több eszköz
kapcsolódik a hálózatra – DHCP-n keresztül kapja
minden hoszt a hálózati konfigurációját. Néha előfordul,
hogy egy-egy hoszt nem képes csatlakozni a hálózathoz.
Ilyen esetben az interfész konfigurációt lekérdezve ön
azt tapasztalja, hogy az eszköz nem kapott IP címet.
Miért lehet ez?
Nagyvonalakban hogyan ellenőrizné, hogy helyes-e a
megállapítása?
Mi lehet a megoldás a problémára?
36 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
6. feladat – megoldás
Miért lehet ez?
A DHCP pool kimerül és már nem jut IP cím a hosztnak.
Nagyvonalakban hogyan ellenőrizné, hogy helyes-e a
megállapítása?
Ellenőrizni lehet úgy, hogy a hoszton újrakezdjük a DHCP
konfigurációkérési folyamatot és közben figyeljük a
beérkező csomagokat, vagy a DHCP szerverre bejelentkezve
lekérdezzük, hogy a kiosztható IP címek közül mennyi
foglalt.
Mi lehet a megoldás a problémára?
Megoldás lehet a DHCP pool méretének növelése.
37 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
7. feladat (VM)
A hálózatban a h1 hosztról nem érhető el az s1 szerver.
Mi lehet a probléma?
A h1 hosztra történő bejelentkezés után nslookup
használatával kérdezze le a 192.168.0.252-es IP címen
elérhető DNS szervertől az s1.tslab IP címét!
Indítson pinget a kapott IP címre! Hogyan értékeli a
kapott eredményt?
Hogyan lehet javítani a hibát?
38 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
7. feladat (VM)
A hálózatban a h1 hosztról nem érhető el az s1 szerver.
Mi lehet a probléma?
A h1 hosztra történő bejelentkezés után nslookup használatával
kérdezze le a 192.168.0.252-es IP címen elérhető DNS szervertől az
s1.tslab IP címét!
Indítson pinget a kapott IP címre! Hogyan értékeli a kapott
eredményt?
Hogyan lehet javítani a hibát?
Statikus bejegyzéssel? Elég hatékony-e a kapott routing tábla,
össze lehet-e vonni benne bejegyzéseket?
Ha kézzel nem lehet módosítani r1 routing tábláját, de tudjuk, hogy
r2 OSPF-et futtat?
39 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
7. feladat (VM) – megoldás
Mi lehet a probléma?
Jelentkezzünk be h1-re (ssh h1), kérdezzük le nslookup segítségével az s1 IP címét (nslookup s1.tslab
192.168.0.252). A ping 125.0.1.138 eredményeként látható, hogy a gw (192.168.0.1) nem talál utat
s1-hez (...From 192.168.0.1 icmp_seq=1 Destination Net Unreachable...). r1-re bejelentkezve
(ssh r1), majd a routing táblát lekérdezve (route -n vagy ip route show) látható, hogy a szerver címe
már pont nincs lefedve route-tal: csak a125.0.1.0/25 hálózat felé van route, de s1 (125.0.1.138) már kiesik
ebből a tartományból.
Hogyan lehet javítani a hibát?
Adjuk hozzá r1 routing táblájához a maradék tartományt is:
Így már pingelhető s1, viszont a routing tábla lehetne egyszerűbb is: a 125.0.1.0/25 és a 125.0.1.128/25-
ös bejegyzések összevonhatóak.
Vagy csak kapcsoljuk be és konfiguráljuk az OSPF-et r1-en is (ehhez nincs támogatás a VM-en).
40 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
8. feladat (VM)
A hálózat felhasználói arra panaszkodnak, hogy amikor az s1.tslab
oldalt szeretnék betölteni, akkor azon a Welcome to s2! felirat
olvasható. Az s2.tslab oldal betöltésekor is hasonló problémába
ütköznek. Ön már tudja, hogy az s1 és az s2 a megfelelő oldalakat
ajánlja ki, a h1 felől mégsem ez látszik.
h1-re történő bejelentkezés után egy böngésző (Firefox) segítségével
ellenőrizze le, hogy valóban fennáll-e a hiba! (A böngésző kissé lassan
tölti be az oldalt.)
Mi történik, ha nem az s1.tslab ill. az s2.tslab neveket írja a böngésző
címsorába, hanem azok IP címét? (Az IP címeket a hálózat ábráján találja.)
Mi lehet a probléma oka? (nslookup használatával ellenőrizze a
címfeloldást!)
Milyen IP címen keresné a problémát okozó eszközt?
41 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
8. feladat (VM) – megoldás
h1-re történő bejelentkezés után egy böngésző (Firefox) segítségével ellenőrizze le, hogy valóban
fennáll-e a hiba!
$ ssh -X h1
$ firefox
Az s1.tslab oldalra navigálva tényleg rossz oldal töltődik be. Az s2.tslab esetén is.
Mi történik, ha nem az s1.tslab ill. az s2.tslab neveket írja a böngésző címsorába, hanem azok IP
címét?
A 125.0.1.254 (s1) ill. a 125.0.1.253 (s2) IP címeket használva a helyes oldalak töltődnek be.
Mi lehet a probléma oka? (nslookup használatával ellenőrizze a címfeloldást!)
A hibát az okozza, hogy a DNS szerverben a két szerverhez kapcsolódó címek fel vannak
cserélve. Az nslookup s1.tslab és nslookup s2.tslab eredményéből látható is, hogy az
ábrához képest a címek fel vannak cserélve.
Milyen IP címen keresné a problémát okozó eszközt?
Az előző pontban futtatott nslookupok alapján látható, hogy a hibás DNS szerver a
192.168.0.252-es IP címen érhető el. A feladatban a szerver szerepét a h1-en futó dnsmasq
játssza, a hibás bejegyzéseket a ~/ts-sem/dns/dnserr fájl tartalmazza.
42 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
9. feladat
Az előző feladat tanulságait felhasználva
válaszolja meg a következő kérdéseket!
Ha egy hálózatban a hosztok képesek elérni
egymást nevek használatával, de egyetlen
külső szervert sem képesek név alapján elérni,
csak közvetlenül IP címet használva, akkor
milyen problémára gyanakodna?
Milyen megoldás jöhet szóba?
43 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
9. feladat – megoldás
Ha egy hálózatban a hosztok képesek elérni egymást
nevek használatával, de egyetlen külső szervert sem
képesek név alapján elérni, csak közvetlenül IP címet
használva, akkor milyen problémára gyanakodna?
A helyi DNS nincs helyesen konfigurálva, nem
hivatkozik felsőbb rendű DNS szerverre, így ami nincs
a saját címtárában, azt nem is ismeri.
Milyen megoldás jöhet szóba?
Ezt a felsőbb rendű DNS szervert kellene megadni.
44 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
10. feladat (VM)
Időnként a h1 vagy a h2 hoszt felhasználóitól hibabejelentést kap, mely szerint
az s1 szerver időnként elérhetetlen. Amikor viszont ön próbál kapcsolódni a
hosztokról az s1-hez, minden esetben sikeres a kapcsolatfelépítés. Más
hosztok felhasználóitól sem érkezik ilyen panasz, és ön a saját hosztjáról is
bármikor képes elérni az s1 szervert. Ma éppen sem a h1, sem a h2 hosztot
nem használja senki. Úgy dönt, kivizsgálja az esetet.
A h1 hosztra történő bejelentkezés után pingelje meg az s1 szervert!
Anélkül, hogy leállítaná az előző pinget, a h2 hosztról szintén pingelje meg az s1
szervert!
Mit tapasztal? Mit gondol, miért történhet ilyen?
Hasonlítsa össze a h1 és h2 interfész konfigurációját az ifconfig parancs
használatával!
Válasszon egy szabad IP címet a hálózaton és ennek megfelelően javítsa a hibát a h2
hoszton! Ne felejtse el beállítani a default gateway-t! Ellenőrizze, hogy a probléma
még mindig fennáll-e!
45 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
10. feladat (VM) – megoldás
h1 hosztra történő bejelentkezés után pingelje meg az s1 szervert!
$ ssh h1
$ ping 125.0.1.254
Anélkül, hogy leállítaná az előző pinget, a h2 hosztról szintén pingelje meg az s1 szervert!
$ ssh h2
$ ping 125.0.1.254
Mit tapasztal? Mit gondol, miért történhet ilyen?
Először a h1-ről indított ping probléma nélkül fut, majd amikor h2-ről indítunk pinget, megáll, és többet nem is indul újra
(akkor sem, ha h2-n megállítjuk a pinget). A jelenség IP cím ütközésre utal.
Hasonlítsa össze a h1 és h2 interfész konfigurációját az ifconfig parancs használatával.
ifconfig h<1 vagy 2>-eth0-t futtatva látható, hogy mind a két hoszt ugyanazt az IP címet használja.
Válasszon egy szabad IP címet a hálózaton és ennek megfelelően javítsa a hibát a h2 hoszton! Ne felejtse el beállítani a
default gateway-t! Ellenőrizze, hogy a probléma még mindig fennáll-e!
A maradék két hosztra bejelentkezve látható, hogy a 192.168.0.3 (h3) és a 192.168.0.251-es (h4) ill. a 192.168.0.1-es
cím (r1) címek foglaltak. Bármi más szabadon használható, válasszuk mondjuk a 192.168.0.2 címet:
Ha ezután h1-ről megpróbáljuk pingelni s1-et, továbbra is sikertelen lesz, mivel a h2 és s1 közötti eszközök még nem
értesültek arról, hogy h2 IP címét lecseréltük. Ezért először h2-ről kell pingelni s1-et, majd ezután h1-ről is elindítva a
pinget kapjuk a várt eredményt.
46 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
11. feladat (VM)
A hálózatban az s1 és az s2 szerverek 80-as portján egy-egy
HTTP szervernek kellene elérhetőnek lennie. A hálózat
felhasználói viszont arra panaszkodnak, hogy az s2 szerveren
lévő weboldat nem érik el. Feltételezhetjük, hogy a hálózattal
minden rendben van. Mi lehet a probléma?
A h1 hoszton indítson el egy böngészőt és hasonlítsa össze, hogy
milyen eredményeket kap az s1.tslab ill. az s2.tslab oldalakat betöltve!
netcat használatával ellenőrizze, hogy a 80-as port nyitott-e az s2
szerveren! (A lekérdezéskor a szerver IP címét használja!)
netcat vagy telnet használatával csatlakozzon az s1 és s2 szerverek
80-as portjára és ellenőrizze, hogy ott valóban egy HTTP szerver
található-e! Értékelje az eredményeket!
47 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
11. feladat (VM) – megoldás
A h1 hoszton indítson el egy böngészőt és hasonlítsa össze, hogy milyen eredményeket kap az
s1.tslab ill. az s2.tslab oldalakat betöltve!
Az s1.tslab betölt, az s2.tslab nem.
netcat használatával ellenőrizze, hogy a 80-as port nyitott-e az s2 szerveren! (A lekérdezéskor a
szerver IP címét használja!)
$ nslookup s2.tslab
$ nc -z -v 125.0.1.253 80
netcat vagy telnet használatával csatlakozzon az s1 és s2 szerverek 80-as portjára és ellenőrizze,
hogy ott valóban egy HTTP szerver található-e! Értékelje az eredményeket!
$ nc 125.0.1.254 80
HEAD / HTTP/1.0
$ nc 125.0.1.253 80
HEAD / HTTP/1.0
Semmi válasz.
Az s2 80-as portján vagy nem egy HTTP szerver figyel, vagy be van fagyva és nem válaszol.
48 Hálózatok építése és üzemeltetése, Troubleshooting gyak. – Gulyás András, Pelle István, BME-TMIT 2020/10/28
Hálózatok építése és üzemeltetése
OSPF gyakorlat
Netkit, Quagga
netkit-lab_ospf-singlearea
pont-pont
linkeknél
router-
router él
27 Hálózatok építése és üzemeltetése, OSPF gyakorlat - Sonkoly Balázs, BME-TMIT 2020/11/25
Designated Router (DR) és BDR
Broadcast
hálózatoknál
pl. Ethernet
DR és Backup DR:
kitüntetett routerek
választás alapján
router id alapján (max.)
(ami interfész id)
többi OSPF router csak
velük van full
szomszédságban
különben mindenki-
mindenkivel
kommunikálna
útvonalfrissítés csak
show ip ospf DR-től
router legnagyobb
IP címe
interface sok erőforrás spórolható
28 Hálózatok építése és üzemeltetése, OSPF gyakorlat - Sonkoly Balázs, BME-TMIT 2020/11/25
29 Hálózatok építése és üzemeltetése, OSPF gyakorlat - Sonkoly Balázs, BME-TMIT 2020/11/25
30 Hálózatok építése és üzemeltetése, OSPF gyakorlat - Sonkoly Balázs, BME-TMIT 2020/11/25
forrás: http://wiki.netkit.org/netkit-labs/netkit-labs_advanced-topics/netkit-labs_ospf/netkit-labs_ospf.pdf
router
legnagyobb IP
címe
h2-eth0 h3-eth0
10.0.0.2/8 10.0.0.3/8
h2 h3
h2 h3
controller
h2-eth0 h3-eth0
10.0.0.2/8 10.0.0.3/8
h2 h3
lo h3-eth0
h2-eth0
10.0.0.2/8 10.0.0.3/8
h2 h3
h2-eth0 h3-eth0
10.0.0.2/8 10.0.0.3/8
h2 h3
mininet> h1 ping h5
…
mininet> h1 ping h5
PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data.
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=232 ms
64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=186 ms
64 bytes from 10.0.0.5: icmp_seq=3 ttl=64 time=121 ms
^C
POX> arp
…
Hálózatok építése és üzemeltetése, OpenFlow / SDN kontroller gyakorlat, BME-TMIT 2019-11-27
☻
pox.py log.color log.level --DEBUG forwarding.l2_learning proto.arp_responder --10.0.0.5=00:00:00:00:00:05 --
10.0.0.1=00:00:00:00:00:01 py
mininet> h1 ping h5
PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data.
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=232 ms
gyorsabb az első PING, mert az első switch felküldi az
ARP requestet a kontrollernek, ami rögtön
megválaszolja; nem kell a csomagot 5 hopon keresztül
küldeni
POX> arp
POX CLI, lekérdezi az arp modul egyik változóját: az ARP
táblát.
Hálózatok építése és üzemeltetése, OpenFlow / SDN kontroller gyakorlat, BME-TMIT 2019-11-27
Szorgalmi (iMSc) feladat: POX módosítása
Soronként megadni az ARP táblát macerás.
Egyszerűbb is lehet az üzemeltetés, ha ismerjük a
topológiát vagy algoritmikusan kikövetkezethető a
tábla.
Jelenleg: 10.0.0.X 00:00:00:00:00:X
Írjuk át az arp_responder modult, hogy automatikusan
válaszoljon a 10.0.0.0/24-es kérésekre!
http://http://vm.smallville.cloud.bme.hu:11553/file.pcap
CHAP hitelesítés
MSCHAPv2 Hitelesítés
EAP-TTLS-PAP hitelesítés
PEAP-MSCHAPV2 hitelesítés