配置静态路由

* Config Static Route





静态路由:是指由用户或网络管理员手工配置的路由信息,包括网络地址 子网掩码和下一跳地址。

    1. 静态路由的作用

            基本的静态路由举例如图所示,由两个路由器R1和R2组成(接口号和IP地址在图中给出),它们分别连接了各自的网络:R1连接了子网192.168.0.0/24,R2连接了子网192.168.2.0/24 。

配置静态路由_第1张图片
        在没有配置静态路由的情况下,这两个子网中的计算机A、B之间是不能通信的。从计算机A发往计算机B的IP包,在到达R1后,R1不知道如何到达计算机B所在的网段192.168.2.0/24(即R1上没有去往192.168.2.0/24的路由表),同样R2也不知道如何到达计算机A所在的网段192.168.0.0/24,因此通信失败。
        此时就需要管理员在R1和R2上分别配置静态路由来使计算机A、B成功通信。在R1上执行添加静态路由的命令ip route 192.168.2.0 255.255.255.0 192.168.1.1。它的意思是告诉R1,如果有IP包想达到网段192.168.2.0/24,那么请将此IP包发给192.168.1.1(即和R1的2号端口相连的对端)。同时也要在R2上执行添加静态路由的命令ip route 192.168.0.0 255.255.255.0 192.168.1.2。它的意思是告诉R2,如果有IP包想达到网段192.168.0.0/24,那
么请将此IP包发给192.168.1.2(即和R2的3号端口相连的对端)。

        通过上面的两段配置,从计算机A发往计算机B的IP包,能被R1通过2号端口转发给R2,然后R2转发给计算机B。同样地,从计算机B返回给计算机A的IP包,能被R2通过3号端口转发给R1,然后R1转发给计算机A,完成了一个完整的通讯过程。

     2. 静态路由的适用范围:

            而且随着局域网规模的扩大,很多地方都涉及到2台或以上路由器的应用。当一个局域网内存在2台以上的路由器时,由于其下主机互访的需求,往往需要设置路由。由于网络规模较小且不经常变动,所以静态路由是最合适的选择。


    3. 配置静态路由
        拓扑图
配置静态路由_第2张图片
  • 配置
        1.进入192.168.1.254,ADVANCED页面
        2.选择 Static Route
        3.点击add
        4.配置如下信息
        5.点击apply

配置静态路由_第3张图片
  • 验证:通过DUT使用traceroute命令比较
        1.没有配静态路由的情况
# traceroute 172.22.102.250
traceroute to 172.22.102.250 (172.22.102.250), 30 hops max, 38 byte packets
1  192.168.5.64 (192.168.5.64)  10.000 ms  10.000 ms  10.000 ms
2  172.22.102.251 (172.22.102.251)  10.000 ms *  10.000 ms

        2.配置了静态路由的情况
# traceroute 172.22.102.250
traceroute to 172.22.102.250 (172.22.102.250), 30 hops max, 38 byte packets
1  192.168.5.11 (192.168.5.11)  10.000 ms  10.000 ms  10.000 ms
2  172.22.102.251 (172.22.102.251)  10.000 ms *  10.000 ms



 
    4. ip route 和ip rule
        1. 路由表管理:ip route
路由表的查看可有以下二种方法:
    # ip route list table table_number
    # ip route list table table_name
路由表添加完毕即时生效,下面为实例
    # ip route add 172.22.102.0/24 via 192.168.5.64 //添加一条到172.22.102.0网段的路由为192.168.5.64,
    # ip route add default via 192.168.5.64 table 1 在一号表中添加一条到默认路由,网关为192.168.5.64
    # ip route add default via 192.168.5.64		//添加一条默认路由,网关为192.168.5.64
路由表序号和表名的对应关系在/etc/iproute2/rt_tables中,可手动编辑,文件中有linux系统维护了4个路由表:
     0  	系统保留表
   255  	local 本地路由表存有本地接口地址,广播地址,已及NAT地址.local表由系统自动维护..管理员不能操作此表... 
   254  	main 主路由表 传统路由表,ip route若没指定表亦操作表254.一般存所有的路由。注:平时用ip ro sh查看的亦是此表设置的路由. 
   253  	default  默认路由表一般存放默认路由... 
注:rt_tables文件中表以数字来区分表0保留最多支持255张表
进行路由时,根据路由规则来进行匹配,按优先级(pref)从低到高匹配,直到找到合适的规则.所以在应用中配置默认路由是必要的.. 

        2. 路由规则管理:ip rule
ip rule add -- 插入新的规则
	缩写:add、a;
	示例1: 通过路由表inr.ruhep路由来自源地址为192.203.80/24的数据包
	# ip ru add from 192.203.80/24 table inr.ruhep prio 220
	#ip ru add to 172.22.102.0/24 table 1 prio 220
	示例2:把源地址为193.233.7.83的数据报的源地址转换为192.203.80.144,并通过表1进行路由
	# ip ru add from 193.233.7.83 nat 192.203.80.144 table 1 prio 320
		
ip rule delete -- 删除规则	
	缩写:delete、del、d;
	示例:删除无用的缺省规则
	#ip ru del from all to 172.22.102.0/24 lookup inr.ruhep 		//删除规则
	# ip ru del prio 32767


显示规则:ip rule show 
    缩写:show、list、sh、ls、l
    0:      from all lookup local 
    3226:   from all to 172.22.102.0/24 lookup 226	//这条表示所有来源,要到172.22.102.0网段的数据包,都通过
                                                        //查找表226发送出去,使用ip ro table 226可以看到对应的规则
    32766:  from all lookup main 
    32767:  from all lookup default 	
    参数解析如下:   
        From -- 源地址
        To -- 目的地址(这里是选择规则时使用,查找路由表时也使用)
        Tos -- IP包头的TOS(type of sevice)域Linux高级路由-
        Dev -- 物理接口
        Fwmark -- iptables标签
    采取的动作除了指定路由表外,还可以指定下面的动作:
        Table 指明所使用的表
        Nat 透明网关
        Prohibit 丢弃该包,并发送 COMM.ADM.PROHIITED的ICMP信息 
        Reject 单纯丢弃该包
        Unreachable丢弃该包, 并发送 NET UNREACHABLE的ICMP信息
    如果pref值不指定,则将在已有规则最小序号前插入     
新增规则: ip rule add
    缩写:add、a;
    示例1: 通过路由表inr.ruhep路由来自源地址为192.203.80/24的数据包
        # ip route add default via 192.168.5.64 table 1  	//添加一条默认路由到一号表中,网关为192.168.5.64
        # ip ru add to 172.22.102.0/24 table 1 prio 220		//添加规则,指明到172.22.102.0/24网路的包,通过路由表table 1进行
                                                                //查找转发 prio为按优先级(pref),它的匹配规则是从低到高匹配。
    示例2:把源地址为192.168.2.10的数据报的源地址转换为192.168.80.144,并通过表1进行路由
        # ip ru add from 192.168.2.10 nat 192.168.80.144 table 1 prio 320
    注:创建完路由规则若需立即生效须执行#ip route flush cache;刷新路由缓冲		
删除规则: ip rule delete                  
    缩写:delete、del、d;
    示例:删除无用的缺省规则
        # ip ru del prio 32767	
        # ip ru del from all to 172.22.102.0/24 lookup inr.ruhep


    5. 静态路由的工作过程

        1.当路由器的某个接口收到一个包时,路由器会读取包中相应的目标的逻辑地址的网络部分,然后在路由表中进行查找。如果在路由表中找到了目标地址的路由条目,则把包转发到路由器的相应接口;

        2.如果在路由表中没有找到目标地址的路由条目,那么,如果路由器配置了默认路由的话,就根据默认路由的配置转发到路由器的相应接口,如果路由器中没有配置默认路由,则将该包丢弃,并返回不可达信息。

        以上就是数据路由的过程,可见路由是路由器根据自己的路由表进行的,其间经过了路由选择和路由转发的过程,从路由器的一个接口”路由”到另一个接口.

查找路由表的优先顺序是:静态路由表>路由表>默认路由表。


    6. 测试:

        1. 环境条件:

               1.  如上图的的网络拓扑图,现在将192.168.5.11与172.22.102.0网络断开

               2. 192.168.5.64中有dhcp服务器,上面我们已经验证了网络的连通,现将dhcp中的默认路由设置为192.168.5.11,这里是为了验证在DUT使用ip route和ip rule将网络连通。
                3.此时DUT无法ping通172.22.102.250
         2. 普通路由
# ip route add 172.22.102.0/24 via 192.168.5.64 //添加到172.22.102.0网段的路由,网关为192.168.5.64,
# ping 172.22.102.250	               //网通
# ip route del 172.22.102.0/24 via 192.168.5.64 dev ptm0_0	//删除这条路由
        3. 路由规则
# ip route add default via 192.168.5.64 table 1    //添加一条默认路由到一号表中,网关为192.168.5.64
# ip ru add to 172.22.102.0/24 table 1 prio 220	  //添加新rule
# ip route flush cache			//刷新路由缓冲	  
# ping 172.22.102.250	               //网通
# ip ru del from all to 172.22.102.0/24 lookup inr.ruhep     //删除这条rule



* 将ubuntu配置为gateway 的方法


你可能感兴趣的:(嵌入式,linux,网络管理)