Następna strona Poprzednia strona Spis treści

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 polecenie 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!


Następna strona Poprzednia strona Spis treści