IP-Alias Mini HOGYAN


HOGYAN ÁLLÍTSUK BE AZ IP-ÁLNÉV
(a továbbiakban IP alias)
HASZNÁLATÁT EGY LINUX OPERÁCIÓS RENDSZERŰ SZÁMÍTÓGÉPEN
GNU Szerzői jog 1996/1997 Haris Pillay mailto: h.pillay@ieee.org
Elsődleges oldal: http://home.pacific.net.sg/~harish/linuxipalias.html
E lap utolsó frisítésének időpontja 1997. január 13.

1. Áttekintés:

Ez egy szakácskönyvi recept arra, hogy hogyan állítsuk be és futtassuk az IP alias használatát egy Linux operációs rendszerű számítógépen. Továbbá található még itt néhány instrukció arra is, hogy hogyan állítható be elektronikus levelek (a továbbiakban email) fogadására egy IP alias-t használó számítógép.

2. A saját beállításaim:

  • Az utolsó kernel verzió (2.0.27 - beszerezve a következő címről:
    A fordítás pillanatában a legfrissebb stabil kernel verziószáma: 2.0.35 / a fordító /
  • Az IP alias kernel modulként fordított. Jelezned kellene a "make config" parancs futása folyamán azt, hogy az IP Masq-ot (M)odul-ként kívánod fordítani. Vizsgáld meg a Modulok-HOGYAN-t (amennyiben ez megtalálható), vagy nézz utána az információnak a /usr/src/linux/Documentation/modules.txt fájlban.
  • Támogatni kívánok két további IP-t, a már számomra megadotton keresztül, illetve a felett.
  • Egy D-Link DE620 pocket adapter (nem fontos, mert működik bármely Linux által támogatott hálózati csatolóval).

3. Parancsok:

  • Először töltsük be az IP Alias modult (átugorhatod ezt a lépést, amennyiben a modult befordítottad a kernelbe):
    /sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o
  • Másodszor, állítsuk be a visszahurkolást (loopback), eth0 és valamennyi IP értéket, kezdve a fő IP értékkel az eth0 interfész számára:
    /sbin/ifconfig lo 127.0.0.1
    /sbin/ifconfig eth0 up
    /sbin/ifconfig eth0 172.16.3.1
    /sbin/ifconfig eth0:0 172.16.3.10
    /sbin/ifconfig eth0:1 172.16.3.100

172.16.3.1 a fő IP érték, míg a .10 és a .100 értékek álértékek, aliasok. A varázslat az eth:x érték (x=0,1,2,...n) az eltérő IP címekre. A fő IP címnek nem kellene álnevesítettnek ("alias-oltnak") lenni.

  • A harmadik, az útirányítások (routes) beállítása. Az első átírányítás a visszahurkolás (loopback), ezután következik a háló (net) és végül a különféle IP értékek - kezdve az alapértelmezett (eredetileg kijelölt) értékkel:
    /sbin/route add -net 127.0.0.0
    /sbin/route add -net 172.16.3.0 dev eth0
    /sbin/route add -host 172.16.3.1 dev eth0
    /sbin/route add -host 172.16.3.10 dev eth0:0
    /sbin/route add -host 172.16.3.100 dev eth:1
    /sbin/route add default gw 172.16.3.200

Ennyi.

A fenti IP címes példában, Magán IP értékeket használok (Private IP #s) - RFC 1918 - szemléltetési célokra. Helyettesítsd ezeket a saját kereskedelmi vagy magán IP értékeiddel.

A példa csak három IP értéket mutatott. A maximálisan definiált érték legyen 256 a /usr/include/linux/net_alias.h fájlban. 256 IP érték egyetlen kártyának igen erőteljes mennyiség :-) !

Íme ilyen kinézetű a saját /sbin/ifconfig parancsom kimenete

    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:5088 errors:0 dropped:0 overruns:0
              	TX packets:5088 errors:0 dropped:0 overruns:0
    
    eth0   	Link encap:10Mbps Ethernet  HWaddr 00:8E:B8:83:19:20
              	inet addr:172.16.3.1  Bcast:172.16.3.255  Mask:255.255.255.0
              	UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
              	RX packets:334036 errors:0 dropped:0 overruns:0
              	TX packets:11605 errors:0 dropped:0 overruns:0
              	Interrupt:7 Base address:0x378
    
    eth0:0	Link encap:10Mbps Ethernet  HWaddr 00:8E:B8:83:19:20
              	inet addr:172.16.3.10  Bcast:172.16.3.255  Mask:255.255.255.0
              	UP BROADCAST RUNNING  MTU:1500  Metric:1
              	RX packets:0 errors:0 dropped:0 overruns:0
              	TX packets:0 errors:0 dropped:0 overruns:0
    
    eth0:1	Link encap:10Mbps Ethernet  HWaddr 00:8E:B8:83:19:20
              	inet addr:172.16.3.100  Bcast:172.16.3.255  Mask:255.255.255.0
              	UP BROADCAST RUNNING  MTU:1500  Metric:1
              	RX packets:1 errors:0 dropped:0 overruns:0
              	TX packets:0 errors:0 dropped:0 overruns:0

És a /proc/net/aliases fájl:

    device family address eth0:0 2 172.16.3.10 eth0:1 2 172.16.3.100

És a /proc/net/alias_types fájl:

    type name n_attach 2 ip 2

Természetesen a /proc/net/alias_types fájl tartalma nem kézzel került feltöltésre, hanem az ifconfig parancson keresztül!

4. Kérdések:

4.1 Hogyan tudom megtartani a beállításokat a következő bootolás után is?

Válasz:

  • Akár BSD-tipusú, akár SysV-tipusú (például a RedHat) inicializálást használsz, a beállításokat mindíg a /etc/rc.d/rc.local fájlban találod.

Íme mi található az én SysV rendszerem inicializálásában (RedHat 3.0.3 és 4.0):

  • A saját /etc/rc.d/rc.local fájlom: (hogy mutassam az idevonatkozó részleteket)
    #Az IP alias felületek beállítása /setting up IP alias interfaces/
    echo "A 172.16.3.1, 172.16.3.10, 172.16.3.100 IP aliasok beállítása..."
    /sbin/ifconfig lo 127.0.0.1
    /sbin/ifconfig eth0 up
    /sbin/ifconfig eth0 172.16.3.1
    /sbin/ifconfig eth0:0 172.16.3.10
    /sbin/ifconfig eth0:1 172.16.3.100

#A útirányok beállítása /setting up the routes/ echo "Az IP útirányok (routes) beállítása ..."
    /sbin/route add -net 127.0.0.0
    /sbin/route add -net 172.16.3.0 dev eth0
    /sbin/route add -host 172.16.3.1 eth0
    /sbin/route add -host 172.16.3.10 eth0:0
    /sbin/route add -host 172.16.3.100 eth0:1
    /sbin/route add default gw 172.16.3.200
    #
    


4.2 Hogyan állíthatom be azt egy IP alias-t használó számítógépen, hogy képes legyen leveleket fogadni a különböző álnevesített (aliased) IP címeken (egy olyan gépen, amely a sendmail-t használja) ?

Válasz:

  • Hozz létre (amennyiben eddig még nem létezik) egy - például - /etc/az_én_neveim.cw nevű fájlt. Ez ne legyen - egy a /etc könyvtárban - már meglévő nevű fájl neve.
  • Ebben a fájlban helyezd el az álnevesített (alias-olt) IP címeid kereskedelmi domain neveit. Amennyiben az álnevesített (alias-olt) IP címeid nem rendelkeznek domain névekkel, akkor csak magukat az IP címeket helyezd el a fájlban.
    /etc/az_én_neveim.cw:
    ------------------
    # /etc/az_én neveim.cw - tartalmazza valamennyi álnevet (aliast) a gépem részére; # jel egy komment.
    domain.one.net
    domain.two.com
    domain.three.org
    4.5.6.7
         * A saját sendmail.cf fájlodban, ahol definiálod az Fw makró osztály fájlját,
           add hozzá a következőket:
    
    .
    .
    .
    ##################
    #   lokális info    #
    ##################
    .
    .
    # a fájl tartalmazza azon számítógépek neveit, amelyek részére email leveleket fogadunk
    Fw/etc/az_en_neveim.cw
    .
    .
    .

Ennyit kell csak tenni. Teszteld le az új beállításaidat, a sendmail segítségével tesztmódban a következő példával:

    ganymede$ /usr/lib/sendmail -bt
    ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
    Enter
    > 0 me@4.5.6.7
    rewrite: ruleset  0   input: me @ 4 . 5 . 6 . 7
    rewrite: ruleset 98   input: me @ 4 . 5 . 6 . 7
    rewrite: ruleset 98 returns: me @ 4 . 5 . 6 . 7
    rewrite: ruleset 97   input: me @ 4 . 5 . 6 . 7
    rewrite: ruleset  3   input: me @ 4 . 5 . 6 . 7
    rewrite: ruleset 96   input: me
    rewrite: ruleset 96 returns: me
    rewrite: ruleset  3 returns: me
    rewrite: ruleset  0   input: me
    rewrite: ruleset 98   input: me
    rewrite: ruleset 98 returns: me
    rewrite: ruleset  0 returns: $# local $: me
    rewrite: ruleset 97 returns: $# local $: me
    rewrite: ruleset  0 returns: $# local $: me
    > 0 me@4.5.6.8
    rewrite: ruleset  0   input: me @ 4 . 5 . 6 . 8
    rewrite: ruleset 98   input: me @ 4 . 5 . 6 . 8
    rewrite: ruleset 98 returns: me @ 4 . 5 . 6 . 8
    rewrite: ruleset 97   input: me @ 4 . 5 . 6 . 8
    rewrite: ruleset  3   input: me @ 4 . 5 . 6 . 8
    rewrite: ruleset 96   input: me
    rewrite: ruleset 96 returns: me
    rewrite: ruleset  3 returns: me
    rewrite: ruleset  0   input: me
    rewrite: ruleset 98   input: me
    rewrite: ruleset 98 returns: me
    rewrite: ruleset 95   input:  me
    rewrite: ruleset 95 returns: me
    rewrite: ruleset  0 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me
    rewrite: ruleset 97 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me
    rewrite: ruleset  0 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me
    >

Megjegyzem, amikor a me@4.5.6.7 -et teszteltem, az a levelet a helyi (lokális) gépre kézbesítette, míg a me@4.5.6.8 át lett adva az smtp levelező részére. Ez a helyes reagálás.

Most már mindent beállítottál.

5. Konklúzió:

Remélem az előző példa hasznára volt valakinek.

Köszönet mindenkinek, akik végig csinalták ezt a nagy munkát a Linux-on és az IP álnevesítést (IP Aliasing). És különösen Juan Jose Ciarlante-nak, a kérdéseim tisztázása miatt.

Dicsőség a menő programozóknak !

Amennyiben hasznosnak találod ezt a dokumentumot vagy javaslataid lennének a tökéletesítésére, küldj egy emailt a h.pillay@ieee.org címre.

És élvezd az IP aliast.


Kérdések?

Gyere vissza Harrish honlapjára


Magyar változat: Murzsa Norbert mailto: kuksi@igyuk.hu