IP-Alias.pl.txt

(10 KB) Pobierz
  IP Alias mini HOWTO
  Autor: Harish Pillay h.pillay@ieee.org
  v?, 13 Stycznia 1997
  Wersja polska: Leszek Urbański tygrys@fidonet.org.pl
  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 tre¶ci


  1. Mój system

  2. Komendy

  3. Pytania i odpowiedzi

  4. Podziękowania

  5. Od tłumacza (przeczytaj KONIECZNIE!)



  ______________________________________________________________________

  1.  Mój system



  1. Najnowsze j±dro (2.0.27 - z
     ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0, ale IP Aliasing
     działa od 1.3.7x. (Najnowsze j±dro w tej chwili to 2.0.33 - przyp.
     tłum.)

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

  3. Muszę obsługiwać 2 dodatkowe adresy IP, powyżej tych, które zostały
     mi przydzielone.

  4. D-Link DE 620 pocket adapter (nie ważne, działa z każdym
     obsługiwanym przez Linuxa urz±dzeniem sieciowym).


  2.  Komendy



  1. Najpierw załaduj moduł IP Alias (możesz pomin±ć ten krok, jeżeli
     wkompilowałe¶ ten moduł w j±dro):


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



  2. Po drugie, ustaw pętlę zwrotn± (loopback), eth0 i wszystkie numery
     IP zaczynaj±c głównym 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 głównym IP, a .10 i .100 s± aliasami. Magiczne polece­
  nie to eth0:x, gdzie x=0,1,2,...n dla różnych numerów IP. Główny adres
  IP nie musi być aliasowany.

  3. Po trzecie, ustaw routing. Najpierw do pętli zwrotnej, potem do
     sieci, a na końcu do różnych adresów IP zaczynaj±c domy¶lnym
     (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 przykładowe numery IP powyżej, używam Prywatnych numerów IP (RFC
  1918) dla zilustrowania przykładu. Zamień je na swoje oficjalne lub
  prywatne adresy IP.

  Ten przykład zawiera tylko trzy numery IP. Maksymalna liczba,
  zdefiniowana w /usr/include/linux/net_alias.h, to 256. 256 adresów IP
  na JEDNEJ karcie to mnóstwo! :-)

  Oto, jak wygl±da mój /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
  ______________________________________________________________________



  Oczywi¶cie rzeczy w /proc/net były utworzone przez komendę ifconfig, a
  nie ręcznie!


  3.  Pytania i odpowiedzi


  Pytanie: Jak mogę utrzymać zmiany, żeby nie uległy skasowaniu po
  restarcie systemu?

  OdpowiedĽ: Jeżeli używasz init'a BSD lub System V (np. RedHat), możesz
  zawsze zał±czyć ustawienia w pliku /etc/rc.d/rc.local.  Oto, co mam w
  moim systemie inicjalizuj±cym (RedHat 3.0.3 i 4.0):



  1. Mój /etc/rc.d/rc.local: (skrócony, żeby pokazać odpowiednie czę¶ci)


     ___________________________________________________________________
     #ustawiamy interfejsy aliasów 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
     #
     ___________________________________________________________________



  Pytanie: Jak ustawić aliasowan± maszynę do odbierania e-maili na różne
  aliasowane numery IP (na maszynie używaj±cej sendmail'a)?


  1. OdpowiedĽ: Utwórz (jeżeli 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 numerów IP.
     Jeżeli te IP nie maj± domeny, możesz umie¶cić 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 definiuj±cym makro klasy
     ,,Fw'', dodaj następuj±ce 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 wywołanie
     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 re...
Zgłoś jeśli naruszono regulamin