1. Mi az IP, TCP/IP

Néhány év(tized)-del ezelőtt az USA-ban megkezdődött a kutatói/katonai hálózat kialakulása az ún. ARPANET. Ez kezdetben néhány egyetemből és katonai intézményből épült fel és elsősorban kutatási célokat szolgált. A hálózathoz egyre több egyetem kapcsolódott, folyamatosan gyarapodott, és így alakult ki a ma már egyre jobban ismert Internet. Mivel az internet az ARPANET-ben gyökerezik, ezért logikus, hogy sokmindent át is vett onnan, például a az alapprotokollját a TCP/IP-t.

Kezdjük először is a név magyarázatával. A TCP/IP, helyesebben írva IP/TCP, általában egy teljes protokollcsaládot jelent, ami magában foglalja az összes IP-re (Internet Protocol) épülő protokollt. A TCP (Transmission Control Protocol) ennek a családnak egy tagja (tegyük hozzá, hogy ezt használjuk leggyakrabban), de emelett rengeteg "testvére" van, mint például az UDP (User Datagram Protocol) vagy az ICMP (Internet Control Message Protocol).

Az internet rendkívül heterogén hálózatokat fogott össze, ezért elsődleges cél volt az IP számára, hogy a fizikai médiumtól függetlenül, bárhol képes legyen működni. Ehhez egy olyan absztrakciós rétegre van szükseg, ami minden eszközön megvalósítható, és semmilyen eszközhöz nem köthető. Az IP-ben használható eszközöknek a következő követelményeknek kell megfelelniük:

Mint láthatjuk a fenti két megkötést szinte minden lehetséges fizikai eszközön meg lehet valósítani, kezdve az ARCNet, Ethernet hálózatoktól az egyszerű nullmodemig.

Az IP (=internet protokoll) állapotmentes protokoll, nem garantálja a packetek megérkezését a célhoz, sőt azt sem, hogy a packetek ugyanolyan sorrendben érkeznek meg, mint ahogyan elküldték őket. Ez tulajdonképpen annyit jelent, hogy a fizikai médium megpróbál megtenni a csomag célbajuttatása érdekében, de nem garantál semmit.

Egy IP csomag két részből áll: 1) fejléc információk, amelyek tartalmazzák a forrás és célcímet, valamint 2) adatrész, ami alkalmazás-specifikus. Az IP-re épülő protokoll az IP adatrészét használhatja felsőbb szintű fejléc, valamint adat számára. Így egymásba skatulyázhatók a csomagok, a felsőbb szintű protokollok használhatják azt, amit az alsó szintű add, de kiegészíthetik további tulajdonságokkal. Így jön a képbe a TCP.

Mint láthatjuk az IP használata elég nehézkes az alkalmazások szempontjából, hiszen gondoskodniuk kell a csomagok sorbaállításáról, és az elvesző packetek újraküldéséről. Hogy ne kelljen minden alkalmazásban ezeket a funkciókat implementálni, ezért létrehozták a TCP protokollt, ami gondoskodik a csomagok sorrendbe allításáról, valamint az esetlegesen elvesző packetek ujraküldéséről. A TCP így már egy garantált csatornát biztosít a programunknak, hiszen gondoskodik arról, hogy ami a kapcsolat egyik végén "bement", az a másik végén ki is jön. Láthatjuk, hogy a TCP protokoll sokkal kényelmesebb az alkalmazások szempontjából, ezért majdnem minden magas szintű protokoll ezt használja (telnet, ftp stb). Ugyanakkor nem mindig van szükség a TCP-vel járó szolgáltatásokra, ezért kialakult más IP-re épült, de úgyanúgy nem kapcsolatjellegű protokoll. Erre jellemzően a kérdés-válasz jellegű kommunikációnál lehet szükség, amikor a visszaigazolást tulajdonképpen a válasz maga jelenti. Ilyen protokoll az UDP. Ezt a protokollt használja például a DNS (domain name service), vagy az NFS (network file system).

Ezen kívül még léteznek más, IP-re épülő protokollok, ilyen az ICMP (=internet control message protocol), vagy az IGMP (=internet group multicast protocol).

2. Címzés

2.1. Host címek

Mint korábban írtam az IP azonos felületet igyekszik adni minden hálózati eszköz felé. Ebben nagy szerepet játszik a címzés felépítése, ami minden fizikai médián logikai cím, és a logikai-fizikai cím közti összerendelést a protokoll végzi el. Megjegyzendő, hogy az IP cím és a hálózati eszköz fizikai címe között nincs összefüggés.

Az IP cím egy 32 bites szám, ami 4 byte-nak felel meg. Írási formája a következő:

192.168.2.1
Ahol két pont között egy byte-nak megfelelő tízes számrendszerbeli szám van. Ez a cím az egész interneten (ill. az intraneten, hogy ha a nagy háló nem elérhető) egyedi. Minden hálózati eszköznek saját címe van, tehát ha egy számítógépben több hálózati eszköz van (több ethernet kártya pl) , akkor az a gép több címen is elérhető.

A címen kívül a célgépen meg kell neveznünk egy szolgáltatást amit el kívánunk érni. Erre az ún. portcím szolgál, ami egy 16 bites szám. A portcímek egy része előre meghatározott szolgáltatásoknak van lefoglalva, például a 23-as port a telnet, 21-es az ftp, 25-ös pedig a levelezés számára foglalt.

2.2. Network címek és a netmask.

A hálózaton nem csak a host-okat (számítógépeket, munkaállomásokat) azonosítják IP címmel, hanem a hálózatokat is. Egy IP szegmenst a network címe azonosít. Egy host neve úgy áll össze, hogy a cím elején levő bitek határozzák meg a hálózat címét, a fennmaradó bitek pedig a host-ot azonosítják a hálózaton belül. Az, hogy melyik rész a network cím, és melyik azonosítja a host-ot a netmask határozza meg.

A címnek azon bitjei, amiken a netmask bitjei 1-et tartalmaznak, a network címet határozzák meg, a fennmaradó bitek pedig a network-ön belüli hostcímet adják meg.

Legyen a cím:

|1. byte        |2. byte        |3. byte        |4. byte        |
+---------------------------------------------------------------+
|1|1|0|0|0|0|0|0|1|0|1|0|1|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|1| = 192.168.2.1
+---------------------------------------------------------------+

És a netmask:
+---------------------------------------------------------------+
|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|0|0|0|0|0|0|0|0| = 255.255.255.0
+---------------------------------------------------------------+
Tehát, ha a címünk 192.168.2.1, és a netmask 255.255.255.0, akkor a 192.168.2.0 a hálózati cím, a 192.168.2.1-nek az utolsó byteja (tehát az 1) pedig a host cím. Ebben az IP szegmensben 256 különböző cím szerepelhet, mégpedig 192.168.2.0 - 192.168.2.255-ig. Ebből két címet fenntart magának a protokoll, mégpedig a 192.168.2.0, ez a network cím, és a 192.168.2.255 ez pedig a broadcast cím, erről bővebben egy picit később.

Ha tehát a 192.168.2.3-as címet akarjuk megcímezni, akkor a netmaskunkból látszik, hogy ez egy lokális cím, tehát közvetlenül címezhető.

Ha viszont a 192.168.1.1-es címet szeretnénk elérni, a netmaskból látszik, hogy ez nem helyi cím, lokálisan nem kézbesíthető, ehhez a gateway-t (útválasztó) használjuk fel. Mi neki adjuk át a datagrammokat, a többiről pedig ő saját belső táblázataira támaszkodva gondoskodik.

A netmask egy elég jó eszköz hálózatok feldarabolására, hiszen a használatával egy eredetileg 256 IP címes hálózatot fel lehet darabolni 16 db. 16 címesre, vagy 4 db. 64 címesre, de akár 1 128 címesre + 2 db. 64 címesre. Ezt a technikát hívják subnetelésnek.

2.3. Címosztályok

Most, hogy már ismerjük a netmask fogalmát, könnyű lesz megértenünk az A, B és C címosztályokat. Az A osztályú cím az 1.0.0.0 - 126.255.255.255 címeket foglalja magába és netmaszkja 255.0.0.0 tehát egy IP szegmensben 2^24 (=16 millió) hostot képes megcímezni. A B osztályú címek 128.0.0.0 - 191.255.255.255 terjednek, és netmaskjuk 255.255.0.0 (2^16 = 65536 host). A C osztályú címek a 192.0.0.0 - 223.255.255.255 címtartományban vannak, és netmaskjuk 255.255.255.0. A fennmaradó címtartomány foglalt későbbi fejlesztésekre. Ezeket a címtartományokat nem kell feltétlenül így használnunk, hiszen egy 15.1.2.3 címet is használhatunk 255.255.255.0 netmaskal, és olyankor csak 256 helyi host létezik. Régen az útválasztók nem ismerték a netmask fogalmát, és csak címosztályok alapján tudtak routeolni. Ma a címosztály nem több adminisztrációs fogalomnál, illetve az egyes segédprogramok a címosztály alapján választanak alapértelmezést, de ezt bármikor átállíthatjuk.

