当前位置:首页 > 原创教程 > RouterOS通过VRRP实现单线多拨以及PCC负载均衡

RouterOS通过VRRP实现单线多拨以及PCC负载均衡

原创教程 / 星之宇 / 2021-7-6 8:00 / 浏览:8292 / 评论:0

单线多拨/一线多拨需要运营商的支持,可以达到叠加速度(也要运营商支持)以及获取多个IP地址的目的。

RouterOS(以下简称ROS)可以通过VRRP显示PPPOE多拨,本文虚拟机虚拟ROS以及自建PPPoE服务器,WAN口是ether1,LAN口是ether2,来实现1线3拨以及使用PCC规则来达到负载均衡的效果。


一、VRRP设置

1、打开“Interfaces” - “VRRP”,点击“+”

66-1.png


2、添加3个VRRP,name分别为vrrp1,vrrp2,vrrp3

66-2.png


3、VRRP选项卡分别设置vrrp1的VRID为1, vrrp2的VRID为2, vrrp3的VRID为3

66-3.png


二、PPPoE Client拨号设置

1、打开“PPP” - “Interface”,点击“+”,选择“PPPoE Client”

66-4.png


2、创建3个pppoe拨号,name分别为pppoe-out1, pppoe-out2, pppoe-out3,以及Interfaces分别选择vrrp1,vrrp2,vrrp3

66-5.png


3、Dial out选项卡。分别去掉“Add Default Route”的勾(不添加默认路由)

66-6.png


三、配置LAN ip地址和激活vrrp虚拟接口配置ip地址

1、打开“IP” - “Addresses”,点击“+”

66-7.png


2、添加内网IP

添加内网LAN:Addess:192.168.1.1/24 Network:192.168.1.0 Interface:ether2

添加外网WAN:Addess:192.168.88.1/24 Network:192.168.88.0 Interface:ether1

添加vrrp1 :Addess:192.168.88.11/24 Network:192.168.88.0 Interface:vrrp1

添加vrrp2 :Addess:192.168.88.12/24 Network:192.168.88.0 Interface:vrrp2

添加vrrp3 :Addess:192.168.88.13/24 Network:192.168.88.0 Interface:vrrp3

PS:Wan口也就是ether1要和vrrp同一个网段的

66-8.png


四、路由设置

1、打开“IP” - “Routes”,点击“+”

66-9.png


2、添加3条默认路由Gateway:pppoe-out1, Gateway:pppoe-out2, Gateway:pppoe-out3, 分别对标记为R1,R2,R3指定线路

66-10.png


五、标记内网要走的线路以及 提取路由 标记 指定走pppoe线路

1、打开“ip” - “Firewall” - “Mangle”,点击“+”

66-11.png


2、添加3条标记规则,Chain选择“prerouting”,Src.Address填写内网ip(我这里是192.168.1.0/24),这边3条标记都是一样的

66-12.png


3、advanced选项卡,Per Connection Classifier选择“both addresses”

第一条标记:“both addresses”:3/0,

第二条标记: “both addresses”: 3/1,

第三条标记: “both addresses”: 3/2

66-13.png


4、Extra选项卡 Dst.Address Type中Address Type选择local,并勾上Invert,表示非本地,三条标记一样

66-14.png


5、Action选项卡 Action选择“mark connection”,New Connection Mark填写标记名称

第一条标记 New Connection Mark 填写PCC1

第二条标记 New Connection Mark 填写PCC2

第三条标记 New Connection Mark 填写PCC 3

66-15.png


6、新建3条提取路由标记和指定路由的规则,Chain选择“prerouting”,Src. Address填写内网LAN地址,我这里是192.168.1.0/24,Connection Mark填写刚才标记的名称(需要创建3条规则)

第一条Connection Mark填写PCC1

第二条Connection Mark填写PCC2

第三条Connection Mark填写PCC3

66-16.png


7、这边Action选择“mark routing”,New Routing Mark填写要走pppoe的名称,这边3条规则分别填写R1,R2,R3

66-17.png


以上规则脚本代码:

/ip firewall mangle
add action=mark-connection chain=prerouting dst-address-type=!local \
    new-connection-mark=PCC1 passthrough=yes per-connection-classifier=\
    both-addresses:3/0 src-address=192.168.1.0/24
add action=mark-connection chain=prerouting dst-address-type=!local \
    new-connection-mark=PCC2 passthrough=yes per-connection-classifier=\
    both-addresses:3/1 src-address=192.168.1.0/24
add action=mark-connection chain=prerouting dst-address-type=!local \
    new-connection-mark=PCC3 passthrough=yes per-connection-classifier=\
    both-addresses:3/2 src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=PCC1 \
    new-routing-mark=R1 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=PCC2 \
    new-routing-mark=R3 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=PCC3 \
    new-routing-mark=R2 passthrough=yes src-address=192.168.1.0/24


六、路由回路配置,确保同一个会话的数据从相同出口进出。

1、新建3条input规则,设置Chain:input,In.Interface选择入口

第一条规则: In.Interface选择pppoe-out1

第二条规则: In.Interface选择pppoe-out2

第三条规则: In.Interface选择pppoe-out3

66-18.png


2、标记入口连接,action选择mark connection,New Connectin Mark选择对应的标记

第一条规则: New Connectin Mark选择 PCC1

第二条规则: New Connectin Mark选择 PCC 2

第三条规则: New Connectin Mark选择 PCC 3

66-19.png


3、新建3条output规则,设置Chain:output, Connectin Mark 选择刚才标记的

第一条规则:Connectin Mark选择PCC1

第二条规则:Connectin Mark选择PCC2

第三条规则:Connectin Mark选择PCC3

66-20.png


4、标记默认路由,action选择mark routing,New Routing Mark选择对应的标记

第一条规则:New Routing Mark选择R1

第二条规则:New Routing Mark选择 R 2

第三条规则:New Routing Mark选择 R 3

66-21.png


以上规则脚本代码:

/ip firewall mangle
add action=mark-connection chain=input in-interface=pppoe-out1 \
    new-connection-mark=PCC1 passthrough=yes
add action=mark-connection chain=input in-interface=pppoe-out3 \
    new-connection-mark=PCC3 passthrough=yes
add action=mark-connection chain=input in-interface=pppoe-out2 \
    new-connection-mark=PCC2 passthrough=yes
add action=mark-routing chain=output connection-mark=PCC1 new-routing-mark=R1 \
    passthrough=yes
add action=mark-routing chain=output connection-mark=PCC3 new-routing-mark=R3 \
    passthrough=yes
add action=mark-routing chain=output connection-mark=PCC2 new-routing-mark=R2 \
    passthrough=yes


七、 配置nat规则

1、打开“IP” - “Firewall” -“NAT” ,点击“+”

66-22.png


2、创建一条规则,Chain选择srcnat

66-23.png


3、action选项卡,action选择masquerade

66-24.png


以上规则脚本代码:

/ip firewall nat
add action=masquerade chain=srcnat


到此差不多结束了。实际环境存在的问题就是当有PPPoE掉线的时候,会导致内网部分网络不通。可以使用脚本来解决。

目前有 0 条评论

    • 昵称
    • 邮箱
    • 网址