  IP Alias mini HOWTO
  Autor: Harish Pillay h.pillay@ieee.org
  v?, 13 Stycznia 1997
  WWeerrssjjaa ppoollsskkaa:: LLeesszzeekk UUrrbbaasskkii ttyyggrryyss@@ffiiddoonneett..oorrgg..ppll
  v1.0, 5 Kwietnia 1998


  Jak ustawi IP Aliasing na maszynie Linuxowej. Dodatkowo jest
  instrukcja, jak ustawi odbieranie poczty na aliasowanych numerach IP.
  Dokument zosta napisany w standardzie ISO-8859-2. Orygina tego doku-
  mentu znajduje si pod adresem http://home.pacific.net.sg/ harish/lin-
  uxipalias.html.
  ______________________________________________________________________

  Spis treci


  1. Mj system

  2. Komendy

  3. Pytania i odpowiedzi

  4. Podzikowania

  5. Od tumacza (przeczytaj KONIECZNIE!)



  ______________________________________________________________________

  11..  MMjj ssyysstteemm



  1. Najnowsze jdro (2.0.27 - z
     ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0, ale IP Aliasing dziaa
     od 1.3.7x. (Najnowsze jdro w tej chwili to 2.0.33 - przyp. tum.)

  2. IP Alias skompilowany jako modu. W "make config" powiniene
     zaznaczy, e IP Masquerade powinien by skompilowany jako (M)odu.
     Zobacz Modules HOWTO (jeeli istnieje), lub sprawd informacje w
     /usr/src/linux/Documentation/modules.txt.

  3. Musz obsugiwa 2 dodatkowe adresy IP, powyej tych, ktre zostay mi
     przydzielone.

  4. D-Link DE 620 pocket adapter (nie wane, dziaa z kadym obsugiwanym
     przez Linuxa urzdzeniem sieciowym).


  22..  KKoommeennddyy



  1. Najpierw zaaduj modu IP Alias (moesz pomin ten krok, jeeli
     wkompilowae ten modu w jdro):


     ___________________________________________________________________
     /sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o
     ___________________________________________________________________




  2. Po drugie, ustaw ptl zwrotn (loopback), eth0 i wszystkie numery IP
     zaczynajc gwnym numerem dla interfejsu eth0:


     ___________________________________________________________________
     /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 jest gwnym IP, a .10 i .100 s aliasami. Magiczne polecenie
  to eth0:x, gdzie x=0,1,2,...n dla rnych numerw IP. Gwny adres IP nie
  musi by aliasowany.

  3. Po trzecie, ustaw routing. Najpierw do ptli zwrotnej, potem do
     sieci, a na kocu do rnych adresw IP zaczynajc domylnym (pierwotnie
     przydzielonym):


     ___________________________________________________________________
     /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 eth0:1
     /sbin/route add default gw 172.16.3.200
     ___________________________________________________________________



  Koniec.

  Jako przykadowe numery IP powyej, uywam Prywatnych numerw IP (RFC
  1918) dla zilustrowania przykadu. Zamie je na swoje oficjalne lub
  prywatne adresy IP.

  Ten przykad zawiera tylko trzy numery IP. Maksymalna liczba,
  zdefiniowana w /usr/include/linux/net_alias.h, to 256. 256 adresw IP
  na JEDNEJ karcie to mnstwo! :-)

  Oto, jak wyglda mj /sbin/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: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
  ______________________________________________________________________



  i /proc/net/aliases:


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



  oraz /proc/net/alias_types:


  ______________________________________________________________________
  type    name            n_attach
  2       ip              2
  ______________________________________________________________________



  Oczywicie rzeczy w /proc/net byy utworzone przez komend ifconfig, a
  nie rcznie!


  33..  PPyyttaanniiaa ii ooddppoowwiieeddzzii


  PPyyttaanniiee:: JJaakk mmoogg uuttrrzzyymmaa zzmmiiaannyy,, eebbyy nniiee uulleeggyy sskkaassoowwaanniiuu ppoo rreessttaarrcciiee
  ssyysstteemmuu??

  OOddppoowwiieedd:: Jeeli uywasz init'a BSD lub System V (np. RedHat), moesz
  zawsze zaczy ustawienia w pliku /etc/rc.d/rc.local.  Oto, co mam w
  moim systemie inicjalizujcym (RedHat 3.0.3 i 4.0):



  1. Mj /etc/rc.d/rc.local: (skrcony, eby pokaza odpowiednie czci)


     ___________________________________________________________________
     #ustawiamy interfejsy aliasw IP
     echo "Ustawiam aliasy IP 172.16.3.1, 172.16.3.10, 172.16.3.100 ..."
     /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
     #ustawiamy routing
     echo "Ustawiam routing IP ..."
     /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
     #
     ___________________________________________________________________



  PPyyttaanniiee:: JJaakk uussttaawwii aalliiaassoowwaann mmaasszzyynn ddoo ooddbbiieerraanniiaa ee--mmaaiillii nnaa rrnnee
  aalliiaassoowwaannee nnuummeerryy IIPP ((nnaa mmaasszzyynniiee uuyywwaajjcceejj sseennddmmaaiill''aa))??


  1. OOddppoowwiieedd:: Utwrz (jeeli nie istnieje) plik nazwany np.
     /etc/mynames.cw. Nie musi mie takiej nazwy, nie musi by te w
     katalogu /etc.

  2. W tym pliku umie oficjalne nazwy domen aliasowanych numerw IP.
     Jeeli te IP nie maj domeny, moesz umieci tu je same.


     ___________________________________________________________________
     /etc/mynames.cw:
     ----------------
     # /etc/mynames.cw - wpisz wszystkie aliasy twojej maszyny; # jest komentarzem.
     domain.one.net
     domain.two.com
     domain.three.org
     4.5.6.7
     ___________________________________________________________________



  3. W twoim pliku sendmail.cf, w miejscu definiujcym makro klasy
     ,,Fw'', dodaj nastpujce dane:
















     ___________________________________________________________________
     .
     .
     .
     ##################
     #   local info   #
     ##################
     .
     .
     # file containing names of hosts for which we receive email
     Fw/etc/mynames.cw
     .
     .
     .
     ___________________________________________________________________



  4. To powinno wystarczy. Przestestuj nowe ustawienia przez wywoanie
     sendmaila w trybie testowym, np.:


     ___________________________________________________________________
     ganymede$ /usr/lib/sendmail -bt
     ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
     Enter < ruleset> < address>
     > 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 < @ 4 . 5 . 6 . 7 >
     rewrite: ruleset 96 returns: me < @ 4 . 5 . 6 . 7 . >
     rewrite: ruleset  3 returns: 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  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 < @ 4 . 5 . 6 . 8 >
     rewrite: ruleset 96 returns: me < @ 4 . 5 . 6 . 8 >
     rewrite: ruleset  3 returns: 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 95   input: < > me < @ 4 . 5 . 6 . 8 >
     rewrite: ruleset 95 returns: me < @ 4 . 5 . 6 . 8 >
     rewrite: ruleset  0 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me < @ 4 . 5 . 6 . 8 >
     rewrite: ruleset 97 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me < @ 4 . 5 . 6 . 8 >
     rewrite: ruleset  0 returns: $# smtp $@ 4 . 5 . 6 . 8 $: me < @ 4 . 5 . 6 . 8 >
     >
     ___________________________________________________________________



  Zauwa, e kiedy testowaem adres me@4.5.6.7, dostarczy poczt na maszyn
  lokaln, a me@4.5.6.8 byo przekazane do mailera smtp. To jest poprawna
  odpowied.
  5. Wszystko jest teraz ustawione.

  Mam nadziej, e byo to uyteczne dla kogo.


  44..  PPooddzziikkoowwaanniiaa


  Dzikuj wszystkim, ktrzy zrobili tyle wietnej pracy nad Linuxen i IP
  Aliasingiem, a zwaszcza Juanowi Jose Ciarlantowi za odpowiedzi na moje
  pytania.  Podzikowania dla asw programowania!

  Jeeli ten dokument by dla ciebie uyteczny, lub masz jakie sugestie o
  poprawkach, wylij e-mail na h.pillay@ieee.org.

  Baw si.


  55..  OOdd ttuummaacczzaa ((pprrzzeecczzyyttaajj KKOONNIIEECCZZNNIIEE!!))


  Ten dokument by pierwotnie w formie htmlowej (dla niewtajemiczonych -
  tumacze z JTZ pisz w SGML), zupenie niedostosowanej do ,,standardu
  HOWTO'', wic pozwoliem sobie go do niego dostosowa, m.in.  podzieli na
  sekcje.
  Prawa autorskie tego tumaczenia nale do tygrys@fidonet.org.pl.  Jeeli
  masz jakie pytania lub poprawki dotyczce tego tumaczenia, daj mi zna.







