2.4. Localnet

Mint láthatjuk a fenti címfelosztásból kimaradt a 127.0.0.0/255.0.0.0 címtartomány. Ez az ún loopback-nek fenntartott rész. A loopback egy olyan áleszköz, ami a saját számítógépünket jelenti. Bármelyik cím a 127.0.0.0 tartományon belül a saját számítógépünkkel kommunikál.

2.5. Broadcast cím

Ezzel nem kell nagyon foglalkoznunk, a lényege az, hogy ezzel a címmel az összes helyi gépet megcímezhetjük, ún. körüzenetet küldhetünk ide, és azt az összes állomás venni fogja. A broadcast címnek foglalt az adott networkon megcímezhető legnagyobb hostcím. Tehát a címben a host részen csupa 1-es szerepel. Így a fenti 192.168.2.0/255.255.255.0 tartományban a broadcast számára a foglalt a 192.168.2.255 cím.

2.6. Routolás

Most már ismerünk IP címeket, netmaskokat, dehát hogyan is áll össze az egész hálózat? Erre próbálok rávilágítani ebben a fejezetben:

Mint már mondtam, ha egy datagramm lokálisan nem kézbesíthető (tehát logikailag vagy fizikailag más közegben helyezkedik el), akkor az útválasztónak (gateway-nek) továbbítjuk ezt a packetet. Az útválasztónak kell eldöntenie, hogy egy adott packetnek merre kell tovább mennie. Ebben a feladatban rendelkezésre áll a cél IP cím, ill. egy belső táblázat az ún. routing tábla. (mint később láthatjuk sajat gépünkön is van ilyen tábla, de legtöbbször nem használjuk, csak a lokális háló számára van bejegyzés)

Szóval a címek leírásánál már mondtam, hogy minden egyes hálózati eszköz kap egy IP címet, tehát ha a routerünknek két interface-e van, akkor neki két IP hálózatra van kijárása, számára két szegmensen is vannak közvetlenül elérhető hostok.

Legyen most két IP szegmensünk, az egyik 192.168.1.xxx/255.255.255.0 (eth0 eszközön keresztül), a másik pedig a 192.168.2.xxx/255.255.255.0 (az eth1 eszközön keresztül). Így a routing tábla valahogy így nezne ki:

Célcím          Netmask         Gateway         Eszköz
192.168.1.0     255.255.255.0   -               eth0
192.168.2.0     255.255.255.0   -               eth1
Így a routerünk meg tudja címezni mindkét IP szegmenst valamelyik eszközén  keresztül. A megfelelő eszköz keresése valahogy úgy zajlik, hogy az első olyan routing bejegyzés eszköz mezője hivatkozik a keresett eszközre, aminek a tartományába a célcím beleesik.

Van egy harmadik oszlop, ami a fenti két bejegyzésnél üres. Ezt az oszlopot használhatjuk fel annak megjelölésére, hogy a célcím nem lokálisan elérhető, de az adott szegmensen található gateway már tudja az utat a cél felé. Ilyen módon a gateway-ek összeláncolhatók.

Vegyünk tehát fel egy olyan routing bejegyzést, amin keresztül az egesz internetet láthatjuk. Legyen ez mondjuk egy soros vonal (ppp0), a soros vonalon keresztül látunk egy gateway-t, ami az internet felé továbbítja a packeteket.

Célcím          Netmask         Gateway         Eszköz
0.0.0.0         0.0.0.0         195.184.3.2     ppp0
Láthatjuk, hogy a netmask 0.0.0.0 tehát a teljes címtartományt lefedjük, azt is láthatjuk, hogy ezeket a kéréseket a ppp0-s eszközön kell továbbitani, ott pedig egy gateway-nek kell adnunk, akinek a címe 195.184.3.2.

Ilyen módon épül fel az egész internet, minden kis helyi hálózat továbbitja a nem helyi packeteit egy olyannak, aki már tudja merre kell azt továbbítani.

3. Linux

Eddig általánosságban beszéltem a TCP/IP felépítéséről most szeretnék egy kicsit a Linux oldaláról közelíteni a témához.

3.1. Interface-k

