标签 v7 下的文章

Routeros V7配置策略路由

20230529更新:增加ipv6策略路由实现境内外ipv6地址分流的方法。

在两年前我写过一篇routeros配置vpn分流大陆ip的文章,里面主要介绍了使用routeros基于源地址和目的地址的策略路由。在使用Routeros V7 测试版的过程中发现V7相比于V6版在路由配置方便有很大变更,所以这篇文章会以Routeros V7为基础介绍策略路由的配置。

网络基本情况
routeros作为家庭唯一路由,通过pppoe接入互联网,通过wireguard连接香港的routeros。

策略路由目标
1,需要翻墙的内网ip:目的地址是境内ip走pppoe默认路由,目的地址是境外IP走wireguard通过香港routeros进入墙外互联网
2,其他内网ip全部走pppoe默认路由

IP地址分配参考上一篇文章Routeros 配置WireGuard

本地lan的地址是192.168.1.1/24,wg-access地址是10.0.0.1/24,wg-hk的地址是10.0.1.1/30,手机wireguard的地址是10.0.0.2/32,笔记本电脑的地址是10.0.0.3/32
香港wg0地址是10.0.1.2/30

配置步骤
1,导入大陆IP地址表
参考Routeros的address-list大陆分流列表
把cnip.rsc上传到routeros,执行

/import cnip.rsc

2,配置分流路由表
Routeros V7取消了通过firewall的mangle里添加路由标记自动添加路由表功能,所有这里需要手动添加路由表

/routing/table/add name="gfw" fib

添加IP分流策略路由

/ip/route/add dst-address=0.0.0.0/0 routing-table="gfw" gateway=10.0.1.2

3,新建需要翻墙的内网地址列表,假定192.168.1.100和192.168.1.200需要翻墙

/ip/firewall/address-list/add list=gfw address=192.168.1.100/32
/ip/firewall/address-list/add list=gfw address=192.168.1.200/32

4,给需要翻墙的内网ip添加标记

/ip/firewall/mangle/add chain=prerouting action=mark-routing new-routing-mark=gfw passthrough=yes dst-address-type=!local src-address-list=gfw dst-address-list=!CNIP log=no log-prefix=""

5,配置无污染DNS服务器
参考使用dnsmasq基于大陆域名白名单分流解析域名使用overture替换dnsmasq做域名分流解析

6,测试目的IP分流
在192.168.1.100上执行traceroute命令

traceroute 8.8.4.4
192.168.1.100--->192.168.1.1--->10.0.1.2--->香港服务器公网路由--->8.8.4.4
traceroute 114.114.114.114
192.168.1.100--->192.168.1.1--->PPPoE公网路由---->114.114.114.114

ps,按照上述ipv4的策略路由配置方法,ipv6并不会生效。
此问题是ipv6策略路由的路由表问题。截至v7.10beta8,mikrotik还没有修复ipv6的路由表问题,或者是mikrotik将来会调整策略路由配置方法。
ipv6的firewall的对应mangle条目的counter有计数,说明修改routing-mark已经生效,但是数据包没有走routing-mark设置的路由表。
经过搜索mikrotik官方论坛,需要另外增加一条设置

/routing/rule/add action=lookup-only-in-table routing-mark=gfw table=gfw

RouterOS V7 测试

20211201停止测试版本信息更新。
20211128更新:v7.1rc7,测试从chr版v7.1beta6升级,未发现问题
20210909更新:v7.1rc3新增支持docker和zerotier
20210319更新:V7.1beta5添加了6.48.1的一些功能。注意从CHR的v7.1beta4升级后不能启动,从6.48升级没有问题;beta5的pppoe接口的流量统计为零。
20210206更新:V7.1beta4修复了webfig和winbox不能配置/ip/route/路由等bug,添加了restapi支持
20201204更新:V7.1beta3发布了,此版本恢复了V6的一些路由表功能,修复了一些bug,有策略路由的可以从V6直接升级到此版本了,不再需要手动添加路由表。CHR版由v6升级到V7.1beta2的谨慎升级,renew license有问题,只能格盘重装。
20200825更新:V7.1beta2增加了wireguard,配置方法参考Routeros 配置WireGuard
20200223更新:beta5版已支持uefi,可以使用更多硬件了,比如up square的x86开发板(只支持uefi启动)
20191222更新:经测试beta4版已支持intel x710-t4,i210网卡,期待正式版
20191029更新:官网正式发布beta3版,下载地址,已发布所有硬件架构版本,增加对openvpn的udp支持
20191022更新:经测试beta2版还是不支持intel x710-t4网卡
20191008更新:经测试chr版的vmdk虚拟硬盘文件使用starwind转换成img,使用win32 disk imager写入硬盘可以引导,但是启动后有检测机制,检测到不是虚拟机后会关机。

routeros v7 beta版下载地址
基于内核4.14.131,支持更多网卡芯片,例如i210