83
Ezen beállítások után már van két működő hálózati kártyánk eth0 egy belső hálózatra
kapcsolódik, eth1 pedig a fizikai gépünkön keresztül az Internetre.
A könnyebb követhetőség kedvéért egyszerre csak egy kártyával foglalkozunk, közben a
másikat letiltjuk. Telepítésékor az eth0 kártyát tiltjuk majd le, teszteléskor, vagy mikor a
klienssel kívánunk kommunikálni, akkor pedig az eth0 kártyát.
A tiltást az $ ifconfig ethX down az engedélyezést pedig az $ ifconfig ethX
up parancsokkal végezzük, ahol X a kérdéses kártya száma.
9.1.1. Telepítés Ubuntu serverre
Az alábbi műveleteket, mindig rendszergazda parancssorban ( $ sudo -s ) végezzük.
frissítsük a csomaglistát
$ apt-get update
csomagkezelővel telepítsük a squid csomagot
$ apt-get insatll squid -y
sikeres telepítés után a konfigurálás előtt készítsünk biztonsági másolatot az eredeti fájlról
$ cp /etc/squid3/squid.conf /etc/squid3/squid.conf.original
ezen a ponton már tesztelhető a beállítás az alábbi lépésekkel
engedélyezzük a belső csatolós kártyát
$ ifconfig eth0 up
a desktop gépen indítsuk el a Firefox böngészőt, majd a Szerkesztés->Beállíátsok->Haladó
ablak Hálózat fülén a Kapcsolat rész alatt kattintsunk a beállítások gombra, és állítsuk be
proxykiszolgálónak a szervert, majd zárjuk be a beállításokat és írjunk be a címsorba egy
tetszőleges címet pl.: www.google.com. Erre egy a proxy serverünk által generált megtagadó
üzenetet kell kapnunk. 9. SQUID proxy szerver konfigurálása
(Kovács Péter)
84
65. ábra.
9.2. Telepítés és konfigurálás
Engedélyezzük a hozzáférést a kliensünk számára, a /etc/squid/squid.conf fájl szerkesztésével
$ nano /etc/squid3/squid.conf
keressük meg a fájlban az acl kezdetű sorokat, és utánuk egy új sorba adjuk hozzá az alábbi
bejegyzést
acl internal_network src 192.168.1.0/24
majd keressük meg a http_access kezdetű sorokat, és ezek elé egy új sorba vegyük fel az
alábbi sort
http_access allow internal_network
Ezen a ponton ismét tesztelhetjük a beállításokat a kliens web böngészőjében, ha mindent jól
csináltunk, akkor eltűnik a tiltó üzenet, ám a weboldal nem jelenik meg, helyette egy DNS
szerver hibát kapunk.
2013. október 18., péntek
ip
auto eth1
iface eth1 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.253
Mentsük el a konfigurációs állományt (Ctrl+O), és zárjuk be a szerkesztőt (Ctrl+X). A
beállítások nem érvényesülnek automatikusan, ezért vagy az érintett interfész
leállítása/újraengedélyezése (ifdown/ifup) vagy a hálózati alrendszer újraindítása
szükséges. A dinamikusan (DHCP) és statikusan megadott alapértelmezett átjáróbeállítások
közötti konfliktus elkerülése érdekében a fenti beállítások érvényesítése előtt először állítsuk
le az eth0 interfészt.
$ sudo ifdown eth0
Ennek elmaradása esetén az eth1 újraengedélyezését követően a konfliktust „RTNETLINK
answers: File exist” hibaüzenetet jelzi. Mivel most csak a különböző beállítási módokat
szeretnénk kipróbálni, ezért az eth0 ideiglenes kikapcsolásával nem vesztünk semmit. A
beállítások érvényesítése érdekében az eth1 interfészt ki és bekapcsoljuk:
$ sudo ifdown eth1 && sudo ifup eth1
iface eth1 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.253
Mentsük el a konfigurációs állományt (Ctrl+O), és zárjuk be a szerkesztőt (Ctrl+X). A
beállítások nem érvényesülnek automatikusan, ezért vagy az érintett interfész
leállítása/újraengedélyezése (ifdown/ifup) vagy a hálózati alrendszer újraindítása
szükséges. A dinamikusan (DHCP) és statikusan megadott alapértelmezett átjáróbeállítások
közötti konfliktus elkerülése érdekében a fenti beállítások érvényesítése előtt először állítsuk
le az eth0 interfészt.
$ sudo ifdown eth0
Ennek elmaradása esetén az eth1 újraengedélyezését követően a konfliktust „RTNETLINK
answers: File exist” hibaüzenetet jelzi. Mivel most csak a különböző beállítási módokat
szeretnénk kipróbálni, ezért az eth0 ideiglenes kikapcsolásával nem vesztünk semmit. A
beállítások érvényesítése érdekében az eth1 interfészt ki és bekapcsoljuk:
$ sudo ifdown eth1 && sudo ifup eth1
dns / bind
52
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
A munkaállomás eth0 interfészének konfigurációja az alábbi lesz:
IPv4 cím: 192.168.1.2
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
DNS kiszolgáló: 192.168.1.254
Névkeresési tartományok: gyakorlat.gamf.hu gamf.hu kefo.hu
4.2. Telepítés és konfigurálás
A DNS kiszolgálóként a BIND9 (Berkeley Internet Name Domain) szoftvert használjuk.
Ehhez a bind9 és a dnsutils csomagokat kell telepítenünk. Elsőként frissítjük gépünkön a
csomag adatbázist, majd telepítjük a csomagokat.
$ sudo apt-get update
$ sudo apt-get install bind9 dnsutils
Telepítés után automatikusan elindul a szerver. Az alap konfiguráció egy csak gyorstárazó
szervert ad egy egyszerű konfigurálást követően, a jelen gyakorlatban azonban egy elsődleges
mestert kell létrehoznunk, ezért leállítjuk a kiszolgálót
$ sudo service bind9 stop
majd elkezdhetjük a konfigurálást. A konfigurációs állományok az /etc/bind könyvtárban
vannak. A fontosabb állományok az alábbiak:
named.conf – itt szerepelnek a további konfigurációs állományok
befűzésére vonatkozó utasítások, tartalmát nem változtatjuk.
named.conf.options – itt állítjuk be a lekérdezés továbbítást, rekurzív lekérdezést,
stb.
named.conf.local – itt definiáljuk a zónákat.
db.root – gyökérszintű névkiszolgálók listája
Szerverünkkel a következő szolgáltatásokat szeretnénk nyújtani:
Autoritatív (mérvadó) névfeloldás a saját zóna számára (mester).
Gyorstárazó (caching) névszolgáltatás a többi domén gépeiről. A gyorstárazó szerver más
kiszolgálóktól szerzi be az információt, és lokálisan (gyorstárban) tárolja azt.
Rekurzív lekérdezés a saját alhálózat rezolverei által kezdeményezett névfeloldási
kéréseknél. Rekurzív névfeloldásnál a DNS kiszolgáló teljes mértékben megválaszolja
keresési kérdést vagy hibaüzenetet ad. Ennek alternatívája az iteratív névfeloldás, amikor
a kiszolgáló részleges választ ad (az adott zónához közelebbi felelős DNS kiszolgáló
címe). Pl. ha a www.iit.uni-miskolc.hu IPv4 címét keressük egy külső hálózat névszervere
segítségével, akkor, ha az adott kiszolgáló rekurzívra van konfigurálva, akkor visszaküldi
rezolverünknek a célgép címét, egyébként pedig rezolverünk visszakapja az uni-Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
53
miskolc.hu névkiszolgálójának címét. Ez utóbbi esetben gépünk rezolvere fog további
kérést küldeni az uni-miskolc.hu névkiszolgálójához.
Első lépésként a /etc/bind/named.conf.options állományban szükséges
módosításokat, beállításokat készítjük el. Ehhez nyissuk meg szerkesztésre az állományt.
$ sudo nano /etc/bind/named.conf.options
A kéréstovábbítás beállításához vegyük ki megjegyzésből a forwarders blokkot, és adjuk
meg a névszervereink azonosítóit.
forwarders{
10.1.51.23;
10.1.51.25;
};
Itt megadtuk, hogy hova továbbítsa a DNS szerver azokat a névfeloldási kéréseket, amelyeket
nem tudott kiszolgálni a saját adatbázisa alapján. Mentsük el az állományt. Amennyiben nem
a főiskolai hálózatban hajtjuk végre a jelen gyakorlatot, akkor ez a lépés elhagyható. Ilyenkor
az általunk konfigurált névszerver a rekurzív névfeloldási folyamat során közvetlenül a
gyökérszintű névkiszolgálóknál kezdi a keresést.
A rekurzív névfeloldás engedélyezése érdekében a forwarders blokkot követően
helyezzük el a
recursion yes;
bejegyzést, majd szabályozzuk, hogy mely gépek vehetik igénybe a névszolgáltatást és a
rekurzív névfeloldást az alábbi sorokkal
allow-query { belso; };
allow-recursion { belso; };
A belso egy címke, aminek definiálásához az options blokkot követően egy külön
blokkot hozunk létre, amiben a helyi gépet és a saját alhálózatot nevezzük meg.
acl belso {
127.0.0.1;
192.168.1.0/24;
};
Mivel IPv6 hálózatunk nincs ezért a
listen-on-v6 { any; };
sort tegyük megjegyzésbe (//).
A gamf.hu alatt hozzuk létre saját zónánkat gyakorlat.gamf.hu néven. A
névfeloldási zóna mellett címfeloldási zónát (1.168.192.in-addr.arpa) is készítünk. 4. DNS szerver telepítése és beállítása
(Johanyák Zsolt Csaba)
54
Mindkettő mester (master) zóna lesz. A zónák deklarálásához nyissuk meg szerkesztésre a
/etc/bind/named.conf.local állományt.
$sudo nano /etc/bind/named.conf.local
Az állomány végére begépeljük a két zóna definícióját:
zone "gyakorlat.gamf.hu" {
type master;
file "/etc/bind/gyakorlat.gamf.hu";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/1.168.192";
};
Elmentjük az állományt, majd létrehozzuk először a névfeloldáshoz szükséges zónafájt.
Kiindulásként (mintaként) használhatjuk a db.local állományt vagy létrehozhatunk egy
teljesen üres állományt is a
$ sudo nano /etc/bind/gyakorlat.gamf.hu
paranccsal. Begépeljük az alábbiakat:
$TTL 604800
@ IN SOA 9-szerver.gyakorlat.gamf.hu.
hallgato.9-szerver.gyakorlat.gamf.hu. (
1 ; Sorszám
604800 ; Frissítés
86400 ; Újrapróbálkozás
3600000 ; Lejárat
2419200 ) ; Negatív gyorstárazási idő
;
@ IN NS 9-szerver.gyakorlat.gamf.hu.
9-szerver IN A 192.168.1.254
belzebub IN A 192.168.1.2
posta IN CNAME 9-szerver
A fentiekben szereplő második és harmadik sor az állományban egyetlen sorként kell
szerepeljen, és a hallgato előtt szóköz vagy tabulátor jel kell álljon! Az utolsó sor után
nyomjuk meg az Enter billentyűt, ugyanis az állomány végén újsor jel kell álljon.
Magyarázat:
TTL (sec): a zóna rekordjaira érvényes alapértelmezett elavulási idő (Time To Live)
SOA (Start Of Authority) rekord: tartalmazza a névkiszolgáló FQDN-jét
(9-szerver.gyakorlat.gamf.hu.) ponttal lezárva, a levelezésért felelős
felhasználó postafiók címét úgy, hogy a @ jelet ponttal helyettesítjük
(hallgato.9-szerver.gyakorlat.gamf.hu.) és az alábbi érvényességi
időadatokat. Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
55
Sorszám: hányadik változata ez a zónaállománynak, ennek alapján tudják beazonosítani a
slave szerverek, hogy történt-e módosítás a zónaállományban.
Frissítés (sec): mennyi időnként kell a slave szervereknek a master-től megkérdezni, hogy
a zóna sorszáma mennyi.
Újrapróbálkozás (sec): ha a frissítés nem sikerült, akkor a slave ennyi időt vár, mielőtt
újra próbálkozik.
Lejárat (sec): ha nem sikerül a master-rel kommunikálniuk, ennyi ideig szolgáltatják a
zónát a világ számára
Használható a 1W2D3H alak is
Úgy a szerver (9-szerver), mint az asztali (belzebub) operációs rendszerrel futó virtuális gépet
felvettük, valamint készítettünk egy álnevet (posta) is a szervernek. Mentsük el a
gyakorlat.gamf.hu állományt, majd hozzuk létre az inverz feloldáshoz
(címfeloldáshoz) szükséges /etc/bind/1.168.192 zónafájlt. Itt sablonként
használhatjuk a db.127 állományt. A jelen gyakorlat során az üres állomány létrehozását
választjuk
$ sudo nano /etc/bind/1.168.192
majd begépeljük az alábbi konfigurációt
$TTL 604800
@ IN SOA 9-szerver.gyakorlat.gamf.hu.
hallgato.9-szerver.gyakorlat.gamf.hu. (
1 ; Sorszám
604800 ; Frissítés
86400 ; Újrapróbálkozás
2419200 ; Lejárat
604800 ) ; Negatív gyorstárazási idő
;
@ IN NS 9-szerver.gyakorlat.gamf.hu.
254 IN PTR 9-szerver
2 IN PTR belzebub
A fentiekben szereplő második és harmadik sor az állományban egyetlen sorként kell
szerepeljen, és a hallgato előtt szóköz vagy tabulátor jel kell álljon! Az utolsó sor után
nyomjuk meg az Enter billentyűt, ugyanis az állomány végén újsor jel kell álljon. Mentsük el
a 1.168.192 állományt.
A zónafájlok létrehozását követően a helyi gépet (127.0.0.1) kell beállítanunk DNS
szerverként. Ennek érdekében az /etc/network/interfaces állományban a
dns-nameservers 10.1.51.23
sort lecseréljük az alábbi sorra
dns-nameservers 127.0.0.1
majd újraindítjuk a hálózati alrendszert 4. DNS szerver telepítése és beállítása
(Johanyák Zsolt Csaba)
56
$ sudo /etc/init.d/networking restart
A DNS kiszolgáló alapból IPv6-on próbálkozik a névfeloldással. Mivel csak IPv4 hálózatunk
van a szerver indítási opciói között ezt jeleznünk kell az /etc/defaults/bind9
állományban. Nyissuk meg szerkesztésre az állományt:
$ sudo /etc/defaults/bind9
és egészítsük ki az OPTIONS sort a -4 kapcsolóval az alábbiakban megfelelően:
OPTIONS=”-u bind -4”
4.3. Tesztelés
A névkiszolgálót az előtérben futtatva teszteljük:
$ sudo named –g -4
Amennyiben a megjelenő egyoldalas outputban rndc.key: permission denied
hibaüzenet jelenik meg, akkor gondoskodjunk arról, hogy az rndc.key állomány
tulajdonosa legyen a root felhasználó és csoportja legyen a bind csoport, valamint a
hozzáférési engedélyek legyenek a következők szerint beállítva: - rw- -r- ---. Amikor
a kiszolgáló hibamentesen elindul, akkor váltsunk át egy új terminálra, jelentkezzünk ott be,
majd teszteljük a szerver működését az név- és címfeloldási lekérdezésekkel úgy a helyi zóna
gépei, mint távoli gépek esetén.
$ host 9-szerver.gyakorlat.gamf.hu
$ host belzebub
$ host posta
$ host 192.168.1.2
$ host 192.168.1.254
$ nslookup ubuntu.hu
$ nslookup kefodok
Teszteljük a szerver működését a munkaállomás gépről is a fenti vagy hasonló
lekérdezésekkel. Amennyiben kiszolgálónk hibamentesen működik, akkor váltsunk arra a
terminálra, ahol elindítottuk a névszervert, majd állítsuk le azt Ctrl+C-vel. Végül indítsuk a
szolgáltatást tartós használatra a
$ sudo service bind9 start
paranccsal. Indítsuk újra a virtuális gépet, majd a bejelentkezést követően ellenőrizzük a
kiszolgáló működési állapotát pl. a
$ service bind9 status
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
A munkaállomás eth0 interfészének konfigurációja az alábbi lesz:
IPv4 cím: 192.168.1.2
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
DNS kiszolgáló: 192.168.1.254
Névkeresési tartományok: gyakorlat.gamf.hu gamf.hu kefo.hu
4.2. Telepítés és konfigurálás
A DNS kiszolgálóként a BIND9 (Berkeley Internet Name Domain) szoftvert használjuk.
Ehhez a bind9 és a dnsutils csomagokat kell telepítenünk. Elsőként frissítjük gépünkön a
csomag adatbázist, majd telepítjük a csomagokat.
$ sudo apt-get update
$ sudo apt-get install bind9 dnsutils
Telepítés után automatikusan elindul a szerver. Az alap konfiguráció egy csak gyorstárazó
szervert ad egy egyszerű konfigurálást követően, a jelen gyakorlatban azonban egy elsődleges
mestert kell létrehoznunk, ezért leállítjuk a kiszolgálót
$ sudo service bind9 stop
majd elkezdhetjük a konfigurálást. A konfigurációs állományok az /etc/bind könyvtárban
vannak. A fontosabb állományok az alábbiak:
named.conf – itt szerepelnek a további konfigurációs állományok
befűzésére vonatkozó utasítások, tartalmát nem változtatjuk.
named.conf.options – itt állítjuk be a lekérdezés továbbítást, rekurzív lekérdezést,
stb.
named.conf.local – itt definiáljuk a zónákat.
db.root – gyökérszintű névkiszolgálók listája
Szerverünkkel a következő szolgáltatásokat szeretnénk nyújtani:
Autoritatív (mérvadó) névfeloldás a saját zóna számára (mester).
Gyorstárazó (caching) névszolgáltatás a többi domén gépeiről. A gyorstárazó szerver más
kiszolgálóktól szerzi be az információt, és lokálisan (gyorstárban) tárolja azt.
Rekurzív lekérdezés a saját alhálózat rezolverei által kezdeményezett névfeloldási
kéréseknél. Rekurzív névfeloldásnál a DNS kiszolgáló teljes mértékben megválaszolja
keresési kérdést vagy hibaüzenetet ad. Ennek alternatívája az iteratív névfeloldás, amikor
a kiszolgáló részleges választ ad (az adott zónához közelebbi felelős DNS kiszolgáló
címe). Pl. ha a www.iit.uni-miskolc.hu IPv4 címét keressük egy külső hálózat névszervere
segítségével, akkor, ha az adott kiszolgáló rekurzívra van konfigurálva, akkor visszaküldi
rezolverünknek a célgép címét, egyébként pedig rezolverünk visszakapja az uni-Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
53
miskolc.hu névkiszolgálójának címét. Ez utóbbi esetben gépünk rezolvere fog további
kérést küldeni az uni-miskolc.hu névkiszolgálójához.
Első lépésként a /etc/bind/named.conf.options állományban szükséges
módosításokat, beállításokat készítjük el. Ehhez nyissuk meg szerkesztésre az állományt.
$ sudo nano /etc/bind/named.conf.options
A kéréstovábbítás beállításához vegyük ki megjegyzésből a forwarders blokkot, és adjuk
meg a névszervereink azonosítóit.
forwarders{
10.1.51.23;
10.1.51.25;
};
Itt megadtuk, hogy hova továbbítsa a DNS szerver azokat a névfeloldási kéréseket, amelyeket
nem tudott kiszolgálni a saját adatbázisa alapján. Mentsük el az állományt. Amennyiben nem
a főiskolai hálózatban hajtjuk végre a jelen gyakorlatot, akkor ez a lépés elhagyható. Ilyenkor
az általunk konfigurált névszerver a rekurzív névfeloldási folyamat során közvetlenül a
gyökérszintű névkiszolgálóknál kezdi a keresést.
A rekurzív névfeloldás engedélyezése érdekében a forwarders blokkot követően
helyezzük el a
recursion yes;
bejegyzést, majd szabályozzuk, hogy mely gépek vehetik igénybe a névszolgáltatást és a
rekurzív névfeloldást az alábbi sorokkal
allow-query { belso; };
allow-recursion { belso; };
A belso egy címke, aminek definiálásához az options blokkot követően egy külön
blokkot hozunk létre, amiben a helyi gépet és a saját alhálózatot nevezzük meg.
acl belso {
127.0.0.1;
192.168.1.0/24;
};
Mivel IPv6 hálózatunk nincs ezért a
listen-on-v6 { any; };
sort tegyük megjegyzésbe (//).
A gamf.hu alatt hozzuk létre saját zónánkat gyakorlat.gamf.hu néven. A
névfeloldási zóna mellett címfeloldási zónát (1.168.192.in-addr.arpa) is készítünk. 4. DNS szerver telepítése és beállítása
(Johanyák Zsolt Csaba)
54
Mindkettő mester (master) zóna lesz. A zónák deklarálásához nyissuk meg szerkesztésre a
/etc/bind/named.conf.local állományt.
$sudo nano /etc/bind/named.conf.local
Az állomány végére begépeljük a két zóna definícióját:
zone "gyakorlat.gamf.hu" {
type master;
file "/etc/bind/gyakorlat.gamf.hu";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/1.168.192";
};
Elmentjük az állományt, majd létrehozzuk először a névfeloldáshoz szükséges zónafájt.
Kiindulásként (mintaként) használhatjuk a db.local állományt vagy létrehozhatunk egy
teljesen üres állományt is a
$ sudo nano /etc/bind/gyakorlat.gamf.hu
paranccsal. Begépeljük az alábbiakat:
$TTL 604800
@ IN SOA 9-szerver.gyakorlat.gamf.hu.
hallgato.9-szerver.gyakorlat.gamf.hu. (
1 ; Sorszám
604800 ; Frissítés
86400 ; Újrapróbálkozás
3600000 ; Lejárat
2419200 ) ; Negatív gyorstárazási idő
;
@ IN NS 9-szerver.gyakorlat.gamf.hu.
9-szerver IN A 192.168.1.254
belzebub IN A 192.168.1.2
posta IN CNAME 9-szerver
A fentiekben szereplő második és harmadik sor az állományban egyetlen sorként kell
szerepeljen, és a hallgato előtt szóköz vagy tabulátor jel kell álljon! Az utolsó sor után
nyomjuk meg az Enter billentyűt, ugyanis az állomány végén újsor jel kell álljon.
Magyarázat:
TTL (sec): a zóna rekordjaira érvényes alapértelmezett elavulási idő (Time To Live)
SOA (Start Of Authority) rekord: tartalmazza a névkiszolgáló FQDN-jét
(9-szerver.gyakorlat.gamf.hu.) ponttal lezárva, a levelezésért felelős
felhasználó postafiók címét úgy, hogy a @ jelet ponttal helyettesítjük
(hallgato.9-szerver.gyakorlat.gamf.hu.) és az alábbi érvényességi
időadatokat. Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
55
Sorszám: hányadik változata ez a zónaállománynak, ennek alapján tudják beazonosítani a
slave szerverek, hogy történt-e módosítás a zónaállományban.
Frissítés (sec): mennyi időnként kell a slave szervereknek a master-től megkérdezni, hogy
a zóna sorszáma mennyi.
Újrapróbálkozás (sec): ha a frissítés nem sikerült, akkor a slave ennyi időt vár, mielőtt
újra próbálkozik.
Lejárat (sec): ha nem sikerül a master-rel kommunikálniuk, ennyi ideig szolgáltatják a
zónát a világ számára
Használható a 1W2D3H alak is
Úgy a szerver (9-szerver), mint az asztali (belzebub) operációs rendszerrel futó virtuális gépet
felvettük, valamint készítettünk egy álnevet (posta) is a szervernek. Mentsük el a
gyakorlat.gamf.hu állományt, majd hozzuk létre az inverz feloldáshoz
(címfeloldáshoz) szükséges /etc/bind/1.168.192 zónafájlt. Itt sablonként
használhatjuk a db.127 állományt. A jelen gyakorlat során az üres állomány létrehozását
választjuk
$ sudo nano /etc/bind/1.168.192
majd begépeljük az alábbi konfigurációt
$TTL 604800
@ IN SOA 9-szerver.gyakorlat.gamf.hu.
hallgato.9-szerver.gyakorlat.gamf.hu. (
1 ; Sorszám
604800 ; Frissítés
86400 ; Újrapróbálkozás
2419200 ; Lejárat
604800 ) ; Negatív gyorstárazási idő
;
@ IN NS 9-szerver.gyakorlat.gamf.hu.
254 IN PTR 9-szerver
2 IN PTR belzebub
A fentiekben szereplő második és harmadik sor az állományban egyetlen sorként kell
szerepeljen, és a hallgato előtt szóköz vagy tabulátor jel kell álljon! Az utolsó sor után
nyomjuk meg az Enter billentyűt, ugyanis az állomány végén újsor jel kell álljon. Mentsük el
a 1.168.192 állományt.
A zónafájlok létrehozását követően a helyi gépet (127.0.0.1) kell beállítanunk DNS
szerverként. Ennek érdekében az /etc/network/interfaces állományban a
dns-nameservers 10.1.51.23
sort lecseréljük az alábbi sorra
dns-nameservers 127.0.0.1
majd újraindítjuk a hálózati alrendszert 4. DNS szerver telepítése és beállítása
(Johanyák Zsolt Csaba)
56
$ sudo /etc/init.d/networking restart
A DNS kiszolgáló alapból IPv6-on próbálkozik a névfeloldással. Mivel csak IPv4 hálózatunk
van a szerver indítási opciói között ezt jeleznünk kell az /etc/defaults/bind9
állományban. Nyissuk meg szerkesztésre az állományt:
$ sudo /etc/defaults/bind9
és egészítsük ki az OPTIONS sort a -4 kapcsolóval az alábbiakban megfelelően:
OPTIONS=”-u bind -4”
4.3. Tesztelés
A névkiszolgálót az előtérben futtatva teszteljük:
$ sudo named –g -4
Amennyiben a megjelenő egyoldalas outputban rndc.key: permission denied
hibaüzenet jelenik meg, akkor gondoskodjunk arról, hogy az rndc.key állomány
tulajdonosa legyen a root felhasználó és csoportja legyen a bind csoport, valamint a
hozzáférési engedélyek legyenek a következők szerint beállítva: - rw- -r- ---. Amikor
a kiszolgáló hibamentesen elindul, akkor váltsunk át egy új terminálra, jelentkezzünk ott be,
majd teszteljük a szerver működését az név- és címfeloldási lekérdezésekkel úgy a helyi zóna
gépei, mint távoli gépek esetén.
$ host 9-szerver.gyakorlat.gamf.hu
$ host belzebub
$ host posta
$ host 192.168.1.2
$ host 192.168.1.254
$ nslookup ubuntu.hu
$ nslookup kefodok
Teszteljük a szerver működését a munkaállomás gépről is a fenti vagy hasonló
lekérdezésekkel. Amennyiben kiszolgálónk hibamentesen működik, akkor váltsunk arra a
terminálra, ahol elindítottuk a névszervert, majd állítsuk le azt Ctrl+C-vel. Végül indítsuk a
szolgáltatást tartós használatra a
$ sudo service bind9 start
paranccsal. Indítsuk újra a virtuális gépet, majd a bejelentkezést követően ellenőrizzük a
kiszolgáló működési állapotát pl. a
$ service bind9 status
dhcp
60
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
Az Ubuntu Desktop munkaállomás (neve legyen belzebub) eth0 interfészét úgy állítjuk be
hogy DHCP-vel fogadja a beállításokat. A Windows 7 munkaállomás Helyi kapcsolat
interfészét úgy állítjuk be hogy DHCP-vel fogadja a beállításokat.
5.2. Telepítés és konfigurálás
Az alábbi beállításokat a szerver virtuális gépen kell végrehajtani. Elsőként frissítjük
gépünkön a csomag adatbázist, majd telepítjük a kiszolgálót.
$ sudo apt-get update
$ sudo apt-get install isc-dhcp-server
A telepítő megkísérli elindítani a kiszolgálót, de az a megfelelő konfigurálás hiányában nem
fog működni. Kiszolgálónktól az alábbi konfigurációs adatok nyújtását várjuk el (zárójelben a
konfigurációnál használt kulcsszó szerepel):
Kiszolgálónk felelős a szolgáltatással megcélzott alhálózatért (authoritative).
Nem támogatott a dinamikus DNS frissítés (ddns-update-style).
A DNS tartomány: gamf.hu (option domain-name).
Két DNS kiszolgálónk címe: 10.1.51.23, 10.1.51.25
(option domain-name-servers).
Az üzenetszórási cím a kiszolgált alhálózatban: 192.168.1.255
(option broadcast-address).
Az alapértelmezett átjáró: 192.168.1.254 (option routers).
Az alhálózati maszk: 255.255.255.0 (option subnet-mask).
Az alapértelmezett bérleti idő: 10 perc (default-lease-time).
Maximális idő, amíg használható a konfiguráció: 2 óra (max-lease-time).
Rögzített 192.168.1.2 IPv4 cím kiosztása a belzebub gép számára (host).
Dinamikus IPv4 címkiosztás a 192.168.1.10-250 tartományból a többi ügyfél (jelen
esetben a Windows 7) számára (subnet).
DHCP szolgáltatás nyújtása az eth1 interfészen.
A DHCP kiszolgáló konfigurálásához nyissuk meg szerkesztésre a
/etc/dhcp/dhcpd.conf állományt:
$ sudo nano /etc/dhcp/dhcpd.conf
Az állomány tartalmát töröljük, majd írjuk be az alábbiakat:
authoritative;
ddns-update-style none;
option domain-name "gamf.hu";
option domain-name-servers 10.1.51.23, 10.1.51.25;
option broadcast-address 192.168.1.255; Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
61
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
default-lease-time 600; # 10 perc
max-lease-time 7200; # 2 óra
A rögzített IPv4 cím beállításához nézzük meg az asztali Ubuntu operációs rendszert futtató
virtuális gép belső hálózatra kapcsolódó interfészének fizikai címét VirtualBoxban. Az alábbi
példában a 08:00:27:e4:f3:45 fizikai címet feltételezzük.
host belzebub
{ hardware ethernet 08:00:27:e4:f3:45;
fixed-address 192.168.1.5;
option host-name belzebub;
}
A dinamikus IPv4 cím kiosztáshoz egy címtartományt (192.168.1.10
192.168.1.250) definiálunk.
subnet 192.168.1.0 netmask 255.255.255.0{
range 192.168.1.10 192.168.1.250;
}
Következő lépésként be szeretnénk állítani, hogy melyik interfészen nyújtson DHCP
szolgáltatást a szerver. Ehhez nyissuk meg szerkesztésre a
/etc/default/isc-dhcp-server hcp-server állományt, és módosítsuk tartalmát
az alábbiak szerint:
$ sudo nano /etc/default/isc-dhcp-server
INTERFACES="eth1"
Mentsük el az állományt, majd indítsuk el a szolgáltatást.
$ sudo service isc-dhcp-server start
A szerverkonfiguráció próbájaként először az asztali gépen (belzebub) állítsuk be, hogy
fogadja DHCP-vel a IPv4 konfigurációt, majd parancssorból ellenőrizzük a beállítások
meglétét. Amennyiben nem jelenik meg a kívánt cím azonnal, akkor futtassuk a DHCP kliens
programot:
$ sudo dhclient
A próba második lépéseként állítsuk be VirtualBox-ban, hogy a Windows 7-es gép hálózati
kártyája a belső hálózatra (intnet) csatlakozzon, majd indítsuk el a Windows 7-es gépet.
Ellenőrizzük le, hogy megkapja-e a beállításokat a Linuxos DHCP kiszolgálótól. A szerver a
/var/lib/dhcp/dhcpd.leases állományban tartja nyilván a „bérletbe” kiadott
konfigurációs adatokat. Tekintsük meg az állomány tartalmát
5. DHCP szerver telepítése és konfigurálása
(Johanyák Zsolt Csaba)
62
$ more /var/lib/dhcp/dhcpd.leases
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
Az Ubuntu Desktop munkaállomás (neve legyen belzebub) eth0 interfészét úgy állítjuk be
hogy DHCP-vel fogadja a beállításokat. A Windows 7 munkaállomás Helyi kapcsolat
interfészét úgy állítjuk be hogy DHCP-vel fogadja a beállításokat.
5.2. Telepítés és konfigurálás
Az alábbi beállításokat a szerver virtuális gépen kell végrehajtani. Elsőként frissítjük
gépünkön a csomag adatbázist, majd telepítjük a kiszolgálót.
$ sudo apt-get update
$ sudo apt-get install isc-dhcp-server
A telepítő megkísérli elindítani a kiszolgálót, de az a megfelelő konfigurálás hiányában nem
fog működni. Kiszolgálónktól az alábbi konfigurációs adatok nyújtását várjuk el (zárójelben a
konfigurációnál használt kulcsszó szerepel):
Kiszolgálónk felelős a szolgáltatással megcélzott alhálózatért (authoritative).
Nem támogatott a dinamikus DNS frissítés (ddns-update-style).
A DNS tartomány: gamf.hu (option domain-name).
Két DNS kiszolgálónk címe: 10.1.51.23, 10.1.51.25
(option domain-name-servers).
Az üzenetszórási cím a kiszolgált alhálózatban: 192.168.1.255
(option broadcast-address).
Az alapértelmezett átjáró: 192.168.1.254 (option routers).
Az alhálózati maszk: 255.255.255.0 (option subnet-mask).
Az alapértelmezett bérleti idő: 10 perc (default-lease-time).
Maximális idő, amíg használható a konfiguráció: 2 óra (max-lease-time).
Rögzített 192.168.1.2 IPv4 cím kiosztása a belzebub gép számára (host).
Dinamikus IPv4 címkiosztás a 192.168.1.10-250 tartományból a többi ügyfél (jelen
esetben a Windows 7) számára (subnet).
DHCP szolgáltatás nyújtása az eth1 interfészen.
A DHCP kiszolgáló konfigurálásához nyissuk meg szerkesztésre a
/etc/dhcp/dhcpd.conf állományt:
$ sudo nano /etc/dhcp/dhcpd.conf
Az állomány tartalmát töröljük, majd írjuk be az alábbiakat:
authoritative;
ddns-update-style none;
option domain-name "gamf.hu";
option domain-name-servers 10.1.51.23, 10.1.51.25;
option broadcast-address 192.168.1.255; Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
61
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
default-lease-time 600; # 10 perc
max-lease-time 7200; # 2 óra
A rögzített IPv4 cím beállításához nézzük meg az asztali Ubuntu operációs rendszert futtató
virtuális gép belső hálózatra kapcsolódó interfészének fizikai címét VirtualBoxban. Az alábbi
példában a 08:00:27:e4:f3:45 fizikai címet feltételezzük.
host belzebub
{ hardware ethernet 08:00:27:e4:f3:45;
fixed-address 192.168.1.5;
option host-name belzebub;
}
A dinamikus IPv4 cím kiosztáshoz egy címtartományt (192.168.1.10
192.168.1.250) definiálunk.
subnet 192.168.1.0 netmask 255.255.255.0{
range 192.168.1.10 192.168.1.250;
}
Következő lépésként be szeretnénk állítani, hogy melyik interfészen nyújtson DHCP
szolgáltatást a szerver. Ehhez nyissuk meg szerkesztésre a
/etc/default/isc-dhcp-server hcp-server állományt, és módosítsuk tartalmát
az alábbiak szerint:
$ sudo nano /etc/default/isc-dhcp-server
INTERFACES="eth1"
Mentsük el az állományt, majd indítsuk el a szolgáltatást.
$ sudo service isc-dhcp-server start
A szerverkonfiguráció próbájaként először az asztali gépen (belzebub) állítsuk be, hogy
fogadja DHCP-vel a IPv4 konfigurációt, majd parancssorból ellenőrizzük a beállítások
meglétét. Amennyiben nem jelenik meg a kívánt cím azonnal, akkor futtassuk a DHCP kliens
programot:
$ sudo dhclient
A próba második lépéseként állítsuk be VirtualBox-ban, hogy a Windows 7-es gép hálózati
kártyája a belső hálózatra (intnet) csatlakozzon, majd indítsuk el a Windows 7-es gépet.
Ellenőrizzük le, hogy megkapja-e a beállításokat a Linuxos DHCP kiszolgálótól. A szerver a
/var/lib/dhcp/dhcpd.leases állományban tartja nyilván a „bérletbe” kiadott
konfigurációs adatokat. Tekintsük meg az állomány tartalmát
5. DHCP szerver telepítése és konfigurálása
(Johanyák Zsolt Csaba)
62
$ more /var/lib/dhcp/dhcpd.leases
nfs
64
A munkaállomás eth0 interfészének konfigurációja megegyezik a szerver eth0
interfészének konfigurációjával. A munkaállomás eth1 interfészének konfigurációja az
alábbi lesz:
IPv4 cím: 192.168.1.2
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
DNS kiszolgáló: 192.168.1.254
Névkeresési tartományok: gyakorlat.gamf.hu gamf.hu kefo.hu
6.2. NFS szerver telepítése és beállítása
Az alábbi beállításokat a szerver virtuális gépen kell végrehajtani. Frissítsük a csomag
adatbázist, majd telepítsük az NFS szolgáltatáshoz szükséges programcsomagokat:
$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server nfs-common portmap -y
Tegyük fel, hogy a /home/megosztas könyvtárat szeretnénk megosztani. Először hozzuk
létre a könyvtárat, majd állítsuk be, hogy bárki olvashassa, írhassa vagy futtathasson benne.
$ sudo mkdir /home/megosztas
$ sudo chmod 777 /home/megosztas
A megosztott könyvtárakat az /etc/exports konfigurációs állományban kell felsorolnunk.
Nyissuk meg szerkesztésre az állományt.
$ sudo nano /etc/exports
Az állományban minden megosztáshoz egy sor tartozik. A sor a megosztani kívánt könyvtár
teljes elérési útvonalával kezdődik, ez a mi esetünkben /home/megosztas. A könyvtárat
teljes hozzáféréssel (írható/olvasható) szeretnénk megosztani a 192.168.1.0 alhálózat összes
gépe számára. A megosztást leíró sor a következő:
/home/megosztas
192.168.1.0/24(rw,sync,root_squash,no_subtree_check)
A fenti konfiguráció valójában egy sor, csak az oldalszélesség korlát miatt jelenik meg
fentebb két sorban. A hálózati IPv4 cím helyett egy csillagot megadva az összes számítógép
számára megoszthatjuk könyvtárunkat. A megosztás kedvezményezettje lehet egyetlen gép is,
ilyenkor az adott gép IP címét vagy nevét kell itt megadnunk. Figyeljünk oda arra, hogy a
nyitó zárójel előtt nem állhat szóköz és minden könytármegosztás külön sorban kell álljon.
Mintaként nézzünk meg néhány példát:
/home 192.168.1.1/255.255 255 0 rw
/segedlet belzebub(rw) pandora ro Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
65
/ubuntu ro sync no root s ash
A zárójelben megadott jellemzőkkel szabályozhatjuk a könyvtárhoz történő hozzáférést.
Jelentésük a következő.
ro csak olvasható
rw olvasható és írható
root_squash a kliens root felhasználója semmiképp nem kaphat root jogokat erre
a fájlrendszerre
sync a szerver szinkron módon hajtja végre a változtatásokat (csak a
végrehajtás után jelez vissza)
link_absolute a szimbolikus hivatkozások változatlanok maradnak
subtree_check a kérés beérkezése után a szerver leellenőrzi, hogy a cél a
fájlrendszeren belül van-e illetve az exportált könyvtárstruktúrában
található-e – biztosági probléma: a kliens kap egy leírót és infót a
fájlrendszerről, ezért csak ro könyvtárakra használjuk!
no_subtree_check rw könyvtárakra
Mentsük el a konfigurációs állományt, és lépjünk ki a szövegszerkesztő programból. Indítsuk
újra az NFS kiszolgáló programot.
$ sudo /etc/init.d/nfs-kernel-server restart
$ sudo exportfs –a -v
Az exportfs parancs segítségével karbantartható a közzétett (exportált) könyvtárak
táblázata. A –a parancs hatására a konfigurációs állományban megadott összes állományt
exportáljuk, míg a –v kapcsoló hatására részletes információt kapunk a parancs eredményéről
6.3. NFS kliens telepítése és beállítása
Az alábbi beállításokat a kliens virtuális gépen kell végrehajtani. Frissítsük a csomag
adatbázist, majd telepítsük fel az NFS megosztás igénybe vételéhez szükséges
programcsomagokat:
$ sudo apt-get update
$ sudo apt-get install nfs-common portmap
A megosztás igénybevétele, azaz a megosztott könyvtár használata úgy lehetséges, hogy a
kliens gép könyvtárrendszerében egy könyvtárhoz felcsatoljuk a szerver által megosztot
könyvtárat. Ezt követően a felhasználó számára a távoli könyvtár ugyanúgy jelenik meg és
ugyanúgy használható, mint egy helyi könyvtár.
Hozzuk létre a könyvtárfában azt a mappát, ahova fel kívánjuk csatolni a kiszolgáló által
megosztott könyvtárat.
$mkdir /home/hallgato/megosztas
Következő lépésként felcsatoljuk (importáljuk) a kiszolgáló által megosztott könyvtárat:
6. Megosztás NFS segítségével
(Johanyák Zsolt Csaba)
66
$ sudo mount –t nfs 192.168.1.254:/home/megosztas
/home/hallgato/megosztas
A fenti konfiguráció valójában egy sor, csak az oldalszélesség korlát miatt jelenik meg
fentebb két sorban.
A kliens gép leállításakor a felcsatolás megszűnik. Amennyiben azt szeretnénk, hogy minden
indításkor automatikusan csatolódjon fel a könyvtár, akkor az /etc/fstab állományba egy
új sort kell írnunk. Ehhez nyissuk meg az állományt.
$ sudo nano /etc/fstab
Helyezzük el a következő sort (egyetlen sorba írva, és a sor végén az Enter-t lenyomva):
192.168.1.254:/home/megosztas /home/hallgato/megosztas nfs
rw,hard,intr 0 0
Mentsük el az állományt, majd próbáljuk ki a beállítást.
$ sudo mount /home/hallgato/megosztas
6.4. Tesztelés
Hozzunk létre a kliens gépen egy állományt a megosztas könyvtárban, írjunk bele
valamilyen szöveget. Ellenőrizzük le a kiszolgálón az állomány meglétét.
Lépjünk ki a könyvtárból, majd csatoljuk azt le.
$sudo umount /home/hallgato/megosztas
ufw
A tűzfal engedélyezése:
$ sudo ufw enable
A különböző portok megnyitásához, engedélyezéséhez az allow utasítás szükséges:
$ sudo ufw allow 80 – a http port engedélyezése
A deny parancsal lehet a nyitott portot bezárni:
$ sudo ufw deny 80 – a http port tiltása
A tűzfal szabályokat számozott rendben is föl tudjuk venni:
$sudo ufw insert 1 allow 631/tcp – nyomtató megosztás
A tűzfal szabály eltávolításához a delete parancs szükséges:
$ sudo ufw delete deny 80
Engedélyezni lehet egy adott hálózatról vagy kiszolgálóról a hozzáférést egy porthoz. Az
alábbi példával megadjuk az SSH hozzáférést a 192.168.1.10 IP-című gép számára bármely
IP-címhez ezen a kiszolgálón:
$ sudo ufw allow proto tcp from 192.168.1.10 to any port 22
Engedélyezhető az SSH hozzáférés egy teljes alhálózatból is:
$ sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22
NAT
93
10.3. A NAT telepítése és konfigurálása
Az IP álcázás célja, hogy a privát, nem közvetíthető IP címekkel rendelkező gépek elérjék az
internetet az álcázást végző gépen keresztül. A magánhálózatból az internetre irányuló
forgalmat úgy kell módosítani, hogy visszairányítható legyen a kérést küldő gépre. Ehhez a
kernelnek módosítania kell minden csomag forrás IP címét, hogy a válaszok hozzá legyenek
visszairányítva, a kérést küldő gép IP címe helyett, különben a válaszok nem érkeznének meg.
A Linux a kapcsolatkövetést (conntrack) használja a gépek és a hozzájuk tartozó kapcsolatok
nyilvántartására, és a visszaküldött csomagok ennek megfelelő átirányítására. A hálózatát
elhagyó forgalom így „álcázva” lesz, mintha az átjáró gépről indult volna.
Az IP álcázást ufw szabályok segítségével valósítjuk meg. Ezek aszerint vannak két
állományra különválasztva, hogy a parancssori ufw szabályok előtt (before.rules) vagy
után (after.rules) kerülnek-e végrehajtásra.
Első lépésként engedélyezzük a csomagtovábbítást. Ehhez nyissuk meg szerkesztésre a
/etc/default/ufw állományt:
$ sudo nano /etc/default/ufw
A fájlban a
DEFAULT FORWARD POLICY=”DROP”
beállítást cseréljük
DEFAULT FORWARD POLICY=”ACCEPT”
-ra, és mentsük az állományt. Ezt követően nyissuk meg szerkesztésre a
/etc/ufw/sysctl.conf állományt,
$ sudo mcedit /etc/ufw/sysctl.conf
vegyük ki a megjegyzésből a net/ipv4/ip_forward=1 sort. Amennyiben az IPv6
csomagtovábbítást is engedélyezni kívánjuk, akkor a
net/ipv6/conf/default/forwarding=1 sort is vegyük ki megjegyzésből. Mentsük
az állományt.
Második lépésként konfigurálnunk kell a nat táblát, mivel alapértelmezés szerint csak a
filter tábla konfigurált. Ehhez nyissuk meg szerkesztésre a
/etc/ufw/before.rules állományt
$ sudo mcedit /etc/ufw/before.rules
A bevezető megjegyzés (#) sorokat követően helyezzük el az alábbiakat
# nat tábla szabályai
*nat 10. A hálózati címfordítás (NAT) megvalósítása
(Göcs László)
94
:POSTROUTING ACCEPT [0:0]
# Továbbítsa az eth1-ről érkező forgalmat az eth0-n keresztül
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
COMMIT
Utolsó lépésként letiltjuk, és újra engedélyezzük az ufw szoftver működését
$ sudo ufw disable
$ sudo ufw enable
$ sudo ufw enable
A különböző portok megnyitásához, engedélyezéséhez az allow utasítás szükséges:
$ sudo ufw allow 80 – a http port engedélyezése
A deny parancsal lehet a nyitott portot bezárni:
$ sudo ufw deny 80 – a http port tiltása
A tűzfal szabályokat számozott rendben is föl tudjuk venni:
$sudo ufw insert 1 allow 631/tcp – nyomtató megosztás
A tűzfal szabály eltávolításához a delete parancs szükséges:
$ sudo ufw delete deny 80
Engedélyezni lehet egy adott hálózatról vagy kiszolgálóról a hozzáférést egy porthoz. Az
alábbi példával megadjuk az SSH hozzáférést a 192.168.1.10 IP-című gép számára bármely
IP-címhez ezen a kiszolgálón:
$ sudo ufw allow proto tcp from 192.168.1.10 to any port 22
Engedélyezhető az SSH hozzáférés egy teljes alhálózatból is:
$ sudo ufw allow proto tcp from 192.168.1.0/24 to any port 22
NAT
93
10.3. A NAT telepítése és konfigurálása
Az IP álcázás célja, hogy a privát, nem közvetíthető IP címekkel rendelkező gépek elérjék az
internetet az álcázást végző gépen keresztül. A magánhálózatból az internetre irányuló
forgalmat úgy kell módosítani, hogy visszairányítható legyen a kérést küldő gépre. Ehhez a
kernelnek módosítania kell minden csomag forrás IP címét, hogy a válaszok hozzá legyenek
visszairányítva, a kérést küldő gép IP címe helyett, különben a válaszok nem érkeznének meg.
A Linux a kapcsolatkövetést (conntrack) használja a gépek és a hozzájuk tartozó kapcsolatok
nyilvántartására, és a visszaküldött csomagok ennek megfelelő átirányítására. A hálózatát
elhagyó forgalom így „álcázva” lesz, mintha az átjáró gépről indult volna.
Az IP álcázást ufw szabályok segítségével valósítjuk meg. Ezek aszerint vannak két
állományra különválasztva, hogy a parancssori ufw szabályok előtt (before.rules) vagy
után (after.rules) kerülnek-e végrehajtásra.
Első lépésként engedélyezzük a csomagtovábbítást. Ehhez nyissuk meg szerkesztésre a
/etc/default/ufw állományt:
$ sudo nano /etc/default/ufw
A fájlban a
DEFAULT FORWARD POLICY=”DROP”
beállítást cseréljük
DEFAULT FORWARD POLICY=”ACCEPT”
-ra, és mentsük az állományt. Ezt követően nyissuk meg szerkesztésre a
/etc/ufw/sysctl.conf állományt,
$ sudo mcedit /etc/ufw/sysctl.conf
vegyük ki a megjegyzésből a net/ipv4/ip_forward=1 sort. Amennyiben az IPv6
csomagtovábbítást is engedélyezni kívánjuk, akkor a
net/ipv6/conf/default/forwarding=1 sort is vegyük ki megjegyzésből. Mentsük
az állományt.
Második lépésként konfigurálnunk kell a nat táblát, mivel alapértelmezés szerint csak a
filter tábla konfigurált. Ehhez nyissuk meg szerkesztésre a
/etc/ufw/before.rules állományt
$ sudo mcedit /etc/ufw/before.rules
A bevezető megjegyzés (#) sorokat követően helyezzük el az alábbiakat
# nat tábla szabályai
*nat 10. A hálózati címfordítás (NAT) megvalósítása
(Göcs László)
94
:POSTROUTING ACCEPT [0:0]
# Továbbítsa az eth1-ről érkező forgalmat az eth0-n keresztül
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
COMMIT
Utolsó lépésként letiltjuk, és újra engedélyezzük az ufw szoftver működését
$ sudo ufw disable
$ sudo ufw enable
samba
70
A munkaállomás eth0 interfészének konfigurációja megegyezik a szerver eth0
interfészének konfigurációjával. A munkaállomás eth1 interfészének konfigurációja az
alábbi lesz:
IPv4 cím: 192.168.1.2
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
DNS kiszolgáló: 192.168.1.254
Névkeresési tartományok: kefo.hu
7.2. Samba kiszolgáló
Az alábbiakban két megosztást hozunk létre. Az első egy mindenki által írható-olvasható
megosztás lesz, míg a második csak egy adott felhasználó (hallgato) számára nyújt
hozzáférést egy könyvtárhoz. Először áttekintjük a telepítés lépéseit és az általános
konfigurációs elemeket, majd ismertetjük a két megosztás létrehozását.
7.2.1. Telepítés és általános konfigurációs lépések
A szerver virtuális gépen frissítsük a csomag adatbázist, majd telepítsük a Samba
kiszolgálóhoz szükséges csomagokat.
$ sudo apt-get update
$ sudo apt-get install samba smbfs -y
Nyissuk meg a szerkesztésre konfigurációs állományt.
$ sudo nano /etc/samba/smb.conf
Az általános, minden megosztás esetén érvényes beállításokkal kezdjük. Ezek a [global]
szakaszban találhatóak. Elsőként állítsuk be a munkacsoport nevét. Ehhez megkeressük a
megfelelő sort (workgroup), majd az egyenlőség jel utáni részt megváltoztatjuk.
workgroup=GYAKORLAT
Az alábbiakban a legtöbb beállítás esetében hasonlóképpen fogunk eljárni. Amennyiben
valamelyik kulcs (pl. netbios name) nem szerepel a kezdeti konfigurációs állományban,
akkor a teljes sort begépeljük, egyébként csak az egyenlőség jel utáni részt módosítjuk.
Néhány esetben a kulcs (pl. security) kezdetben megjegyzésben áll, ilyenkor el kell
távolítani a sor elején álló pontosvesszőt.
Második beállításunk a gép NetBIOS neve lesz (ezt be kell gépelni):
netbios name=ubuntu-server
Ezt követően a megosztások biztonsági modelljét (szintjét) felhasználóira állítjuk. Ez azt
jelenti, hogy egyedi felhasználói névvel és jelszóval férhetnek hozzá a megosztott
erőforrásokhoz, illetve felhasználónként szabályozhatjuk a jogosultságokat. Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
71
security=user
Bekapcsoljuk a Samba szerver WINS szolgáltatását, ami azt jelenti, hogy szerverünk egy
Windows Internet Name Service kiszolgáló feladatait is el fogja látni. A kulcs kezdetben
megjegyzésben van.
wins support=yes
Engedélyezzük, hogy a Samba szerver megkísérelje a megváltoztatott Samba jelszavakat a
Linux jelszó adatbázisban is érvényesíteni.
unix password sync=yes
Mentsük el a konfigurációs állományt, majd teszteljük azt.
$ sudo testparm
7.2.2. Nyilvános írható-olvasható megosztás
Első lépésként definiálunk egy vendég felhasználót a Linux rendszerben. Sikertelen
autentikáció vagy vendég típusú bejelentkezés esetén ezen felhasználóként vehetjük igénybe a
Samba szolgáltatásokat. Az Ubuntuba azért kell regisztrálnunk ezt a fiókot, mert a Samba
adatbázisába csak olyan fiókok vehetők fel, amelyek a Linux rendszer adatbázisában már
szerepelnek. A felhasználói fiókot úgy hozzuk létre, hogy nem jelentkezhet be és nem
rendelkezik saját könyvtárral.
$ sudo vendeg useradd –c "Samba vendég" –d /dev/null
–s /bin/false
A fiókot felvesszük a Samba felhasználók közé jelszó nélküli fiókként
$ sudo smbpasswd -an vendeg
Ellenőrzésként listázzuk ki a bejegyzett Samba felhasználókat
$ sudo pdbedit -L
Hozzuk létre a megosztani kívánt könyvtárat, és állítsuk be, hogy minden felhasználó teljes
hozzáférést kapjon hozzá.
$ sudo mkdir /srv/samba/kozos
$ sudo chmod 777 /srv/samba/kozos
A könyvtárat szeretnénk megosztani az összes felhasználó számára. Nyissuk meg a
szerkesztésre konfigurációs állományt.
$ sudo nano /etc/samba/smb.conf
7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)
72
A globális beállítások részben adjuk meg a vendég felhasználót, és azt, hogy sikertelen
autentikáció esetén a felhasználót tekintse vendégnek a rendszer.
guest account=vendeg
map to guest=bad user
A konfigurációs állomány végén hozzunk létre egy új szakaszt az új megosztás számára.
[kozos]
Adunk hozzá egy rövid magyarázó szöveget.
comment=Ez egy nyilvános írható-olvasható megosztás
Beállítjuk az elérési útvonalát és a hozzáférés szabályozást. Legyen a könyvtár írható.
path/srv/samba/kozos
read only=no
Jelszó nélkül lehessen hozzáférni
public=yes
Ne legyen rejtett, jelenjen meg a megosztások listájában
browseable=yes
Minden felhasználó kapjon teljes hozzáférést a benne létrehozott könyvtárakhoz és
állományokhoz Linux klienseken is. Az alábbi beállításpáros kikényszeríti, hogy Linux
klienseken az újonnan létrehozott állományok és könyvtárak az rwxrwxrwx
jogosultságszabályozással rendelkezzenek.
force directory mode=0777
force create mode=0777
Mentsük el a konfigurációs állományt, majd teszteljük azt (szintaktikai ellenőrzés).
$ sudo testparm
7.2.3. Megosztás egy adott felhasználó számára
Hozzuk létre a megosztani kívánt könyvtárat, és állítsuk be, hogy a hallgato felhasználó
legyen a tulajdonos és a csoporttulajdonos legyen a hallgato csoport.
$ sudo mkdir /srv/samba/hallgato
$ sudo chown hallgato /srv/samba/hallgato
$ sudo chgrp hallgato /srv/samba/hallgato
Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
73
Megj.: A Filesystem Hierarchy Standard ajánlása szerint a megosztott könyvtárakat a
/srv/samba könyvtár alá ajánlott elhelyezni.
Az általános beállítások után létrehozunk egy megosztást. A könyvtárat szeretnénk
megosztani a hallgato nevű felhasználó számára. Nyissuk meg a szerkesztésre
konfigurációs állományt.
$ sudo nano /etc/samba/smb.conf
A konfigurációs állomány végén hozzunk létre egy új szakaszt az új megosztás számára.
[hallgato]
Adunk hozzá egy rövid magyarázó szöveget.
comment=Ez egy megosztás a hallgato fiók számára
Beállítjuk az elérési útvonalát és a hozzáférés szabályozást. Legyen a könyvtár írható.
path/srv/samba/hallgato
writeable=yes
Jelszó nélkül ne lehessen hozzáférni
public=no
Ne legyen rejtett, jelenjen meg a megosztások listájában
browseable=yes
A hallgato felhasználó írhatja és olvashatja.
read list=hallgato
write list=hallgato
Mentsük el a konfigurációs állományt, majd teszteljük azt (szintaktikai ellenőrzés).
$ sudo testparm
A rendszer adatbázisai a /var/lib/samba könyvtárban találhatóak
Vegyük fel a hallgato felhasználót a Samba adatbázisba.
$ sudo smbpasswd -a hallgato
A jelszó legyen „hallgato”.
7.2.4. A szolgáltatás elindítása és tűzfalszabályok
Indítsuk el/újra a szervert. 7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)
74
$ sudo service smbd restart
Amennyiben szerverünkön működik tűzfal, akkor a Samba telepítésekor kapott
(/etc/ufw/applications.d könyvtárban található) UFW-s profil engedélyezésével
nyithatjuk meg a szükséges portokat.
$ sudo ufw allow Samba
Megj.: A profil előírja a 137-es és 138-as portok megnyitását az UDP protokoll számára,
valamint a 139-es és a 445-ös portok megnyitását a TCP protokoll számára. Néhány esetben a
fenti tűzfalmegnyitás nem bizonyult elégségesnek, és csak az érintett négy port mindkét
protokoll számára történő megnyitását követően sikerült a kliensnek csatlakozni a
megosztáshoz. A megnyitáshoz szükséges utasítások a következőek.
$ sudo ufw allow from 192.168.1.0/24 to any port 137
$ sudo ufw allow from 192.168.1.0/24 to any port 138
$ sudo ufw allow from 192.168.1.0/24 to any port 139
$ sudo ufw allow from 192.168.1.0/24 to any port 445
7.3. Samba kliens és konfigurálása
7.3.1. Kliens telepítése
Az asztali Ubuntu operációs rendszert futtató virtuális gépen telepítsük fel a megosztás
eléréséhez szükséges csomagokat.
$ sudo apt-get update
$ sudo apt-get install smbfs smbclient -y
Nyissunk meg egy terminált, és kérdezzük le a kiszolgáló által megosztott könyvtárakat.
$ smbclient -L ubuntu-server -N
A Sharename oszlopban meg kell jelenjen a hallgato és a kozos sor.
7.3.2. A nyilvános megosztás elérése
A megosztást kliens oldalról kétféleképpen érhetjük el: az smbclient parancs segítségével
vagy felcsatolva azt a könyvtárrendszerünkbe. Elsőként próbáljuk ki az smbclient-tel
történő elérést. Mivel ez egy nyilvános megosztás jelszó megadás nélkül csatlakozunk.
$ smbclient //ubuntu-server/kozos -N
Sikeres csatlakozást követően az smb:\> készenléti jel jelenik meg. A ? paranccsal
kérdezhetjük le az elérhető utasítások listáját. Hozzunk létre egy könyvtárat a megosztáson
belül
smb:\> mkdir proba Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
75
Lépjünk át a szerver virtuális gépbe, hozzuk létre ott a valami nevű szöveges állományt a
kozos könyvtárban, majd lépjünk vissza a munkaállomás virtuális gépbe és töltsük le az
állományt (másoljuk le a munkaállomásra).
smb:\> get valami
Lépjünk ki az smbclient-ből az exit parancs segítségével. A letöltött állomány az
aktuális könyvtárban található.
A megosztás elérésének gyakrabban alkalmazott módszere az, hogy a megosztott könyvtárat
felcsatoljuk az ügyfélgép állományrendszerébe. Ehhez hozzunk létre egy kozos nevű
könyvtárat.
$ sudo mkdir /mnt/kozos
Hajtsuk végre a felcsatolást vendégként kapcsolódva a megosztáshoz.
$ sudo smbmount //192.168.1.254/kozos
/mnt/kozos -o guest
Ellenőrizzük le állománylétrehozással, másolással, módosítással a felcsatolás sikerességét,
majd csatoljuk le a könyvtárat.
$ sudo umount /mnt/kozos
Ha azt szeretnénk, hogy minden indításkor automatikusan csatolódjon fel a könyvtár, akkor az
/etc/fstab állományba egy új sort kell írnunk. Ehhez nyissuk meg az állományt.
$ sudo nano /etc/fstab
Helyezzük el a következő sort (egyetlen sorba írva, és a sor végén az Enter-t lenyomva):
//192.168.1.254/kozos /mnt/kozos smbfs rw,guest 0 0
Mentsük el az állományt, majd próbáljuk ki a beállítást.
$ sudo mount /mnt/kozos
Lépjünk be a felcsatolt könyvtárba, ellenőrizzük a csatolást. Indítsuk újra a virtuális gépet az
automatikus felcsatolás ellenőrzése érdekében.
7.3.3. Felhasználó számára megosztott könyvtár elérése
Hozzunk létre egy smbkliens nevű könyvtárat, ide fogjuk felcsatolni a szerver által a
hallgato felhasználó számára megosztott mappát.
$ mkdir /home/hallgato/smbmegosztas
Hajtsuk végre a felcsatolást. 7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)
76
$ sudo smbmount //192.168.1.254/hallgato
/home/hallgato/smbmegosztas -o username=hallgato%hallgato
Lépjünk be a könyvtárba, és hozzunk létre ott egy új szöveges állományt. Lépjünk ki a
könyvtárból, majd csatoljuk azt le.
$ sudo umount /home/hallgato/smbmegosztas/
Ha azt szeretnénk, hogy minden indításkor automatikusan csatolódjon fel a könyvtár, akkor az
/etc/fstab állományba egy új sort kell írnunk. Ehhez nyissuk meg az állományt.
$ sudo nano /etc/fstab
Helyezzük el a következő sort (egyetlen sorba írva, és a sor végén az Enter-t lenyomva):
//192.168.1.254/hallgato /home/hallgato/smbmegosztas smbfs
username=hallgato,password=hallgato,umask=000 0 0
Mentsük el az állományt, majd próbáljuk ki a beállítást.
$ sudo mount /home/hallgato/smbmegosztas
A munkaállomás eth0 interfészének konfigurációja megegyezik a szerver eth0
interfészének konfigurációjával. A munkaállomás eth1 interfészének konfigurációja az
alábbi lesz:
IPv4 cím: 192.168.1.2
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
DNS kiszolgáló: 192.168.1.254
Névkeresési tartományok: kefo.hu
7.2. Samba kiszolgáló
Az alábbiakban két megosztást hozunk létre. Az első egy mindenki által írható-olvasható
megosztás lesz, míg a második csak egy adott felhasználó (hallgato) számára nyújt
hozzáférést egy könyvtárhoz. Először áttekintjük a telepítés lépéseit és az általános
konfigurációs elemeket, majd ismertetjük a két megosztás létrehozását.
7.2.1. Telepítés és általános konfigurációs lépések
A szerver virtuális gépen frissítsük a csomag adatbázist, majd telepítsük a Samba
kiszolgálóhoz szükséges csomagokat.
$ sudo apt-get update
$ sudo apt-get install samba smbfs -y
Nyissuk meg a szerkesztésre konfigurációs állományt.
$ sudo nano /etc/samba/smb.conf
Az általános, minden megosztás esetén érvényes beállításokkal kezdjük. Ezek a [global]
szakaszban találhatóak. Elsőként állítsuk be a munkacsoport nevét. Ehhez megkeressük a
megfelelő sort (workgroup), majd az egyenlőség jel utáni részt megváltoztatjuk.
workgroup=GYAKORLAT
Az alábbiakban a legtöbb beállítás esetében hasonlóképpen fogunk eljárni. Amennyiben
valamelyik kulcs (pl. netbios name) nem szerepel a kezdeti konfigurációs állományban,
akkor a teljes sort begépeljük, egyébként csak az egyenlőség jel utáni részt módosítjuk.
Néhány esetben a kulcs (pl. security) kezdetben megjegyzésben áll, ilyenkor el kell
távolítani a sor elején álló pontosvesszőt.
Második beállításunk a gép NetBIOS neve lesz (ezt be kell gépelni):
netbios name=ubuntu-server
Ezt követően a megosztások biztonsági modelljét (szintjét) felhasználóira állítjuk. Ez azt
jelenti, hogy egyedi felhasználói névvel és jelszóval férhetnek hozzá a megosztott
erőforrásokhoz, illetve felhasználónként szabályozhatjuk a jogosultságokat. Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
71
security=user
Bekapcsoljuk a Samba szerver WINS szolgáltatását, ami azt jelenti, hogy szerverünk egy
Windows Internet Name Service kiszolgáló feladatait is el fogja látni. A kulcs kezdetben
megjegyzésben van.
wins support=yes
Engedélyezzük, hogy a Samba szerver megkísérelje a megváltoztatott Samba jelszavakat a
Linux jelszó adatbázisban is érvényesíteni.
unix password sync=yes
Mentsük el a konfigurációs állományt, majd teszteljük azt.
$ sudo testparm
7.2.2. Nyilvános írható-olvasható megosztás
Első lépésként definiálunk egy vendég felhasználót a Linux rendszerben. Sikertelen
autentikáció vagy vendég típusú bejelentkezés esetén ezen felhasználóként vehetjük igénybe a
Samba szolgáltatásokat. Az Ubuntuba azért kell regisztrálnunk ezt a fiókot, mert a Samba
adatbázisába csak olyan fiókok vehetők fel, amelyek a Linux rendszer adatbázisában már
szerepelnek. A felhasználói fiókot úgy hozzuk létre, hogy nem jelentkezhet be és nem
rendelkezik saját könyvtárral.
$ sudo vendeg useradd –c "Samba vendég" –d /dev/null
–s /bin/false
A fiókot felvesszük a Samba felhasználók közé jelszó nélküli fiókként
$ sudo smbpasswd -an vendeg
Ellenőrzésként listázzuk ki a bejegyzett Samba felhasználókat
$ sudo pdbedit -L
Hozzuk létre a megosztani kívánt könyvtárat, és állítsuk be, hogy minden felhasználó teljes
hozzáférést kapjon hozzá.
$ sudo mkdir /srv/samba/kozos
$ sudo chmod 777 /srv/samba/kozos
A könyvtárat szeretnénk megosztani az összes felhasználó számára. Nyissuk meg a
szerkesztésre konfigurációs állományt.
$ sudo nano /etc/samba/smb.conf
7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)
72
A globális beállítások részben adjuk meg a vendég felhasználót, és azt, hogy sikertelen
autentikáció esetén a felhasználót tekintse vendégnek a rendszer.
guest account=vendeg
map to guest=bad user
A konfigurációs állomány végén hozzunk létre egy új szakaszt az új megosztás számára.
[kozos]
Adunk hozzá egy rövid magyarázó szöveget.
comment=Ez egy nyilvános írható-olvasható megosztás
Beállítjuk az elérési útvonalát és a hozzáférés szabályozást. Legyen a könyvtár írható.
path/srv/samba/kozos
read only=no
Jelszó nélkül lehessen hozzáférni
public=yes
Ne legyen rejtett, jelenjen meg a megosztások listájában
browseable=yes
Minden felhasználó kapjon teljes hozzáférést a benne létrehozott könyvtárakhoz és
állományokhoz Linux klienseken is. Az alábbi beállításpáros kikényszeríti, hogy Linux
klienseken az újonnan létrehozott állományok és könyvtárak az rwxrwxrwx
jogosultságszabályozással rendelkezzenek.
force directory mode=0777
force create mode=0777
Mentsük el a konfigurációs állományt, majd teszteljük azt (szintaktikai ellenőrzés).
$ sudo testparm
7.2.3. Megosztás egy adott felhasználó számára
Hozzuk létre a megosztani kívánt könyvtárat, és állítsuk be, hogy a hallgato felhasználó
legyen a tulajdonos és a csoporttulajdonos legyen a hallgato csoport.
$ sudo mkdir /srv/samba/hallgato
$ sudo chown hallgato /srv/samba/hallgato
$ sudo chgrp hallgato /srv/samba/hallgato
Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
73
Megj.: A Filesystem Hierarchy Standard ajánlása szerint a megosztott könyvtárakat a
/srv/samba könyvtár alá ajánlott elhelyezni.
Az általános beállítások után létrehozunk egy megosztást. A könyvtárat szeretnénk
megosztani a hallgato nevű felhasználó számára. Nyissuk meg a szerkesztésre
konfigurációs állományt.
$ sudo nano /etc/samba/smb.conf
A konfigurációs állomány végén hozzunk létre egy új szakaszt az új megosztás számára.
[hallgato]
Adunk hozzá egy rövid magyarázó szöveget.
comment=Ez egy megosztás a hallgato fiók számára
Beállítjuk az elérési útvonalát és a hozzáférés szabályozást. Legyen a könyvtár írható.
path/srv/samba/hallgato
writeable=yes
Jelszó nélkül ne lehessen hozzáférni
public=no
Ne legyen rejtett, jelenjen meg a megosztások listájában
browseable=yes
A hallgato felhasználó írhatja és olvashatja.
read list=hallgato
write list=hallgato
Mentsük el a konfigurációs állományt, majd teszteljük azt (szintaktikai ellenőrzés).
$ sudo testparm
A rendszer adatbázisai a /var/lib/samba könyvtárban találhatóak
Vegyük fel a hallgato felhasználót a Samba adatbázisba.
$ sudo smbpasswd -a hallgato
A jelszó legyen „hallgato”.
7.2.4. A szolgáltatás elindítása és tűzfalszabályok
Indítsuk el/újra a szervert. 7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)
74
$ sudo service smbd restart
Amennyiben szerverünkön működik tűzfal, akkor a Samba telepítésekor kapott
(/etc/ufw/applications.d könyvtárban található) UFW-s profil engedélyezésével
nyithatjuk meg a szükséges portokat.
$ sudo ufw allow Samba
Megj.: A profil előírja a 137-es és 138-as portok megnyitását az UDP protokoll számára,
valamint a 139-es és a 445-ös portok megnyitását a TCP protokoll számára. Néhány esetben a
fenti tűzfalmegnyitás nem bizonyult elégségesnek, és csak az érintett négy port mindkét
protokoll számára történő megnyitását követően sikerült a kliensnek csatlakozni a
megosztáshoz. A megnyitáshoz szükséges utasítások a következőek.
$ sudo ufw allow from 192.168.1.0/24 to any port 137
$ sudo ufw allow from 192.168.1.0/24 to any port 138
$ sudo ufw allow from 192.168.1.0/24 to any port 139
$ sudo ufw allow from 192.168.1.0/24 to any port 445
7.3. Samba kliens és konfigurálása
7.3.1. Kliens telepítése
Az asztali Ubuntu operációs rendszert futtató virtuális gépen telepítsük fel a megosztás
eléréséhez szükséges csomagokat.
$ sudo apt-get update
$ sudo apt-get install smbfs smbclient -y
Nyissunk meg egy terminált, és kérdezzük le a kiszolgáló által megosztott könyvtárakat.
$ smbclient -L ubuntu-server -N
A Sharename oszlopban meg kell jelenjen a hallgato és a kozos sor.
7.3.2. A nyilvános megosztás elérése
A megosztást kliens oldalról kétféleképpen érhetjük el: az smbclient parancs segítségével
vagy felcsatolva azt a könyvtárrendszerünkbe. Elsőként próbáljuk ki az smbclient-tel
történő elérést. Mivel ez egy nyilvános megosztás jelszó megadás nélkül csatlakozunk.
$ smbclient //ubuntu-server/kozos -N
Sikeres csatlakozást követően az smb:\> készenléti jel jelenik meg. A ? paranccsal
kérdezhetjük le az elérhető utasítások listáját. Hozzunk létre egy könyvtárat a megosztáson
belül
smb:\> mkdir proba Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
75
Lépjünk át a szerver virtuális gépbe, hozzuk létre ott a valami nevű szöveges állományt a
kozos könyvtárban, majd lépjünk vissza a munkaállomás virtuális gépbe és töltsük le az
állományt (másoljuk le a munkaállomásra).
smb:\> get valami
Lépjünk ki az smbclient-ből az exit parancs segítségével. A letöltött állomány az
aktuális könyvtárban található.
A megosztás elérésének gyakrabban alkalmazott módszere az, hogy a megosztott könyvtárat
felcsatoljuk az ügyfélgép állományrendszerébe. Ehhez hozzunk létre egy kozos nevű
könyvtárat.
$ sudo mkdir /mnt/kozos
Hajtsuk végre a felcsatolást vendégként kapcsolódva a megosztáshoz.
$ sudo smbmount //192.168.1.254/kozos
/mnt/kozos -o guest
Ellenőrizzük le állománylétrehozással, másolással, módosítással a felcsatolás sikerességét,
majd csatoljuk le a könyvtárat.
$ sudo umount /mnt/kozos
Ha azt szeretnénk, hogy minden indításkor automatikusan csatolódjon fel a könyvtár, akkor az
/etc/fstab állományba egy új sort kell írnunk. Ehhez nyissuk meg az állományt.
$ sudo nano /etc/fstab
Helyezzük el a következő sort (egyetlen sorba írva, és a sor végén az Enter-t lenyomva):
//192.168.1.254/kozos /mnt/kozos smbfs rw,guest 0 0
Mentsük el az állományt, majd próbáljuk ki a beállítást.
$ sudo mount /mnt/kozos
Lépjünk be a felcsatolt könyvtárba, ellenőrizzük a csatolást. Indítsuk újra a virtuális gépet az
automatikus felcsatolás ellenőrzése érdekében.
7.3.3. Felhasználó számára megosztott könyvtár elérése
Hozzunk létre egy smbkliens nevű könyvtárat, ide fogjuk felcsatolni a szerver által a
hallgato felhasználó számára megosztott mappát.
$ mkdir /home/hallgato/smbmegosztas
Hajtsuk végre a felcsatolást. 7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)
76
$ sudo smbmount //192.168.1.254/hallgato
/home/hallgato/smbmegosztas -o username=hallgato%hallgato
Lépjünk be a könyvtárba, és hozzunk létre ott egy új szöveges állományt. Lépjünk ki a
könyvtárból, majd csatoljuk azt le.
$ sudo umount /home/hallgato/smbmegosztas/
Ha azt szeretnénk, hogy minden indításkor automatikusan csatolódjon fel a könyvtár, akkor az
/etc/fstab állományba egy új sort kell írnunk. Ehhez nyissuk meg az állományt.
$ sudo nano /etc/fstab
Helyezzük el a következő sort (egyetlen sorba írva, és a sor végén az Enter-t lenyomva):
//192.168.1.254/hallgato /home/hallgato/smbmegosztas smbfs
username=hallgato,password=hallgato,umask=000 0 0
Mentsük el az állományt, majd próbáljuk ki a beállítást.
$ sudo mount /home/hallgato/smbmegosztas
Feliratkozás:
Bejegyzések (Atom)