📄 00000002.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER> <BR>如何建立一个 Subnet,并以 Linux 当 Static Router ? <BR> <BR>Welcome! You are the [Image] th visitor! <BR> <BR>---------------------------------------------------------------------------- <BR> <BR>本文的主题是要在 Class B 的 net 上,建立一个 Subnet,并且由 Linux 来当做此 <BR>Subnet 的 Router,做为 net 与 Subnet 之 packet 的传递。其架构图如下: <BR> <BR> [Image] [Image] [Image] <BR> <BR>以下将针对各个主题加以说明: <BR> <BR>* Linux 当 Router 的先决条件。 <BR>* 如何规划 Subnet 的 IP address。 <BR>* 如何设定 Router 的网路位址。 <BR>* 如何设定 Router 的 Kernel Routing table。 <BR>* 如何设定 Subnet 中机器的网路位址与 Kernel Routing table。 <BR>* 设定 Proxy ARP 来连通 Subnet。 <BR> <BR>---------------------------------------------------------------------------- <BR> <BR>Linux 当 Router 的先决条件 <BR> <BR>要以 Linux 当 Router,首先必须确认你的 Linux Kernel 中有支援 IP Forwarding <BR>的功能,也就是在 make Kernel 时,要选择 IP Forwarding 的选项。 <BR> <BR>在图中,Router 分别以两块网路卡连接 Class B net 与 Subnet,所以让 <BR>Linux 在开机的时候就要抓到这两块网路卡,成了一先决的条件。其方法是在 <BR> <BR> /etc/lilo。conf 中加入 <BR> <BR> append="ether=irq_0,io_port_0,eth0 ether=irq_1,io_port_1,eth1" <BR> <BR>後,再值行 lilo -C lilo。conf,之後再重新开机,应该就可以抓到两块网路卡了。 <BR>要检查是否有抓到两块网路卡的话,可以看 /proc/net/dev 档中是否有 eth0 和 <BR>eth1 两个网路介面,或是值行 ifconfig,看是否有 eth0 和 eth1 两个网路介面, <BR>若是没有的话,有可能是你的 Kernel 没有支援那种网路卡,那就必须再重新 <BR>make Kernel,将那种网路卡的选项包含进来。 <BR> <BR>---------------------------------------------------------------------------- <BR> <BR>如何规划 Subnet 的 IP address <BR> <BR>图中 Router 的两个网路介面分别连接两个 net,且各有其 IP address, <BR> eth0=140.115.50.67 为连接 Class B net 的 IP address <BR> eth1=140.115.50.161 为连接 Subnet 的 IP address <BR>现在我们就要来看看如何规划 Subnet. <BR>首先我们要先决定 Subnet 中有几台机器,也就是要划分几个 IP address 於 Subnet <BR>中,我以 Subnet 中有 32 台机器为例加以说明.因此 Subnet 之 IP □围为 <BR>140.115.50.160 ~ 140.115.50.191,WHY?? <BR> <BR> 140.115.50.160 ===> 140.115.50.101 00000 <BR> ^^^^^^^^^^^^^^ ^^^^^ <BR> network address host address <BR> <BR> 140.115.50.191 ===> 140.115.50.101 11111 <BR> ^^^^^^^^^^^^^^ ^^^^^ <BR> network address host address <BR> <BR> 其 netmask 皆为 <BR> <BR> 255.255.255.224 ===> 255.255.255.111 00000 <BR> ^^^^^^^^^^^^^^^ ^^^^^ <BR> 其 broadcast 皆为 <BR> <BR> 140.115.50.191 ===> 140.115.50.101 11111 <BR> ^^^^^^^^^^^^^^ ^^^^^ <BR> <BR>host address 有 5 个 bit,因此可以决定 2^5 = 32 台机器,当然同理你也可以用 <BR>140.115.50.96 ~ 140.115.50.127 为你的 Subnet address,只要不和别人相冲就好了. <BR> <BR>所以我们可以将 Subnet 的网路设定做一个整理: <BR> <BR> IP address = 140.115.50.160 ~ 140.115.50.191 <BR> netmask = 255.255.255.224 <BR> broadcast = 140.115.50.191 <BR> network address = 140.115.50.160 <BR> <BR>---------------------------------------------------------------------------- <BR> <BR>如何设定 Router 的网路位址 <BR> <BR>决定好 Subnet 的 IP address 後,接下来就是 Config eth0 和 eth1 这两个 <BR>网路介面,於 /etc/rc.d/rc,inet1 中加入 <BR> <BR> ifconfig eth0 140.115.50.67 netmask 255.255.0.0 broadcast 140.115.255.255 <BR> <BR> ifconfig eth1 140.115.50.161 netmask 255.255.255.224 broadcast 140.115.50.191 <BR> <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -