标签 ros 下的文章

Routeros配置openvpn服务器和客户端

网上很多教程了,但是Routeros使用openvpn over shadowsocks避免使用机场安全隐患中需要一些内容,所以在此简单写一下。

Routeros配置openvpn服务器步骤如下
1,创建根证书
routeros网络配置地址(下同):/webfig/#System:Certificates.Certificates.new
以下信息根据自己更改,注意证书有效期
证书配置
保存后点击上图中sign按钮签发证书,成功后会如下图,证书前显示KAT
证书KAT标记
2,配置openvpn客户端地址池
/webfig/#IP:Pool.Pools.new
如图openvpn地址池
3,配置openvpn配置profile
/webfig/#PPP.Profiles.new
填写前三项,其他默认,注意本地地址和地址池尽量在同一网段,远程地址选择上面地址池名
Screen Shot 2020-04-06 at 01.46.04.png
4,配置openvpn服务器
/webfig/#PPP.OVPN_Server
配置以下红圈位置
openvpn服务器配置
5,配置openvpn账号
/webfig/#PPP.Secrets.new
openvpn账号
需要几个就添加几个

Routeros配置openvpn客户端
/webfig/#PPP.Interface.new.OVPN_Client
openvpn客户端

routeros配置vpn分流大陆ip

20201203更新:Routeros V7的分流方法参考Routeros V7配置策略路由
20201202更新:Routeros V7连接境外服务器的vpn方式可以参考Routeros 配置WireGuard
20200503更新:添加dnsmasq白名单分流解析
20200416更新:添加使用ipip.net的大陆ip列表生成命令并添加了私有ip地址

ros使用pppoe连网,ros上配置vpn连接香港服务器上的ros。目标:内网需要翻墙的ip通过大陆ip列表分流,大陆ip走默认路由,境外ip走vpn。其他内网ip全部走默认路由。
首先下载大陆ip列表,推荐方法2
方法1:

curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.txt

生成的txt文件使用sublime的多行编辑功能或其他方式转换成ros的cn-ip.rsc脚本格式。

/ip firewall address-list
add list=cn-ip address=1.0.1.0/24
add list=cn-ip address=1.0.2.0/23
。。。

方法2:使用ipip.net发布在github的大陆ip列表生成

curl -s https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt |sed -e 's/^/add address=/g' -e 's/$/ list=CNIP/g'|sed -e $'1i\\\n/ip firewall address-list' -e $'1i\\\nremove [/ip firewall address-list find list=CNIP]' -e $'1i\\\nadd address=10.0.0.0/8 list=CNIP comment=private-network' -e $'1i\\\nadd address=172.16.0.0/12 list=CNIP comment=private-network' -e $'1i\\\nadd address=192.168.0.0/16 list=CNIP comment=private-network'>cnip.rsc

以上脚本在CNIP列表里添加了私有ip地址192.168.0.0/16,172.16.0.0/12和10.0.0.0/8

方法3:下载别人制作好的脚本
http://www.iwik.org/ipcountry/mikrotik/CN

使用import cnip.rsc导入ros。添加内网需要翻墙的ip列表。
配置ip firewall的mangle
prerouting,source address list,destination address list取反,destination address type,address type local,invert,mark routing,cross-gfw。
配置ip routes的网关
0.0.0.0/0,gateway设置为vpn对端地址,routing mark 使用上面的cross-gfw。

现在解决dns问题,由于ros的dns功能比较弱,这里使用dnsmasq
内网一台linux系统,可以是虚拟机,可以是容器,安装dnsmasq。配置dnsmasq的源dns为google dns,然后使用github上的大陆网址白名单生成脚本添加需要使用大陆解析的域名。https://github.com/felixonmars/dnsmasq-china-list
具体方法参考使用dnsmasq基于大陆域名白名单分流解析域名