Az interface-k tulajdonképpen a hálózati eszközöknek felelnek meg. Minden hálózati eszközt az ifconfig nevű programmal tudunk beállitani. Az általános szintaxis a következő:
ifconfig <eszköz> <up|down> <ipcím> netmask <netmask cím> broadcast <broadcast cím>
Ezek a legfontosabb paraméterek, bővebben lásd: man ifconfig. Az eszközök neve változó, főleg a típustól függ, általában:
 
eth[0123456789] ethernet kártyák
ppp[0123456789] ppp eszközök (soros vonali, pointopoint)
sl[0123456789] slip eszközök (soros vonal)
lo loopback eszköz
Mielőtt ezeket az eszközöket használni tudnánk, a kernelbe be kell forditani a megfelelő drivereket.

Ha az ifconfig-ot paraméterek nélkül hívjuk meg, akkor kiírja az aktuálisan felkonfigurált eszközök listáját:

balabit:~$ ifconfig
lo       Link encap:Local Loopback
         inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
         UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
         RX packets:97 errors:0 dropped:0 overruns:0 frame:0
         TX packets:97 errors:0 dropped:0 overruns:0 carrier:0 coll:0

eth0     Link encap:Ethernet  HWaddr 00:40:F6:58:A0:B3
         inet addr:193.6.40.37  Bcast:193.6.40.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:10936 errors:0 dropped:0 overruns:0 frame:974
         TX packets:3449 errors:0 dropped:0 overruns:0 carrier:0 coll:574
         Interrupt:10 Base address:0x300
Ez megadja a be´llítható paraméterek aktuális értékét, valamint néminemű statisztikai adatokkal szolgál.

3.2. Routing tábla

A 2.5. fejezetben leírtak mint mondtam nem csak a gateway-ekre igaz, hiszen Linux alatt is kreálhatunk magunknak ilyen routing táblát, sőt egy Linux képes tökéletesen ellátni a router feladatait. A route tábla beállítását és lekérdezését a route parancs segítségével tudjuk megejteni.

Indítsuk el paraméterek nélkül a route parancsot:

balabit:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
193.6.40.0      *               255.255.255.0   U     0      0        6 eth0
127.0.0.0       *               255.0.0.0       U     0      0        2 lo
default         rxkk.saturnus.v 0.0.0.0         UG    0      0       88 eth0
Mit is jelent, amit látunk:

Az eth0 eszközön keresztül látjuk a lokális hálózatot, ami a 193.6.40.0/255.255.255.0 tartománynak felel meg. (ez az első sor)

A 127.0.0.0/255.0.0.0 -n saját magunkat látjuk, ez a loopback.

Az összes többi packet pedig, ami nem fér be a fenti két kategóriába a default-on megy keresztül, ami egy gateway-nek továbbít minden packetet.

Új bejegyzéseket is vehetünk fel a route paranccsal. A szintaxis körülbelül a következő:

route <add|del> <-host|-net> <célcím> netmask <netmask cím> dev <eszköz>

3.3. Hálózati mintabeállítások

Ebben a fejezetben konkrét példákat nézünk át, hogy adott konfigurációban hogyan kell beállítanunk a hálózatot a fenti ifconfig és route parancsok segítségével. Később a disztribúció specifikus beállításokat nézzük át, az újabb disztribúciók ugyanis sokkal egyszerűbbé teszik ezeket a beállításokat, és már kész scripteket adnak, amiket megfelelően felparaméterezve ugyanoda juthatunk, mint ha külön-külön kiadnánk a lenti parancsokat.

3.3.1. Linux ethernet hálózaton

Példa: A számítógépben egyetlen ethernet kártya van, és ezen keresztül éri el az internetet, és a lokális gépeket egyaránt. A helyi hálózat egy C osztályú IP szegmensen van.

Megoldás: A gép IP címe a példa kedvéért legyen 192.168.2.1, a gateway legyen 192.168.2.254. Ekkor a következő parancsokkal lehet beállítani a hálózatot:

$ ifconfig eth0 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255 
        network 192.168.2.0
Ez beállítja az eth0 eszköz IP címét, a rajta keresztül elérhető hálózat maszkját, a körüzenet címét, és a hálózati címet.
$ route add -net 192.168.2.0
Ez beállítja a helyi hálózat route bejegyzését, így ezentúl a 192.168.2.xxx című hostokat el tudjuk érni.
$ route add default gw 192.168.2.254
Ez pedig a lényeg: minden olyan csomag, amiről eddig nem rendelkeztünk, menjen a 192.168.2.254-en levő útválasztóra.

