1. 访问网段61.135.169.0 netmask 255.255.255.0的时候,走网关192.168.0.1, 设备用eth0

~ # route add -net 61.135.169.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0



~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.3.0     *               255.255.255.0   U     0      0        0 eth3
192.168.2.0     *               255.255.255.0   U     0      0        0 eth2
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     192.168.0.1     255.255.255.0   UG    0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
61.135.169.0    192.168.0.1     255.255.255.0   UG    0      0        0 eth0


~ # route del default

2. 添加默认路由。就是说当访问不在路由表中的网段时,走默认路由。
~ # route add default gw 192.168.0.1
~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.3.0     *               255.255.255.0   U     0      0        0 eth3
192.168.2.0     *               255.255.255.0   U     0      0        0 eth2
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     192.168.0.1     255.255.255.0   UG    0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0


---------------------------------------------------------------------------------------------------------------------------------------------------------------


linux route 路由器 静态路由 GateWay 网关  

2011-10-18 17:18:44|  分类: linux|字号 订阅

来源:http://nymz.blog.163.com/blog/static/10874768200761421932305/

网络结构如图,Linux路由器这台计算机标识为A,它与三个网段相连,192.168.1.0/24,10.0.0.0/8,172.16.0.0/16。

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

linux route 路由器 静态路由 GateWay 网关 - simonan - NanSen 博客资料

假设:

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


Linux route命令中输出信息的一些讲解

时间:2011-06-06 来源:Linux社区  作者:佚名

经过长时间学习Linux route,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。Linux下使用不带任何参数的Linux route命令将显示真个路由表,输出可能如下:


Kernel IP routing tableDestination   Gateway    Genmask    Flage Metric Ref Use Iface
192.168.100.0   *             255.255.255.0 U     0      0   0   etn0

127.0.0.0       *             255.255.255.0 U     0      0   0   l0

default         192.168.100.5 0.0.0.0        UG    0      0   0   eth0


在这台主机上的输出由三行组成(在表头行以下):


第一行说明将通向192.168.100.0(同eth0设备相关联的网络)的网络流量发往何处。

第二行说明将通向127.0.0.1(localhost或自环网络设备地址)的网络流量发往何处。

第三行说明将上面两种以外的数据发往何处;因为系统并不知道怎样抵达这些数据包的发送地址,所以这些数据包必须经过网关。


再看一下Linux route命令输出的各列:


Destination:路由表条目使用的网络范围。如果一个IP数据包的目的地址是route输出中某一行的网络的某个部分,那么将会使用这个条目来路由这个数据包。

Gateway:指的是一台主机,接受发给指定Destination的数据包。因为这个输出是发自一台主机的(而不是一个作为专门路由器的计算机的),所以路由字段可以是星号(*)或是默认网关;星号表示Destination是在主机所属的网络(因此不需要路由),默认网关指的是将所有非本地的流量都发送到的一个指定IP。

Flags:9个单字母的标志位,表示路由表条目的信息。U表示路由启动;G表示路由指向网关、大多数其他标志(都可以通过输入manroute在route命令的在线帮助手册中找到)只用于专门的路由器,而不是一台单机,表示路由是如何通过路由守护进程来创建和更新。

Metric:到达指定网络所需的中转数(路由器的数目),在Linux内核中没有用。

Ref:对这个路由的引用次数,在Linux内核中没有用。

Use:这个路由器被路由软件查寻的次数,可以粗略估计通向指定网络地址的网络流量。

Iface:表示目的地址,指定网络的数据包应该发往哪个网络借口。



Logo

更多推荐