网络结构如图,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 如果连通了,表示路由器配置正确,否则,查找原因,并排除之。

转载于:https://www.cnblogs.com/Safe3/archive/2009/03/27/1422949.html

用linux构建路由器相关推荐

  1. Linux下路由器的配置

    Linux下路由器的配置 主要介绍如何用Linux做一个功能完备的路由器,这里将主要介绍静态路由器和动态路由器的配置,但不包括IP伪装或者说公用一个IP地址访问外面网络等问题.其已经不属于本主题讨论的 ...

  2. 用Zebra 在Linux 上构建路由器实战手册

    用Zebra 在Linux 上构建路由器实战手册 一.Zebra 介绍 Zebra 是一个 TPC/IP 路由软件,支持 BGP-4.BGP-4+.OSPFv2. OSPFv3.RIPv1.RIPv2 ...

  3. linux看门狗设备,基于Linux构建无人值守系统(看门狗)

    基于Linux构建无人值守系统(看门狗) 在各种嵌入式设备soc中基本都提供了看门狗,在很长一段时间里我对看门狗的理解就是"关掉它,不然它会找麻烦".但是当某种需求存在的时候,它又 ...

  4. 用Linux构建高效FTP服务器(2)

    快速构建FTP服务器 FTP服务器实现的基本功能是上传下载,下面就分几个步骤来搭建一个可以实现下载功能的简易FTP服务器. 1.安装FTP服务器 如果在安装系统时没有选择安装FTP服务器,可以通过Re ...

  5. Linux部署动态网页,linux构建动态WEB服务器安装篇

    linux构建动态WEB服务器安装篇 发布时间:2008-09-18 08:50:01   作者:佚名   我要评论 基本配置 安装web服务器:httpd-2.X.X 先优化吧 根据CPU设置变量 ...

  6. nano spi flash linux构建指南

    title: nano spi flash linux构建指南 前言 本文介绍Licheepi nano SPI Flash镜像的制作过程.主要为小白首次入门做讲解! 制作嵌入式linux系统主要分四 ...

  7. 交换机命令与linux,LINUX教学:路由器和交换机的基本命令

    <LINUX教学:路由器和交换机的基本命令>要点: 本文介绍了LINUX教学:路由器和交换机的基本命令,希望对您有用.如果有疑问,可以联系我们. 路由器和交换机的基本命令 en      ...

  8. 进入路由器linux系统时间长,如何用linux做路由器限速

    如何用linux做路由器限速 linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,如海蜘蛛,飞鱼星等,其实我们也可以用linux来打造一台高性能的路由器.下面就以redhat为例(其他版本 ...

  9. linux限速软件,一步步教你用linux做路由器限速

    linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,如海蜘蛛,飞鱼星等,其实我们也可以用linux来打造一台高性能的路由器.下面就以red hat为例(其他版本大同小异)教大家做一台能限速 ...

最新文章

  1. python网络爬虫之yield关键字的使用!
  2. jquery.validate不用submit而用js提交的例子
  3. python发明者叫什么-python是谁的
  4. 灰度图像--图像增强 双边滤波 Bilateral Filtering
  5. mysql秒级平滑_DDM实践:数据库秒级平滑扩容方案
  6. 12.4日团队工作总结
  7. java xmpp openfire_XMPP协议学习笔记三(Openfire服务器端搭建开发环境)
  8. 确保PHP安全 不能违反的四条安全规则
  9. Max OS X下关于JDK的那些事
  10. c语言入门敲打,C语言基础三(敲打键盘、寻找资料,循环语句)
  11. #iOS问题记录# 关于UITableViewcel的分割线去掉问题
  12. ArrayList和CopyOnWriteArrayList
  13. 超燃:2019 中国.NET 开发者峰会视频发布
  14. 网络打不其他计算机的共享文件,快速解决“电脑无法访问共享文件夹”的4种方法!...
  15. 三菱FX3U——红绿灯
  16. 深度清理C盘之非常有用
  17. 吐血总结:国内外App制作平台大集合,总有一款适合你
  18. speedoffice(word)如何修改段落间距
  19. 百度地图JavaScript API获取用户当前经纬度和详细地理位置,反之通过详细地理位置获取当前经纬度...
  20. Matlab/simulink采样仿真数据(时序)和时间序列的保存

热门文章

  1. 软设考试笔记--UML建模
  2. 的有效性最好_世界前10名面膜补水排行榜 最好用的十款面膜推荐
  3. [CODEVS 1281] Xn数列
  4. 2020-07-03 CVPR2020 i3DV论文讨论(2) 笔记
  5. 2017年9月2日普级组T2 跳格子
  6. AtCoder AGC029E Wandering TKHS
  7. Codeforces 1276C/1277F/1259F Beautiful Rectangle (构造)
  8. 苹果手机怎样用计算机,苹果手机怎么连接电脑,详细教您怎么使用苹果手机连接电脑...
  9. EJS学习(二)之语法规则上
  10. Java如何接收前端传来的多层嵌套的复杂json串