通过在 /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> printFlags: 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 printFlags: 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 - dynamicFlags: X - disabled, I - invalid, D - dynamic, R - rejected #
NAME
0 mt1 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> printFlags: 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> printFlags: 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> printFlags: 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> printFlags: 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> printFlags: 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>