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

[ Ϻ, yoshimin@ms.civilnet.com.tw]
[1997/05/24]
------------------------------------------------------------------

              Linux ޥˤ IP Alias ˡ

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

        ץ饤ޥꡦ: 
        http://home.pacific.net.sg/~harish/linuxipalias.html


ޤ

    ΥɥȤ Linux ܥåˤ IP ꥢ
  ˡΥ쥷ԤǤˡꥢ IP Υ᡼μ뤿
  ΥޥˡҲ𤷤Ƥޤ


ԤδĶ

  * ǿͥ (2.0.25 - ftp.funet.fi:/pub/Linux/kernel/src/v2.0 
    ) 1.3.7x ʹߤǻѲǽǤ
  * ɲǽ⥸塼Ȥƥѥ뤷 IP Aliasͥ
    "make config" ޥɼ¹Ի IP Masq  (M)odule Ȥƥ
    뤹뤫ʹ줿ϤǤܤ Modules HOW-TO ʤ⤷¸ߤ
    Сˤ /usr/src/linux/Documentation/modules.txt 򻲾ȤƤ
  * ߡԤΥޥ˳ƤƤ IP ʳƱޥǤ
    ˣĤ IP ѤʤФʤޤ
  * D-Link DE620 ݥåȥץʽפǤϤޤ Linux ǥ
    ȤƤͥåȥץǤвǤ OK Ǥ


ޥɡ

  *  IP Alias ⥸塼ɤޤʥ⥸塼򥫡ͥ
    ˥ѥ뤷ϥåס

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

  *  loopback  eth0  ٤Ƥ IP ɥ쥹 eth0 󥿡
    եΥᥤ IP ɥ쥹ꤷޤ

     /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 ϥᥤ IP ɥ쥹ǡ.10  .100 ꥢǤ
    ǤΥݥȤϰۤʤ IP ɥ쥹Фꤹ eth0x 
   x=0,1,2,...n ˤʬǤᥤ IP ɥ쥹ϥꥢˤ
    ɬפϤޤ

  * 軰 route ꤷޤǽ route  loopback Ǥ 
    netǸˤ줾 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

  ʾǤ


  嵭Ǥ IP ɥ쥹ȤѤΥץ饤١ IP ɥ쥹
RFC 1918) ѤƤޤʬʥɥ쥹ޤ
ץ饤١ȥɥ쥹֤Ʋ

  Ǥϡ鷺 3 Ĥ IP ɥ쥹ѤƤޤ󤬡 256 
ޤ /usr/include/linux/net_alias.h ǤޤĤΥɤ
256  IP ɥ쥹ϽʬǤ礦


ʲԤ /sbin/ifconfig Ҳ𤷤ޤ

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 Ǥ

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 㡧Redhat) Τɤ init
     ѤƤƤ⡢ /etc/rc.d/rc.local ƤФ褤
     ǤʲԤ SysV  init ƥRedhat 3.0.3 
      4.0ˤǤ

* Ԥ /etc/rc.d/rc.local: ʴϢʬΤߡ

  # IP ꥢ󥿡ե
  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
  #



䡧IP ꥢꤷޥǡsendmail ѤƤ
      ĤΥޥΡ͡ʥꥢ IP ɥ쥹ؤΥ᡼
      ˤϤɤΤ褦ꤹɤǤ

* ʤޤʤС㤨 /etc/mynames.cw Ȥ̾Υե
         ޤ̾ǤʤƤ⹽ޤ󤷡 /etc ǥ
         쥯ȥǤɬפ⤢ޤ

* Υե˥ꥢ IP ʥɥᥤ̾񤭤ޤ⤷
  Υꥢ IP ˥ɥᥤ̾ʤ IP ɥ쥹ΤΤ
  񤭤ޤ

  /etc/mynames.cw:
  ----------------
  # /etc/mynames.cw -ΥޥΤ٤ƤΥꥢ񤯡
  # # ϥȡ
  domain.one.net
  domain.two.com
  domain.three.org
  4.5.6.7

* sendmail.cf Υե롦饹ޥ Fw ꤷƤʬ
  ʲɲá

     .
     .
     .
     ##################
     #   local info   #
     ##################
     .
     .
     # եˤϥ᡼ۥȤ̾ޤޤƤޤ
     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.8 smtp ž줿Τ me@4.5.6.7 ƥ
         Ȥ᡼ϥۿޤ
         ưǤ



* ٤Ƥ꤬λޤ

ʾƤïˤȤäͭѤǤ뤳ȤԤޤ

Linux  IP Alias ȯ٤Ƥοã˴դޤ
ޤԤε餫ˤƤ줿 Juan Jose Ciarlante ˤä˴դ


ήץޡã˾޻

ΥɥȤͭѤȴ䤵ɤ뤿ΰոʤɤ
h.pillay@ieee.org ޤǥ᡼򲼤
===

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

[ϡLinux-JF ץ]
[ Ϻ, yoshimin@ms.civilnet.com.tw]

