IP Alias mini HOWTO
Autor: Harish Pillay h.pillay@ieee.org
v?, 13 Stycznia 1997
WWeerrssjjaa ppoollsskkaa:: LLeesszzeekk UUrrbbaańńsskkii ttyyggrryyss@@ffiiddoonneett..oorrgg..ppll
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!)
______________________________________________________________________
11.. MMóójj ssyysstteemm
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).
22.. KKoommeennddyy
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!
33.. PPyyttaanniiaa ii ooddppoowwiieeddzzii
PPyyttaanniiee:: JJaakk mmooggęę uuttrrzzyymmaaćć zzmmiiaannyy,, żżeebbyy nniiee uulleeggłłyy sskkaassoowwaanniiuu ppoo
rreessttaarrcciiee ssyysstteemmuu??
OOddppoowwiieeddźź:: 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
#
___________________________________________________________________
PPyyttaanniiee:: JJaakk uussttaawwiićć aalliiaassoowwaannąą mmaasszzyynnęę ddoo ooddbbiieerraanniiaa ee--mmaaiillii nnaa rróóżżnnee
aalliiaassoowwaannee nnuummeerryy IIPP ((nnaa mmaasszzyynniiee uużżyywwaajjąącceejj sseennddmmaaiill''aa))??
1. OOddppoowwiieeddźź:: 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 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 testowałem adres me@4.5.6.7, dostarczył pocztę na
maszynę lokalną, a me@4.5.6.8 było przekazane do mailera smtp. To jest
poprawna odpowiedź.
5. Wszystko jest teraz ustawione.
Mam nadzieję, że było to użyteczne dla kogoś.
44.. PPooddzziięękkoowwaanniiaa
Dziękuję wszystkim, którzy zrobili tyle świetnej pracy nad Linuxen i
IP Aliasingiem, a zwłaszcza Juanowi Jose Ciarlantowi za odpowiedzi na
moje pytania. Podziękowania dla asów programowania!
Jeżeli ten dokument był dla ciebie użyteczny, lub masz jakieś sugestie
o poprawkach, wyślij e-mail na h.pillay@ieee.org.
Baw siÄ™.
55.. OOdd ttłłuummaacczzaa ((pprrzzeecczzyyttaajj KKOONNIIEECCZZNNIIEE!!))
Ten dokument był pierwotnie w formie htmlowej (dla niewtajemiczonych -
tłumacze z JTZ piszą w SGML), zupełnie niedostosowanej do ,,standardu
HOWTO'', więc pozwoliłem sobie go do niego dostosować, m.in.
podzielić na sekcje.
Prawa autorskie tego tłumaczenia należą do tygrys@fidonet.org.pl.
Jeżeli masz jakieś pytania lub poprawki dotyczące tego tłumaczenia,
daj mi znać.
Wyszukiwarka
Podobne podstrony:
ip alias pl 4ip alias pl 3ip alias pl 5ip alias pl 1IP Alias pl (2)IP Alias pl (3)ip alias pl 2IP Masquerade pl (2)IP Masquerade plIP Masquerade pl 2 (2)IP Masquerade pl (3)IP Masquerade pl 1 (2)ip masquerade pl 3ip masquerade pl 4IP Alias Linux MachineIP Masquerade pl 5 (2)ip alias 6httuxalqc54oae7yn5kvc3htnrbhfyathfiexq 6httuxalqc54oae7yn5kvc3htnrbhfyathfiexqobyna3 pl 4165 etyka ip materiawięcej podobnych podstron