在校园宿舍中通常都会使用路由器来分配网络,但是,典型的问题就是网速非常慢,刨除校园网速的限制,在路由配置方面也是有流量不均匀的问题存在。现在我们就来学习一下,如何在路由器中进行负载均衡的配置问题。
通过在 /ip route 使用逗号“,”间隔添加多个网关就可以实现负载均衡功能,如:由两个网关 192.168.1.1 和 192.168.2.1 ,在路由器中设置为 /ip route add gateway 192.168.1.1,192.168.2.1 这即可实现负载均衡。
如何实现路由器的负载均衡策略
RouterOS 允许管理多个路由表,当你在使用多条 ISP 线路实,通过多个路由表可以为内网用户分配访问不同外网的线路,同时也可以指定访问端口的线路。策略路由设置具体如下:
Main 表总是存在的,这个表是不能被删除和更改名称的。 Main 表管理着 /ip route 目录选项:
[admin@MikroTik] ip policy-routing> table main
[admin@MikroTik] ip policy-routing table main> print
Flags: X - disabled, I - invalid, D - dynamic, R - rejected
# TYPE DST-ADDRESS G GATEWAY DISTANCE INTERFACE
0 static 192.168.1.0/24 r 192.168.0.50 1 Local
1 static 0.0.0 .0/0 r 10.0.0.1 1 Public
2 D connect 192.168.0.0/24 r 0.0.0 .0 0 Local
3 D connect 10.0.0 .0/24 r 0.0.0 .0 0 Public
[admin@MikroTik] ip policy-routing table main>
[admin@MikroTik] ip policy-routing table main> /ip route print
Flags: X - disabled, I - invalid, D - dynamic, J - rejected,
C - connect, S - static, R - rip, O - ospf, B - bgp
# DST-ADDRESS G GATEWAY DISTANCE INTERFACE
0 S 192.168.1.0/24 r 192.168.0.50 1 Local
1 S 0.0.0 .0/0 r 10.0.0.1 1 Public
2 DC 192.168.0.0/24 r 0.0.0 .0 0 Local
3 DC 10.0.0 .0/24 r 0.0.0 .0 0 Public
[admin@MikroTik] ip policy-routing table main>
到这里,负载均衡的路由器设置,需要添加一个新的路由表,命名为 mt :
[admin@MikroTik] ip policy-routing> add name=mt
[admin@MikroTik] ip policy-routing> printFlags: D - dynamic
Flags: X - disabled, I - invalid, D - dynamic, R - rejected
# NAME
0 mt
1 D main
[admin@MikroTik] ip policy-routing
在 mt 表中添加路由访问 10.5.5 .0/24 的网络,经过的网关 10.0.0.22 :
[admin@MikroTik] ip policy-routing> table mt
[admin@MikroTik] ip policy-routing table mt> add dst-address= 10.5.5 .0/24 \
\... gateway= 10.0.0 .22
[admin@MikroTik] ip policy-routing table mt> print
Flags: X - disabled, I - invalid, D - dynamic, R - rejected
# TYPE DST-ADDRESS G GATEWAY DISTANCE INTERFACE
0 static 10.5.5 .0/24 r 10.0.0.22 1 Public
[admin@MikroTik] ip policy-routing table mt>
#p#定义负载均衡策略的路由器规则如添加一条指定源地址为 10.0.0 .144 主机的所有数据进入 mt 的路由表中查询路由:
[admin@MikroTik] ip policy-routing rule> add src-address= 10.0.0 .144/32 \
\... table=mt action=lookup
[admin@MikroTik] ip policy-routing rule> print
Flags: X - disabled, I - invalid
# SRC-ADDRESS DST-ADDRESS INTE... FLOW ACTION TABLE
0 0.0.0 .0/0 0.0.0 .0/0 all lookup main
1 10.0.0 .144/32 0.0.0 .0/0 all lookup mt
[admin@MikroTik] ip policy-routing rule>
当添加完后,要把添加的策略移动到默认路由规则(即在下面表中看到的第 0 条规则,此规则不能删除)之上,才能有效。
[admin@MikroTik] ip policy-routing rule> add flow=CQ action=lookup
[admin@MikroTik] ip policy-routing rule> print
Flags: X - disabled, I - invalid
# SRC-ADDRESS DST-ADDRESS INTE... FLOW ACTION TABLE
0 10.0.0 .144/32 0.0.0 .0/0 all lookup mt
1 0.0.0 .0/0 0.0.0 .0/0 all lookup main
[admin@MikroTik] ip policy-routing rule>
如何定义游戏端口通过策略路由选择线路
假定传奇端口是 7000 ,先在 /ip firewall manlge 中定义一个 flow 名为 CQ ,然后在设定 dst-port 的端口为 7000 .具体如: /ip firewall manlge add dst-port=7000 flow-mark=CQ ,当定义完端口进入路由表,指定线路传奇的线路在 mt 表中查询。
[admin@MikroTik] ip policy-routing rule> add flow=CQ action=lookup
[admin@MikroTik] ip policy-routing rule> print
Flags: X - disabled, I - invalid
# SRC-ADDRESS DST-ADDRESS INTE... FLOW ACTION TABLE
0 0.0.0 .0/0 0.0.0 .0/0 all lookup main
1 0.0.0 .0/0 0.0.0 .0/0 all CQ lookup mt
[admin@MikroTik] ip policy-routing rule>
同样如上面的负载均衡路由器策略所诉,要将该规则移动到 main 规则上:
[admin@MikroTik] ip policy-routing rule> add flow=CQ action=lookup
[admin@MikroTik] ip policy-routing rule> print
Flags: X - disabled, I - invalid