ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 162351|回复: 433

[Route动态路由和路由策略] [PCC 负载均衡] PCC 匹配器允许分离传输流做到平衡流量的功

  [复制链接]
发表于 2013-4-21 02:16:16 | 显示全部楼层 |阅读模式

马上注册成为ROSABC会员,随时发帖回复。

您需要 登录 才可以下载或查看,没有账号?会员注册

x
PCC 负载均衡

PCC 匹配器允许分离传输流做到平衡流量的功能(能指定这个属性选择 src-address, src-port, dst-address,dst-port)

PCC 原理

PCC 从一定范围内分析选择 IP 数据包头,通过哈西散列算法的帮助下,将选定的区域转换为 32bit 值。这个值 除以指定 Denominator(分母),余数将比较一个指定的余数(Remainder),如果相等这时数据包将会被 捕获,你可以选择 src-address, dst-address, src-port, dst-port 等使用此操作。

per-connection-classifier=

PerConnectionClassifier ::= [!]ValuesToHashenominator/Remainder

Remainder ::= 0..4294967295 (integer number) Denominator ::= 1..4294967295 (integer number)

ValuesToHash ::= src-address|dst-address|src-port|dst-port[,ValuesToHash*]

per-connection-classifier 分类器,通过判断源地址、目标地址、源端口和目标端口,对数据进行分类,如

事例: 这个配置将所有连接基于源地址和端口分类的 3 个组:

/ip firewall mangle add chain=prerouting action=mark-connection

new-connection-mark=1st_conn per-connection-classifier=both-addresses:3/0

/ip firewall mangle add chain=prerouting action=mark-connection

new-connection-mark=2nd_conn per-connection-classifier=both-addresses:3/1

/ip firewall mangle add chain=prerouting action=mark-connection

new-connection-mark=3rd_conn per-connection-classifier=both-addresses:3/2

per-connection-classifier=both-addresses:3/0,这条规则的含义为我们对原地址的端口进行分类,3/0 为 一共有 3 条出口,定义第一条,3/1 则是第二条,以此类推。

注意:PCC 从 RouterOS v3.24 开始支持,这个功能解决了多网关的负载均衡问题。

PCC 的负载均衡事例

一、 双向地址负载均衡

通分组源地址和源端口实现负载平衡,这里我们建立 2 个 WAN 出口分别是 wan1 和 wan2,网络环境如下:
游客,如果您要查看本帖隐藏内容请回复



y ISP1 地址 10.200.15.99/24,网关:10.200.15.1;

y ISP2 地址 10.200.100.99/24,网关:10.200.100.2;

y 内网 IP 地址 192.168.100.1/24;

y 启用 DNS 缓存功能,用 192.168.100.1 作内网 DNS 解析;

基本配置

首先进入 ip address 配置 IP 地址:
6.9.2 6.9.2.jpg

在 ip dns setting 中配置好 DNS 缓存,DNS 为:61.139.2.69
6.9.3.jpg


Mangle 标记配置

接下来我们进入 ip firewall mangle 标记连接和路由,我们使用 per-connection-classifier 双向地址进行分 类做连接分类标记。

首先我们需要将进入路由的的链接进行标记

如下图,我们进入一条 mangle 规则,中的 advanced 标签内容可以看到 per-connection-classifier 分类器, 选择 both-addresses 的分类:
6.9.4.jpg


然后选择 dst-address-type=!local,即除了目标地址是本地以前的地址:
6.9.5.jpg


注:2 条线的分类代码定义是第一条线为 2/0,第二条为 2/1
6.9.6.jpg


同样选择一下地址类型:
6.9.7.jpg


下面命令是提取走第一条线路的连接标记取名位 1st_conn,并从连接里提取路由标记名位 1st_route,设

置:per-connection-classifier=both-addresses:2/0, 设置 in-interface=lan

/ip firewall mangle

add action=mark-connection chain=prerouting comment="" disabled=no \ in-interface=lan new-connection-mark=1st_conn passthrough=yes \ per-connection-classifier=both-addresses:2/0

add action=mark-routing chain=prerouting comment="" connection-mark=1st_conn \

disabled=no in-interface=lan new-routing-mark=1st_route passthrough=yes

提取走第二条线路的连接标记取名位 2nd_conn,并从连接里提取路由标记名位 2nd_route,设置 :

