MikroTik RouterOS应用事例讲解(二)

来源:互联网 发布:telnet端口开启 编辑:程序博客网 时间:2024/04/25 02:21

基于用户端IP地址的策略路由

如果你有很多的主机地址,你可以通过IP地址将他们分组。这时,指定源IP地址,发送的传输通过ISP1或者ISP2的网关出去。 让我们假设终端电脑的网络地址段为192.168.100.0/24,IP分配如下:

· 192.168.100.1-127分配到A组

· 192.168.100.128-253 分配到B组

· 192.168.100.254路由器本地IP地址(即内网的网关)

现在,我们通过子网划分的方式,将终端电脑进行分组:

· A组为192.168.100.0/25,地址范围:192.168.100.0-127

· B组为192.168.100.128/25,地址范围:192.168.100.128-255

如果你不能理解,请你查阅TCP/IP的相关教材或通过网上查找相关的子网划分资料!我们需要添加两个ip firewall mangle的规则,标记来至A组和B组终端电脑的数据包。

   
最好做一个注释,以便以后便于你自己或者别人查看和处理。


所有来至终端电脑的IP传输都通过路由标记为GroupA或者GroupB。这样我们可以标记到路由表中(routing table)。

下面,我们需要定义两个默认路给相应的路由标记和网关:

                

到这里,如果你没有对路由器做NAT的伪装,请在/ip firewall nat里添加src- Address=192.168.100.0/24 action=masquerade,在终端电脑上测试一下跟踪路由是否正确定义两个分组的默认路由:

A组测试如下情况:           


B组测试如下情况:


如何做端口的策略路由:

MikroTik RouterOS可以支持多种策略路由,如我们常见的源地址、目标地址,同样支持端口的策略路由,多种规则可以根据用户情况配合使用,如下图:

                               
现在我们通过下面的图解一步步实现端口的策略路由:

                             

我们有两个ISP接入的线路,一个是WAN1: 211.162.172.23,一个是WAN2: 218.112.109.27(地址为假设),我们让默认的数据通过WAN1,让访问网页的数据通过WAN2。

现在我们定义访问网页的端口,访问网页的端口是TCP 80端口,我们进入/ip firewall mangle中做数据标记

                     
首先我们标记80端口的连接,标记名为“http”然后我们从这些连接中提取我们想要的数据:

                                           

之后我们从标记中提取路由标记,命名为“web”,因为我们在前面的连接标记中做过了passthrough的设置,在这里就不用在重复设置。

然后我们进入/ip route,配置路由我们让标记好的80端口路由去WAN2的线路:

                     
在这里,我们也可以通过/ip route rule来定义端口的规则:

                     

让定义的web标记在一次回到web路由表中去查找网关。

透明传输整形器(Transparent Traffic Shaper

这个事例将介绍如何配置一个透明传输整形器。透明整形器是建立在一个桥上,能区分和优先考虑什么样的传输通过。

现在考虑下面的网络拓扑:

                

在这里配置一组队列限制,一个客户端的总的通过量和三个子队列(HTTP、P2P和其他的传输数据),HTTP传输将优先在其他传输之上。

快速配置

配置代码(可以复制到MikroTik RouterOS执行):


分析

下面将解释每段代码的具体实现:

Bridge


建立一个新的
bridge接口,并分配2个以太网卡给他:这样可以在两个网络间实现透明桥的功能

Mangle


所有符合
TCP
端口80及HTTP协议传输的数据,将标记为数据包标记为http ,注意:第一条规则设置为passthrough=yes,第二条为passthrough=no.


同上面所述,P2P传输被标记为数据包标记 p2p 并将剩下的传输标记为other.

Queues


创建一个队列,限制所有聪客户端来的流量传输为
(指定客户端的target-address)256k/512k.


所有子队列排列入main 父系, 因此所有的带宽流量不会超过指定的main 队列注意:http 队列优先级高于其他队列,级HTTP流量将优先考虑。

如果配置到电信网通的流量控制

对于电信和网通的IP地址段是已知,那么我们可以通过通过地址标记来实现对这些地址的流量控制,首先我们将电信和网通的地址段导入RouterOS的address-list中(可以在www.mikrotik.com.cn下载到)

通过import命令,导入地址列表:

                           
导入后我们可以在/ip firewall address-list中找到:

                                           

配置数据标记mangle

进入/ip firewall mangle设置,这里我们定义访问电信的流量控制,我们的内网地址段为192.168.0.0/24,所有这里我们配置源地址src-address=192.168.0.0/24。在mangle中先标记连接,然后在从连接中提取数据包:

           
定义标记类型:

              
源代码:

      

/ ip firewall mangle

add chain=prerouting src-address=192.168.0.0/24 dst-address-list=Telecom action=mark-connectionnew-connection-mark=Telecom passthrough=yes comment="" disabled=no


现在从标记的连接Telecom中提取数据包:

                      
源代码:

/ ip firewall mangle

add chain=prerouting connection-mark=Telecom action=mark-packet    new-packet-mark=TEL passthrough=no comment="" disabled=no

配置simple queue

现在我们进入/queue simple对列中配置流控规则,在这里我们把到电信的带宽控制在1M上行和2M下行

                                         
源代码:

/ queue simple

add name="telecom" dst-address=0.0.0.0/0 interface=all parent=none packet-marks=TEL direction=both priority=8 queue=default-small/default-small limit-at=0/0max-limit=1000000/2000000 total-queue=default-small disabled=no

这样对电信的带宽控制便完成,控制网通带宽同样的。


原创粉丝点击