IP Alias mini HOWTO
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 dokumentu
znajduje się pod adresem http://home.pacific.net.sg/ harish/linuxipalias.html.
1. Mój system
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.)
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.
Muszę obsługiwać 2 dodatkowe adresy IP, powyżej tych, które zostały mi
przydzielone.
D-Link DE 620 pocket adapter
(nie ważne, działa z każdym obsługiwanym przez Linuxa urządzeniem sieciowym).
2. Komendy
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
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 polecenie to
eth0:x, gdzie x=0,1,2,...n dla różnych numerów IP. Główny adres IP nie musi
być aliasowany.
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):
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)?
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.
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
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
.
.
.
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ź.
Wszystko jest teraz ustawione.
Mam nadzieję, że było to użyteczne dla kogoś.
4. Podziękowania
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ę.
5. Od tłumacza (przeczytaj KONIECZNIE!)
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 plip alias pl 4ip alias pl 3ip alias pl 5ip alias pl 1IP 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