
lGLinux IP Alias mini HOWTO
ɮױԭzGpb Linux W]w IP OW
½ĶG1997/10/23
½Ķ@G[1]cwhuang@phys.ntu.edu.tw
-------------------------------------------------------------------------------
---------------

      ̫ק: January 13th 1997.

    pb Linux W]w IP OW(aliasing)

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

 l: [3]http://home.pacific.net.sg/~harish/linuxipalias.html


Kn:

廡pb Linux W]wð IP OWD~A٦p]wb IP
OWW e-mailD


ڪ]w:

* ̷s֤ (2.0.27 - q [4]ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0 o)
 -
  q 1.3.7x HNiHD
* N IP Alias sĶiJҲաDAb "make config" OsĶ֤߮ɡApGn
   IP Masq sĶҲ(Modules)|QݨDd Modules HOWTO(pG)
  άOd /usr/src/linux/Documentation/modules.txt TD
* ڦbwtڪ IP ~٤SnFB~ IPD
* @ D-Link DE620 d(nA Linux 䴩d)D


O:

* J IP Alias Ҳ(pGANsĶi֤ߥiLBJ):

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

* AӡAإߦ^¶(loopback)˸mAH eth0 ɭWHD IP X}YҦ IP
  X:

     /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 OD IP XA .10  .100 OOWD_ǪaO eth0:xA
  䤤 x=0, 1, 2, ... n bC@P IP XWDD IP XݭnoӡD

* ĤTBOإ߻e|DAe^¶˸mAMOϰA̫OP
  IP Xιw]e|:

     /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

NoˤFD

bWҤlAFڥΪO RFC 1918 ҩwqp IP XDΧA
p IP XӨND

WҤluiܤFT IP XDb /usr/include/linux/net_alias.h wq
̤jȬO 256Db@dW 256  IP XwgܦhF :-)!

ڥ /sbin/ifconfig ݰ_ӹo:

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 O

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

 /proc/net/alias_types O

type    name            n_attach
2       ip              2

MA/proc/net eO ifconfig OͦӫDΤg!


: pbsҰʾO]w?
: קAO BSD ΦάO SysV Φ(Ҧp Red Hat) init ҰʡAAiH⥦
    b /etc/rc.d/rc.local DUOڦbڪ SysV init t(Red Hat 3.0.3
         4.0)]w:

   * ڪ /etc/rc.d/rc.local: (קLuܬ)

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


: ڦpb IP OWWbP IP OWXWqll(b@
    sendmail W)?
: * إ(pG٨S)@ɮסAҦps /etc/mynames.cwDݭnuOo
    WrA]@wnb /etc ؿUD

    * bɮפAWOW IP XW١DpGOW IP SW
        ١AAiHγo IP D

    /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

    * bA sendmail.cf ɤAbwqɮO Fw aA[W:

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

    * oӴNiHFDHռҦ sendmail Hշs]w:

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

    `NAڴ me@4.5.6.7 ɡANHe쥻aWA] me@4.5.6.8 |
        Q smtp mailer ڵDoO`^D

    * Ҧ]wFD

ƱeYǤHΡD

P¨Ǧb Linux  IP OWWFj^mH̡D٦SOP Juan Jose
Ciarlante MڪðݡD٦P¨ǬڧXr~δѫĳH!

pGA{o󦳥ΡAΦiĳܡAбHqll󵹧ڨ
[5]h.pillay@ieee.orgD

nnɨa!

D? ӫH [6]h.pillay@ieee.orgD

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