3.3.2. Linux modemes dialup-al

Ma még - sajnos - nem jellemző az, hogy egy számítógép folyamatos kapcsolattal rendelkezzen a külvilág felé. Általános kapcsolódási módszer a telefonos hálózaton történő kapcsolódás. Ehhez legalább kétféle protokoll áll rendelkezésünkre: Az első egy egyszerű, de meglehetősen elavult protokoll, ma már egyre kevésbé használják, és sokkal inkább a második hódit tért. A PPP nem csak IP-t tud átvinni, hanem például IPX-et is, támogatja az azonosítást, és sokkal jobban definiált. A kapcsolat felvétel két fő lépésből áll:
  1. A modem-számítógép kommunikációja, tárcsázás, kapcsolatfelvétel
  2. Amennyiben a kapcsolat létrejött, az adatcsatorna átalakítása bináris kommunikációra, csomagok forgalmazása
A számítógép a modemeket szöveges parancsokkal vezérli (ezek a Hayes féle modemvezérlő parancsok). Ha az adatkapcsolat létrejött, akkor kapunk egy terminált, amin egy login prompt utan az azonosítónkat, és a jelszavunkat begépelve shell-hez juthatunk a távoli gépen. Amennyiben azonban adatot szeretnénk forgalmazni, ahhoz a távoli kiszolgálógépen és a saját számítógépünkön is el kell indítanunk az adatkapcsolatot levezénylő programot. (ez PPP esetében a pppd). Például itt egy bejelentkezés modemen keresztül:
 
ATZ                       <-- inicializálja a modemet
OK                        <-- modem válaszol, inicializálás kész
ATDT501060                <-- számítógép küldi a tárcsázási parancsot
CONNECT                   <-- modem küldi, jelzi, hogy az adatkapcsolat létrejött. Ezentúl
                              a kommunikáció a távoli géppel történik, a modem már csak 
                              továbbítja az adatokat
Welcome to Altair!        <-- ezt a túloldali gép login programja üzeni
login: bazsi              <-- itt a mi oldalunk beírja a felhasznalói nevet, amint a login: 
                              megjelenik
password: xxxxx           <-- a password: feliratra reagálva a számítógép beüti a kódot
You have new mail.
altair:~$ pppd            <-- sikerült belépnem a gépre, most el kell indítani a pppd-t
Ezen a ponton a túloldal várakozik, hogy a mi oldalunkon is elinduljon a pppd. Ezután már indulhat is az adatkommunikáció. Mint láthatjuk a fenti bejelentkezés egyszerűen leírható kérdés-válaszok segítségével:
 
 
Vár Válasz
- ATZ
OK ATDT501060
login: bazsi
password: xxxxx
altair:~$ pppd

Ezt a kérdés-válasz kommunikációt hívják chat-nek, és a leírását pedig chat-scriptnek. A chat-script segítségével a teljes belépési folyamat automatizálható. A modemes dialup beállításához tehát létre kell hoznunk egy chat scriptet, amit megadva a pppd-nek felépíthető a kapcsolat. Ehhez a következő paraméterekkel kell indítanunk a pppd-t:
 

balabit:~$ pppd /dev/modem modem lock connect /etc/ppp/chatscript defaultroute
Nézzük a paraméterek jelentését:

A fennt megadandó chat script standard inputjára és outputjára a modem kerül, tehát minden amit kiírunk azt megkapja a modem, és a modem által küldött adatokat olvashatjuk be. A chat scriptet a chat nevű programmal tudjuk "lejátszani". Tehát az "/etc/ppp/chatscript" nevű állományba a következőket kell írnunk:
 

#!/bin/sh
chat `` `ATZ` `OK` `ATDT501060` `login:` `bazsi` `password:` `xxxx` `altair:~$` `pppd`
Így elértük célunkat, a kapcsolatfelvételt automatizáltuk.

3.3.3. Hálózati eszközök beállítása RedHat alatt

Redhat alatt nagyon jól megoldották az interface-k beállításást. Egyrészt mindent megtehetünk X-Window alól, a control-panel segítségével, másrészt a control-panel által generált állományokat is kitölthetjük az /etc/sysconfig/network-scripts alatt könyvtárban.

Egy hálózati eszközhöz tartozó beállítások az ifcfg-eszknév nevű állományokban találhatók a fent megnevezett könyvtárban, tehát az eth0 eszköz adatai az /etc/sysconfig/network-scripts/ifcfg-eth0 állományban található. Minden ilyen állomány egy shell script, aminek a feladata néhány változónak a beállítása, ezért általában így néz ki:

