红联Linux门户
Linux帮助

基于Linux操作系统--构建路由器的方法

发布时间:2006-01-21 10:10:34来源:红联作者:Mrlinux
网络结构如图,Linux路由器这台计算机标识为A,它与三个网段相连,192.168.1.0/24,10.0.0.0/8,172.16.0.0/16。



  A计算机必须拥有三块网卡,分别与三个网段相连。


  假设:

  eth0与172.16.0.0相连,
  eth1与10.0.0.0相连,
  eth2与192.168.1.0相连。

  首先来配置eth0。给这个网络接口分配地址172.16.1.1,运行下列命令:

  
引用:
# ifconfig eth0 172.16.1.1 netmask 255.255.0.0


  为了使这个地址不再计算机重新启动后消失,编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改为如下格式:

  
引用:
DEVICE = eth0
  ONBOOT = yes
  BROADCAST = 172.16.255.255
  NETWORK = 172.16.0.0
  NETMASK = 255.255.0.0
  IPADDR = 172.16.1.1


  增加一条静态路由:

  # route add -net 172.16.0.0 netmask 255.255.0.0
  这样系统中就增加了一条静态路由:

  # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.0.0 * 255.255.0.0 U 0 0 0 eth0

  接下来,配置eth1,eth1与10.0.0.0网段相连,分配给它的地址是10.254.254.254,使用ifconfig命令为它配置参数:

  
引用:
# ifconfig eth1 10.254.254.254 netmask 255.0.0.0


  同样编辑/etc/sysconfig/network-scripts目录下的ifcfg-eth1文件,内容如下:

  
引用:
DEVICE = eth1
  ONBOOT = yes
  BROADCAST = 10.255.255.255
  NETWORK = 10.0.0.0
  NETMASK = 255.0.0.0
  IPADDR = 10.254.254.254

再增加一条静态路由:

  # route add -net 10.0.0.0 netmask 255.0.0.0

  网络中当前的路由表为

  # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface


  172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
  10.0.0.0 * 255.0.0.0 U 0 0 0 eth1

  最后配置eth3,它连接192.168.1.0网段,分配的IP地址是192.168.1.254,执行下列命令:

  # ifconfig eth2 192.168.1.254 netmask 255.255.255.0

  编辑/etc/sysconfig/network-scripts目录下的ifcfg-eth2文件,内容如下:

  
引用:
DEVICE = eth2
  ONBOOT = yes
  BROADCAST = 192.168.1.255
  NETWORK = 192.168.1.0
  NETMASK = 255.255.255.0
  IPADDR = 192.168.1.254


  再增加一条静态路由:

  # route add -net 192.168.1.0 netmask 255.255.255.0

  这样网络中就有三条静态路由记录了: # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

  172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
  10.0.0.0 * 255.0.0.0 U 0 0 0 eth1
  192.168.1.0 * 255.255.255.0 U 0 0 0 eth2

  还要为系统增加一条缺省路由,因为缺省的路由是把所有的数据包都发往它的上一级网关(假设地址是172.16.1.100,这个地址依赖于使用的网络而定,由网络管理员分配),因此增加如下的缺省路由记录:

  # route add default gw 172.16.1.100

  这样系统的静态路由表建立完成,它的内容是

  
引用:
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

  172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
  10.0.0.0 * 255.0.0.0 U 0 0 0 eth1
  192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
  default 172.16.1.100 0.0.0.0 UG 0 0 0 eth0


  最后一步,要增加系统的IP转发功能。这个功能由/proc/sys/net/ipv4目录下的ip_forward文件控制,执行如下命令打开ip转发功能:

  echo 1 > /proc/sys/net/ipv4/ip_forward

  这样我们的路由器基本上是配置好了

  测试路由器的工作情况。

  在linux路由器上测试:

  第一步,测试自身网络是否工作正常,执行如下命令

  
引用:
ping 172.16.1.1
  ping 192.168.1.254
  ping 10.254.254.254


  如果这些地址都能ping通,则第一步通过,否则查找原因,排除错误。

  第二步,测试与上一级网关之间是否连通

  ping 172.16.1.100

  如果通畅,则正常;否则查找错误原因。

  在192.168.1.0网络内测试,假设它的地址是192.168.1.1,

  第一步,测试自身是否工作正常, ping 192.168.1.1
  第二步,测试与网关是否连通, ping 192.168.1.254
  第三步,测试与10.254.254.99是否连通,这是10.0.0.0网段内的一台计算机 ping 10.254.254.99
  第四步,测试与外网地址是否连通 ping 172.16.1.100 如果连通了,表示路由器配置正确,否则,查找原因,并排除之。
文章评论

共有 7 条评论

  1. jiehe 于 2009-05-24 15:42:48发表:

    好长啊。

  2. 天涯之路 于 2009-05-24 10:37:15发表:

    不错呀!!!

  3. fengzhong1 于 2009-05-22 18:41:53发表:

    很好收到

  4. jjwspj 于 2009-05-22 18:14:24发表:

    学习了!!!

  5. 畅想老三 于 2009-04-17 03:02:08发表:

    好东西啊 呵呵

  6. qq274575499 于 2009-04-15 16:29:11发表:

    好东西,,,,收藏下了

  7. feidecheng 于 2008-04-27 15:39:48发表:

    :0w5ty(1 学习了.受教