RouterOS实现负载均衡和策略路由的方法

 

•  如何实现路由器的负载均衡

通过在 /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> print

Flags: 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>

•  定义策略路由的规则

如添加一条指定源地址为 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

#
SRC-ADDRESS
DST-ADDRESS
INTE...
FLOW
ACTION
TABLE

0
0.0.0 .0/0
0.0.0 .0/0
all
CQ
lookup
mt

1
0.0.0 .0/0
0.0.0 .0/0
all
lookup
main

[admin@MikroTik] ip policy-routing rule>

0 条评论

留下评论