DEVICE=eth0
IPADDR=195.184.3.121
NETMASK=255.255.255.0
NETWORK=195.184.3.0
BROADCAST=195.184.3.255
ONBOOT=yes
BOOTPROTO=none
Általában a konkrét eszköz típusától függően további paramétereket is beállíthatunk, de a fentieket mindenhol értelmezik. Egy soros porthoz két állomány is tartozik az egyik az ifcfg-ppp0, a másik pedig az ehhez tartozó chat script (chat-ppp0). Egy soros porthoz tartozó ifcfg-ppp0 például így néz ki:
PERSIST=no
DEFROUTE=yes
ONBOOT=no
INITSTRING=ATZ
MODEMPORT=/dev/modem
LINESPEED=115200
ESCAPECHARS=no
DEFABORT=yes
HARDFLOWCTL=yes
DEVICE=ppp0
PPPOPTIONS=
DEBUG=no
PAPNAME=bazsi
REMIP=195.184.3.117
IPADDR=195.184.3.121
BOOTPROTO=none
MTU=1500
MRU=1500
DISCONNECTTIMEOUT=
RETRYTIMEOUT=
USERCTL=yes
Az egyes paraméterek jelentése értelemszerű, ezeknek a fileoknak a beállítását érdemesebb control-panellel végeznünk, az kitölti az összes mezőt a számunkra.

3.3.4. Hálózati eszközök beállítása Debian alatt

...

3.3.5. Hálózati eszközök beállítása SuSe alatt

...

3.4. Nameserver beállítása

A nevek IP címmé, valamint az IP címek nevekké fordítása az ún. DNS (domain name service) feladata. A DNS szerver-t általában a szolgáltatónk üzemelteti, és ő adja meg a szerver adatait is. (IP cím)

Ezeket az adatokat az /etc/resolv.conf nevű fileban lehet megadni, ahol a következő kulcsszavak értelmezettek:
 
 
nameserver <ipcím> A DNS IP címét adja meg.Többet is felsorolhatunk space-el elválasztva.
search domain1 domain2 Keresési zónákat adhatunk meg, amennyiben egy host a domain1 v. domain2 zónában van, akkor elég a zónán belüli nevét használnunk. (pl: proba.domain1 helyett elég proba-t írni)
 

3.5. Nameserver nélküli beállítás

Amennyiben a hálózatunkon nincsen nameserver, például nincs kapcsolatunk az internettel, akkor is szükségünk lehet név -> IP cím feloldásra. Ekkor alternatív megoldásként használhatjuk az /etc/hosts állományt. Ennek a formátuma: 

IP cím név/nevek 

127.0.0.1 localhost
192.168.2.1 proba.domain.nev proba
Ekkor a "proba.domain.nev" és a "proba" mindkettő a 192.168.2.1-es címhez lesz hozzárendelve. 

4. Szerzői jogok, és garancia

Az ilyen dolgokat mindig is utáltam, de valamennyire szükség van rá. Szóval a dokumentum tartalmát illetően semmiféle garanciát nem vállalok, az itt levő bármelyik parancs begépelése földrengéseket, tűzvészeket okozhat, és akár megformázhatja a vinyódat  (bár ilyen még soha nem történt), de erről én egyáltalán nem tehetek. Ha ezt nem hiszed el, akkor sajnos le kell tegyél e dokumentum bármilyen formában történő felhasználásáról.

Copyright (c) 1998, Balázs Scheidler.

A szerzői jogok engem, Scheidler Balázst, illetnek, és ezt az irományt 1998-ban követtem el, úgyhogy még legalább 70(*) évig az enyémek is maradnak. Minden jog engem illet, de kegyesen adok néhány jogot nektek is: tehát a dokumentumot elektronikus módon szabadon terjesztheted, amíg a fenti copyright sor a helyén marad. Egyéb terjesztésről egyénileg beszélhetünk.

Amennyiben tanulsz valamit ebből a dokumentumból, és hasznodra válik, lógsz egy sörrel, amit egyszer majd BEHAJTOK. :-)

Ja még annyit akartam írni, hogy megtalálsz a bazsi@balabit.hu e-mail címen, kritikát, bővítéseket, flame-t oda küldhetsz.
  * eredetileg itt 50 év állt, de Balogh Zsolt felvilagosított, hogy a szerzôi jogok az embert 70 évig illetik meg.