  Linux-IP-Alias-mini-HOWTO
  =========================
  Harish Pillay, h.pillay@ieee.org
  1996-11-12

  [|Fg KY, yoshimin@ms.civilnet.com.tw]
  [|F1997/05/24]
  ------------------------------------------------------------------

                Linux }Vɂ IP Alias ̐ݒ@

           GNU Copyleft 1996 Harish Pillay (h.pillay@ieee.org)

          vC}ETCg:
          http://home.pacific.net.sg/~harish/linuxipalias.html

  ܂F

      ̃hLg Linux {bNXɂ IP GCAX̐ݒ
    gp@̃VsłBɁAGCAX IP ̃[̎M邽
    ߂̃}V̐ݒ@ЉĂ܂B

  ҂̊F

    * ŐVJ[l (2.0.25 - ftp.funet.fi:/pub/Linux/kernel/src/v2.0
      ) 1.3.7x ȍ~Ŏgp\łB
    * [h\W[ƂăRpC IP AliasBJ[l쐬
      "make config" R}hs IP Masq  (M)odule ƂăRp
      C邩ꂽ͂łBڂ Modules HOW-TO i݂
      ΁j /usr/src/linux/Documentation/modules.txt QƂĂB
    * ݁A҂̃}VɊ蓖ĂĂ IP ȊOɓ}Vł
      ɂQ IP gpȂ΂Ȃ܂B
    * D-Link DE620 |PbgA_v^[idvł͂܂B Linux ŃT|
      [gĂlbg[NA_v^[łΉł OK łBj

  R}hF

    *  IP Alias W[[h܂BiW[J[l
      ɃRpCꍇ̓XLbvBj

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

    *  loopback  eth0  ׂĂ IP AhX eth0 C^[
      tF[X̃C IP AhX珇ɐݒ肵܂B

       /sbin/ifconfig lo 127.0.0.0
       /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 ̓C IP AhXŁA.10  .100 GCAXłB
      ł̃|Cg͈قȂ IP AhXɑ΂Đݒ肷 eth0Fx
     ix=0,1,2,...n j̕łBC IP AhX̓GCAXɂ
      Kv͂܂B

    * O route ݒ肵܂Bŏ route  loopback łB
      netBŌɂꂼ IP AhXftHgi{ĂĂ
      AhXj珇ɐݒ肵܂B

       /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

    ȏłB

    L̗ł IP AhXƂĐp̃vCx[g IP AhX
  iRFC 1918) gpĂ܂B̐ȃAhX܂
  vCx[gAhXɒuĉB

    ł́A킸 3  IP AhXgpĂ܂񂪁Aő 256
  ܂ /usr/include/linux/net_alias.h ɐݒł܂B̃J[h
  256  IP AhX͏\ł傤B

  ȉɒ҂ /sbin/ifconfig Љ܂F

  lo        Link encap:Local Loopback
            inet addr:127.0.0.0  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 łF

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

   /proc/net/alias_types łF

  type    name            n_attach
  2       ip              2

   /proc/net ͎ƂłȂ ifconfig R}hɂĐ
  B

  FċNɂǂ̂悤ɐݒێ܂B

  FBSD X^C邢 SysV X^CiFRedhat) ̂ǂ init
       gpĂĂAݒ /etc/rc.d/rc.local ɓĂ΂悢
       łBȉ҂ SysV X^C init VXeiRedhat 3.0.3 
        4.0jłF

  * ҂ /etc/rc.d/rc.local: i֘A镔̂݁j

    # IP GCAXEC^[tF[X̐ݒ
    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
    # route ̐ݒ
    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
    #

  FIP GCAXݒ肵}VŁAisendmail gpĂ
        ̃}V́jlXȃGCAX IP AhXւ̃[
        Mɂ͂ǂ̂悤ɐݒ肷ΗǂłB

  * Fi܂Ȃ΁jႦ /etc/mynames.cw Ƃ̃t@C
           쐬܂B̖OłȂĂ\܂񂵁A /etc fB
           NgłKv܂B

  * ̃t@C̒ɃGCAX IP ̐ȃhC܂B
    ̃GCAX IP ɃhCȂ IP AhX̂̂
    ܂B

    /etc/mynames.cw:
    ----------------
    # /etc/mynames.cw -̃}Vׂ̂ẴGCAXB
    # # ̓RgB
    domain.one.net
    domain.two.com
    domain.three.org
    4.5.6.7

  * sendmail.cf ̃t@CENXE}N Fw ݒ肵Ă镔
    ȉǉB

       .
       .
       .
       ##################
       #   local info   #
       ##################
       .
       .
       # t@Cɂ̓[MzXg̖O܂܂Ă܂
       Fw/etc/mynames.cw
       .
       .
       .

  * ővł傤Bsendmail eXg[hɂĈȉ̗悤
    VݒeXg܂F

  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.8 smtp ɓ]ꂽ̂ me@4.5.6.7 eXg
           ƂA[̓[JɔzM܂B͐
           łB

  * ׂĂ̐ݒ肪܂B

  ȏ̓eNɂƂėLpł邱Ƃ҂܂B

  Linux  IP Alias JׂĂ̐lBɊӂ܂B
  ܂A҂̋^𖾂炩ɂĂꂽ Juan Jose Ciarlante ɂ͓Ɋӂ
  B

  ꗬvO}[Bɏ܎^I

  ̃hLgLpƊ₳ɗǂ邽߂̈ӌȂǂ
  h.pillay@ieee.org ܂Ń[B
  ===

  Thanks.
  --
  Harish Pillay                                     h.pillay@ieee.org
  Singapore  *** Ask me about Linux *** http://home.pacific.net.sg/~harish

  [́FLinux-JF vWFNg]
  [|Fg KY, yoshimin@ms.civilnet.com.tw]

