
ԭʼļLinux IP Alias mini HOWTO
 Linux 趨 IP 
ڣ1997/10/23
ά[1]cwhuang@phys.ntu.edu.tw
-------------------------------------------------------------------------------
---------------

      ޸: January 13th 1997.

     Linux 趨 IP (aliasing)

   GNU Copyleft 1996/1997 Harish Pillay ([2]h.pillay@ieee.org)

 ԭʼվ: [3]http://home.pacific.net.sg/~harish/linuxipalias.html


ժҪ:

˵ Linux 趨ִ IP ֮⣬趨 IP
Ͻ e-mail


ҵ趨:

* µĺ (2.0.27 -  [4]ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0 ȡ)
 -
   1.3.7x Ϳԣ
*  IP Alias ɿģ飮 "make config" ָʱҪ
   IP Masq ģ(Modules)Ӧᱻʵ鿴 Modules HOWTO(еĻ)
  ǲ鿴 /usr/src/linux/Documentation/modules.txt еѶ
* ѷҵ IP ֮⻹Ҫ IP
* һƬ D-Link DE620 ·(Ҫκ Linux ֧Ԯ·)


ָ:

*  IP Alias ģ(㽫Ŀ˲):

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

* (loopback)װãԼ eth0  IP Ϊͷ IP
  :

     /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  IP 룬 .10  .100 ǱȽֵĵط eth0:x
   x=0, 1, 2, ... n ÿһͬ IP ϣ IP 벻Ҫ

* ǽ·ȣ͵װãȻ·ǲͬ
  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 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

ˣ

УΪ˵õ RFC 1918 ˽ IP 룮ʽ
˽е IP ȡ

ֻչʾ IP 룮 /usr/include/linux/net_alias.h ж
ֵ 256һƬ· 256  IP Ѿܶ :-)!

 /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

 /proc/net/aliases 

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

 /proc/net/alias_types 

type    name            n_attach
2       ip              2

Ȼ/proc/net  ifconfig ָд!


: ᱣ趨?
:  BSD ʽ SysV ʽ( Red Hat) init 㶼԰
     /etc/rc.d/rc.local Уҵ SysV init ϵͳ(Red Hat 3.0.3
         4.0)е趨:

   * ҵ /etc/rc.d/rc.local: (޸ĹֻʾصĲ)

     #setting up IP alias interfaces
     echo "Setting 172.16.3.1, 172.16.3.10, 172.16.3.100 IP Aliases ..."
     /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
     #setting up the routes
     echo "Setting IP routes ..."
     /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
     #


: ھ IP Ļڲͬ IP Ͻյʼ(һ
    sendmail Ļ)?
: * (ûеĻ)һ /etc/mynames.cwҪ
    ֣ҲһҪ /etc Ŀ¼£

    * ǸУϱ IP ƣ IP û
        ƣ IP 

    /etc/mynames.cw:
     ----------------
     # /etc/mynames.cw - include all aliases for your machine here; # is a comm
ent.
     domain.one.net
     domain.two.com
     domain.three.org
     4.5.6.7

    *  sendmail.cf У嵵޼ Fw ĵط:

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

    * ӦþͿˣԲģʽִ sendmail Բµ趨:

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

    ע⣬Ҳ me@4.5.6.7 ʱż͵ػϣΪ me@4.5.6.8 
         smtp mailer ܾĻӦ

    * ж趨ˣ

ϣǰ˵ĶĳЩã

лЩ Linux  IP ΰ׵ǣرл Juan Jose
Ciarlante ҵʣилЩΪҳִṩ!

ΪļãиĽĽĻĵʼҵ
[5]h.pillay@ieee.org

úܰ!

κ? ŵ [6]h.pillay@ieee.org

References

   1. mailto:cwhuang@phys.ntu.edu.tw
   2. mailto:h.pillay@ieee.org
   3. http://home.pacific.net.sg/~harish/linuxipalias.html
   4. ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0
   5. mailto:h.pillay@ieee.org
   6. mailto:h.pillay@ieee.org
