RouterOS v7在路由策略配置方面有所变动,新建路由表,不能直接在ip route rule和mangle下创建,只能通过routing table配置,下面通过一个双线的PCC负载均衡策略事例,介绍下v7的PCC配置方式,网络大致情况如下:
- 出口线路1地址10.200.15.99/24,网关:10.200.15.1,接口ether1;
- 出口线路2地址10.200.100.99/24,网关:10.200.100.2,接口ether2;
- 内网IP地址192.168.100.1/24,接口ether3;
首先配置IP地址
[admin@MikroTik] > ip address/ [admin@MikroTik] /ip/address> add address=10.200.15.99/24 interface=ether1 [admin@MikroTik] /ip/address> add address=10.200.100.99/24 interface=ether2 [admin@MikroTik] /ip/address> add address=192.168.100.1/24 interface=ether3
创建策略路由表,V7最大的改动在于策略路由表,策略路由表只能在routing table下创建,mangle和ip route rule无法在创建策略路由表,:
[admin@MikroTik] /ip/address> /routing/table/ [admin@MikroTik] /routing/table> add name=route1 fib [admin@MikroTik] /routing/table> add name=route2 fib
进入ip firewall mangle标记
[admin@MikroTik] /routing/table> /ip firewall/mangle/ [admin@MikroTik] /ip/firewall/mangle>
创建两组PCC策略,方式和之前v6一样,首先创建第一组PCC策略
add action=mark-connection chain=prerouting dst-address-type=!local new-connection-mark=pcc1 passthrough=yes \ per-connection-classifier=both-addresses:2/0 src-address=192.168.100.0/24 add action=mark-routing chain=prerouting connection-mark=pcc1 new-routing-mark=route1 passthrough=yes src-address=192.168.100.0/24
创建第二组PCC策略
add action=mark-connection chain=prerouting dst-address-type=!local new-connection-mark=pcc2 passthrough=yes \ per-connection-classifier=both-addresses:2/1 src-address=192.168. 100.0/24 add action=mark-routing chain=prerouting connection-mark=pcc2 new-routing-mark=route2 passthrough=yes src-address=192.168.20.0/24
定义IP数据报从那个接口进入,就按原路从那个接口回去,即保证每个外网口的数据能得到正确的路由。
/ip firewall mangle add chain=input in-interface=ether1 action=mark-connection new-connection-mark=pcc1 add chain=input in-interface=ether2 action=mark-connection new-connection-mark=pcc2
继续在mangle下添加入接口连接的路由标记:
add chain=output connection-mark=pcc1 action=mark-routing new-routing-mark=route1 add chain=output connection-mark=pcc2 action=mark-routing new-routing-mark=route2
进入ip route添加两条出口的策略路由
[admin@MikroTik] /ip/route> add gateway=10.200.15.1 routing-table=route1 [admin@MikroTik] /ip/route> add gateway=10.200.100.1 routing-table=route2
最后配置nat转换规则,进入ip firewall nat中配置action=masquerade,分别对2条线路做伪装:
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 add action=masquerade chain=srcnat out-interface=ether2