如何用Linux安装TCP/IP路由器
以下将针对各个主题加以说明:
* Linux 当 Router 的先决条件。
* 如何规划 Subnet 的 IP address。
* 如何设定 Router 的网路位址。
* 如何设定 Router 的 Kernel Routing table。
* 如何设定 Subnet 中机器的网路位址与 Kernel Routing table。
* 设定 Proxy ARP 来连通 Subnet。
----------------------------------------------------------------------------
Linux 当 Router 的先决条件
要以 Linux 当 Router,首先必须确认你的 Linux Kernel 中有支援 IP Forwarding
的功能,也就是在 make Kernel 时,要选择 IP Forwarding 的选项。
在图中,Router 分别以两块网路卡连接 Class B net 与 Subnet,所以让
Linux 在开机的时候就要抓到这两块网路卡,成了一先决的条件。其方法是在
/etc/lilo。conf 中加入
append="ether=irq_0,io_port_0,eth0 ether=irq_1,io_port_1,eth1"
後,再值行 lilo -C lilo。conf,之後再重新开机,应该就可以抓到两块网路卡了。
要检查是否有抓到两块网路卡的话,可以看 /proc/net/dev 档中是否有 eth0 和
eth1 两个网路介面,或是值行 ifconfig,看是否有 eth0 和 eth1 两个网路介面,
若是没有的话,有可能是你的 Kernel 没有支援那种网路卡,那就必须再重新
make Kernel,将那种网路卡的选项包含进来。
----------------------------------------------------------------------------
如何规划 Subnet 的 IP address
图中 Router 的两个网路介面分别连接两个 net,且各有其 IP address,
eth0=140.115.50.67 为连接 Class B net 的 IP address
eth1=140.115.50.161 为连接 Subnet 的 IP address
现在我们就要来看看如何规划 Subnet.
首先我们要先决定 Subnet 中有几台机器,也就是要划分几个 IP address 於 Subnet
中,我以 Subnet 中有 32 台机器为例加以说明.因此 Subnet 之 IP 范围为
140.115.50.160 ~ 140.115.50.191,WHY??
140.115.50.160 ===> 140.115.50.101 00000
^^^^^^^^^^^^^^ ^^^^^
network address host address
140.115.50.191 ===> 140.115.50.101 11111
^^^^^^^^^^^^^^ ^^^^^
network address host address
其 netmask 皆为
255.255.255.224 ===> 255.255.255.111 00000
^^^^^^^^^^^^^^^ ^^^^^
其 broadcast 皆为
140.115.50.191 ===> 140.115.50.101 11111
^^^^^^^^^^^^^^ ^^^^^
host address 有 5 个 bit,因此可以决定 2^5 = 32 台机器,当然同理你也可以用
140.115.50.96 ~ 140.115.50.127 为你的 Subnet address,只要不和别人相冲就好了.
所以我们可以将 Subnet 的网路设定做一个整理:
IP address = 140.115.50.160 ~ 140.115.50.191
netmask = 255.255.255.224
broadcast = 140.115.50.191
network address = 140.115.50.160
----------------------------------------------------------------------------
如何设定 Router 的网路位址
* Linux 当 Router 的先决条件。
* 如何规划 Subnet 的 IP address。
* 如何设定 Router 的网路位址。
* 如何设定 Router 的 Kernel Routing table。
* 如何设定 Subnet 中机器的网路位址与 Kernel Routing table。
* 设定 Proxy ARP 来连通 Subnet。
----------------------------------------------------------------------------
Linux 当 Router 的先决条件
要以 Linux 当 Router,首先必须确认你的 Linux Kernel 中有支援 IP Forwarding
的功能,也就是在 make Kernel 时,要选择 IP Forwarding 的选项。
在图中,Router 分别以两块网路卡连接 Class B net 与 Subnet,所以让
Linux 在开机的时候就要抓到这两块网路卡,成了一先决的条件。其方法是在
/etc/lilo。conf 中加入
append="ether=irq_0,io_port_0,eth0 ether=irq_1,io_port_1,eth1"
後,再值行 lilo -C lilo。conf,之後再重新开机,应该就可以抓到两块网路卡了。
要检查是否有抓到两块网路卡的话,可以看 /proc/net/dev 档中是否有 eth0 和
eth1 两个网路介面,或是值行 ifconfig,看是否有 eth0 和 eth1 两个网路介面,
若是没有的话,有可能是你的 Kernel 没有支援那种网路卡,那就必须再重新
make Kernel,将那种网路卡的选项包含进来。
----------------------------------------------------------------------------
如何规划 Subnet 的 IP address
图中 Router 的两个网路介面分别连接两个 net,且各有其 IP address,
eth0=140.115.50.67 为连接 Class B net 的 IP address
eth1=140.115.50.161 为连接 Subnet 的 IP address
现在我们就要来看看如何规划 Subnet.
首先我们要先决定 Subnet 中有几台机器,也就是要划分几个 IP address 於 Subnet
中,我以 Subnet 中有 32 台机器为例加以说明.因此 Subnet 之 IP 范围为
140.115.50.160 ~ 140.115.50.191,WHY??
140.115.50.160 ===> 140.115.50.101 00000
^^^^^^^^^^^^^^ ^^^^^
network address host address
140.115.50.191 ===> 140.115.50.101 11111
^^^^^^^^^^^^^^ ^^^^^
network address host address
其 netmask 皆为
255.255.255.224 ===> 255.255.255.111 00000
^^^^^^^^^^^^^^^ ^^^^^
其 broadcast 皆为
140.115.50.191 ===> 140.115.50.101 11111
^^^^^^^^^^^^^^ ^^^^^
host address 有 5 个 bit,因此可以决定 2^5 = 32 台机器,当然同理你也可以用
140.115.50.96 ~ 140.115.50.127 为你的 Subnet address,只要不和别人相冲就好了.
所以我们可以将 Subnet 的网路设定做一个整理:
IP address = 140.115.50.160 ~ 140.115.50.191
netmask = 255.255.255.224
broadcast = 140.115.50.191
network address = 140.115.50.160
----------------------------------------------------------------------------
如何设定 Router 的网路位址
顶(0)
踩(0)
- 最新评论