per-connection-classifier=both-addresses:2/1,设置 in-interface=lan:

/ip firewall mangle

add action=mark-connection chain=prerouting comment="" disabled=no \ in-interface=lan new-connection-mark=2nd_conn passthrough=yes \ per-connection-classifier=both-addresses:2/1

add action=mark-routing chain=prerouting comment="" connection-mark=2nd_conn \

disabled=no in-interface=lan new-routing-mark=2nd_route passthrough=yes

在 winbox 在 mangle 中设置完成后如下:
6.9.8.jpg


回程路由设置

我们需要将从那个口进入就从相应的口回去,即保证每个外网口的数据能得到正确的路由

/ ip firewall mangle

add chain=input in-interface=wan1 action=mark-connection new-connection-mark=1st_conn

add chain=input in-interface=wan2 action=mark-connection new-connection-mark=2nd_conn

winbox 设置
6.9.9.jpg


标记完进入接口的链接后,将这些链接指定到相应的路由标记上:

add chain=output connection-mark=1st_conn action=mark-routing new-routing-mark=1st_route

add chain=output connection-mark=2nd_conn action=mark-routing new-routing-mark=2nd_route

winbox 设置
6.9.10.jpg


路由配置

配置完标记后路由后,我们进入 ip route 配置路由,首先设置负载均衡的标记路由,首先设置第一条线路的路

由标记,设置 routing-mark=1st_route:
6.9.11.jpg


设置第二条线路的路由标记,设置 routing-mark=2nd_route:
6.9.12.jpg


配置默认网关和备份网关,默认网关的 distance 设置为 1,并设置 check-gateway=ping,通过 ping 监测 网关状态:
6.9.13.jpg


备份网关的 distance 设置为 2,并设置 check-gateway=ping,通过 ping 监测网关状态:
6.9.14.jpg


配置完成后的路由标如下图:
6.9.15.jpg


配置 nat

最后配置 nat 转换规则,进入 ip firewall nat 中配置 action=masquerade,分别对 2 条线路做伪装:

/ip firewall nat

add action=masquerade chain=srcnat out-interface=wan1 add action=masquerade chain=srcnat out-interface=wan2
6.9.16.jpg


六线的 PCC 负载均衡

许多网络中会出现相同运营商,相同带宽多线路的接入,比如下面是一个 6 条线路的接入,我们通过 PCC 解决带宽的均衡,通过分类源地址和目标地址的负载均衡,即双向地址(both addresses),设置于之前的操作 基本相同,只是变成了 6 组规则.

下面是 6 条 ADSL 的情况,mangle 标记的 prerouting 规则:
6.9.17.jpg


进入 ip route 设置路由,这个是 PPPoE 拨号上网的策略路由配置:
游客,如果您要查看本帖隐藏内容请回复



第七章 DHCP 操作配置

DHCP(动态主机分配协议),负责分配和接收网络中的 IP 地址信息,能让网络内的主机动态获取地址,连接指定的网络。

RouterOS 支持服务端(Server)和客户端 (Client),同时支持 DHCP-relay 接力传输功能。

评分

参与人数 1A币 +10 收起 理由
derby_ma + 10 很给力!

查看全部评分

发表于 2013-4-25 08:59:56 | 显示全部楼层
学习了太详细了
发表于 2013-4-25 17:24:31 | 显示全部楼层
确实详细,学习中
发表于 2013-4-26 09:48:54 | 显示全部楼层
我勒个去啊
发表于 2013-5-6 19:24:09 | 显示全部楼层
谢谢楼主共享
发表于 2013-5-18 12:39:36 | 显示全部楼层
这个可以有,回复看看先!!...
发表于 2013-5-25 22:07:40 | 显示全部楼层
该分配一个 IP 地址。物理网络连接应该建立在 HotSpot 用户的电脑和网关之间。它可以是无线(无线网卡需要在 AP 上注册),或者有线的(NIC 网卡需要连接到一个集线器或一个交换
发表于 2013-5-28 02:17:43 | 显示全部楼层
发表于 2013-5-28 12:14:48 | 显示全部楼层
vcbbfghfghfghf
发表于 2013-5-28 14:11:45 | 显示全部楼层
终于看到教程拉   找拉好久好久 不知道多久 谢谢
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2025-3-26 13:42 , Processed in 0.416938 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表