IP Alias mini HOWTO 如何在 Linux 机器上设定 I…
2008-02-23 07:23:27来源:互联网 阅读 ()
翻译日期:1997/10/23
翻译维护:cwhuang@phys.ntu.edu.tw
----------------------------------------------------------------------------------------------
本文最後修改日期: January 13th 1997.
如何在 Linux 机器上设定 IP 别名(aliasing)
GNU Copyleft 1996/1997 Harish Pillay (h.pillay@ieee.org)
原始站: http://home.pacific.net.sg/~harish/linuxipalias.html
摘要:
本文说明如何在 Linux 机器上设定并执行 IP 别名.除此之外,还有如何设定在 IP
别名上接收 e-mail.
我的设定:
* 最新的核心 (2.0.27 - 从 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 ..."
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash