Chinaunix首页 | 论坛 | 博客
  • 博客访问: 755085
  • 博文数量: 280
  • 博客积分: 10106
  • 博客等级: 上将
  • 技术积分: 3052
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 17:10
文章分类

全部博文(280)

文章存档

2011年(2)

2010年(4)

2009年(4)

2008年(62)

2007年(208)

我的朋友

分类: 系统运维

2008-02-29 13:19:34

操作规则

需要功能包: system
软件等级: Level1
操作路径: /ip route, /ip policy-routing
技术标准: IP (RFC 791)
 概述

MikroTik RouterOS有下列类型的路由:

动态连接路由 是当在一个网卡上添加了IP,会自动创建一个动态的路由。
静态路由 是用户自定义将数据传输到指定的网络去的路由,这需要指定默认的网关。
当添加一个IP地址后,会自动创建一个动态的路由连接,你不需要手动添加连接路由器的路由配置,除非你使用一些路由协议(RIP 或OSPF)你就需要定义静态路由到指定的网络,或指定默认网关。

ECMP (Equal Cost Multi-Path) 路由

当使用在到一个目标网络多于一个网关时,可以称为“Equal-Cost Multi-Path Routing”即将其作负载均衡。每一对新的源/目标IP会选择一个新的网关。例如,一个FTP仅使用一个连接,但当一个新连接到不同的服务器就会使用其他的连接。

添加多网关的静态路由(格式如:gateway=x.x.x.x,y.y.y.y)路由协议会建立动态的多路路由。
 

基于策略的路由

根据路由算法将一个数据包选择到期望的一个网关上,在RouterOS中操作过程如下:

标记期望的数据包,设置一个routing-mark
为标记的数据包选择一个网关
路由

操作路径: /ip route

在路由子选项中,你可以配置静态路由、Equal Cost Multi-Path、Policy-Based Routing

注:

你能指定两个或更多的网关在路由中,而且你能重复一些路由的不同类型的参数多次设置到一个网关上。

事例

在一个路由器的两张网卡和两个IP地址中,添加两个静态路由到网络10.1.12.0/24 和 0.0.0.0/0 (默认的目标的地址) :

[admin@MikroTik] ip route> add dst-address=10.1.12.0/24 gateway=192.168.0.253

[admin@MikroTik] ip route> add gateway=10.5.8.1

[admin@MikroTik] ip route> print

Flags: X - disabled, A - active, D - dynamic,

C - connect, S - static, r - rip, b - bgp, o - ospf

 #     DST-ADDRESS        G GATEWAY         DISTANCE INTERFACE

 0 A S 10.1.12.0/24       r 192.168.0.253            Local

 1 ADC 10.5.8.0/24                                   Public

 2 ADC 192.168.0.0/24                                Local

 3 A S 0.0.0.0/0          r 10.5.8.1                 Public

[admin@MikroTik] ip route>

应用事例

静态Equal Cost Multi-Path路由

考虑下面的网络环境,所以的数据都是从一个网络192.168.0.0/24到两个网关10.1.0.1 和10.1.1.1。


注,ISP1给我们的带宽是2Mbps ,ISP2是4Mbps,因此我们想要一个1:2的传输比(1/3从192.168.0.0/24的数据走ISP1,2/3的通过).

路由器的IP地址:

[admin@ECMP-Router] ip address> print

Flags: X - disabled, I - invalid, D - dynamic

 #   ADDRESS            NETWORK         BROADCAST       INTERFACE

 0   192.168.0.254/24   192.168.0.0     192.168.0.255   Local

 1   10.1.0.2/28        10.1.0.0        10.1.0.15       Public1

 2   10.1.1.2/28        10.1.1.0        10.1.1.15       Public2

[admin@ECMP-Router] ip address>

添加默认路由,一个ISP1和两个ISP2,这样我们得到了1:3的比例:

[admin@ECMP-Router] ip route> add gateway=10.1.0.1,10.1.1.1,10.1.1.1

[admin@ECMP-Router] ip route> print

Flags: X - disabled, A - active, D - dynamic,

C - connect, S - static, r - rip, b - bgp, o - ospf

 #     DST-ADDRESS        G GATEWAY         DISTANCE INTERFACE

 0 ADC 10.1.0.0/28                                   Public1

 1 ADC 10.1.1.0/28                                   Public2

 2 ADC 192.168.0.0/24                                Local

 3 A S 0.0.0.0/0          r 10.1.0.1                 Public1

                          r 10.1.1.1                 Public2

                          r 10.1.1.1                 Public2

[admin@ECMP-Router] ip route>

Policy-Based路由

这个事例将介绍如何定义数据包的路由,策略设置如下:从192.168.0.0/24的数据包通过网关10.0.0.2,从192.168.1.0/24的数据包通过网关10.0.0.3,如果GW_1没有应答ping的检测,192.168.0.0/24使用GW_Backup ,如果GW_2没有应答ping的检测,同样使用GW_Backup 替换192.168.1.0/24GW_2网关。


IP地址配置:

[admin@PB-Router] ip address> print

Flags: X - disabled, I - invalid, D - dynamic

 #   ADDRESS            NETWORK         BROADCAST       INTERFACE

 0   192.168.0.1/24     192.168.0.0     192.168.0.255   Local1

 1   192.168.1.1/24     192.168.1.0     192.168.1.255   Local2

 2   10.0.0.7/24        10.0.0.0        10.0.0.255      Public

[admin@PB-Router] ip address>

标记从192.168.0.0/24网段的数据包为new-routing-mark=net1,和从192.168.1.0/24网段的数据包为 new-routing-mark=net2:
[admin@PB-Router] ip firewall mangle> add src-address=192.168.0.0/24 \

\... action=mark-routing new-routing-mark=net1 chain=prerouting

[admin@PB-Router] ip firewall mangle> add src-address=192.168.1.0/24 \

\... action=mark-routing new-routing-mark=net2 chain=prerouting

[admin@PB-Router] ip firewall mangle> print

Flags: X - disabled, I - invalid, D - dynamic

 0   chain=prerouting src-address=192.168.0.0/24 action=mark-routing

     new-routing-mark=net1

 

 1   chain=prerouting src-address=192.168.1.0/24 action=mark-routing

     new-routing-mark=net2

[admin@PB-Router] ip firewall mangle>

从192.168.0.0/24网段的数据包指给网关GW_1 (10.0.0.2), 数据包从网络 192.168.1.0/24指给网关GW_2 (10.0.0.3), 并使用相应的数据包标记。如果 GW_1或GW_2 连接失败fails (没有回应ping), 路由会把各自的数据包给GW_Backup (10.0.0.1):
[admin@PB-Router] ip route> add gateway=10.0.0.2 routing-mark=net1 \

\... check-gateway=ping

[admin@PB-Router] ip route> add gateway=10.0.0.3 routing-mark=net2 \

\... check-gateway=ping

[admin@PB-Router] ip route> add gateway=10.0.0.1

[admin@PB-Router] ip route> print

Flags: X - disabled, A - active, D - dynamic,

C - connect, S - static, r - rip, b - bgp, o - ospf

 #     DST-ADDRESS        PREFSRC         G GATEWAY         DISTANCE INTERFACE

 0 ADC 10.0.0.0/24        10.0.0.7                                   Public

 1 ADC 192.168.0.0/24     192.168.0.1                                Local1

 2 ADC 192.168.1.0/24     192.168.1.1                                Local2

 3 A S 0.0.0.0/0                          r 10.0.0.2                 Public

 4 A S 0.0.0.0/0                          r 10.0.0.3                 Public

 5 A S 0.0.0.0/0                          r 10.0.0.1                 Public

阅读(844) | 评论(0) | 转发(0) |
0

上一篇:RouterOS安装配置

下一篇:PC端口完全解析

给主人留下些什么吧!~~