标签 routeros 下的文章

家用万兆网络的降级和升级(201807)

去年分享了我家的万兆网络拓扑 https://www.willnet.net/index.php/archives/88/
今年有降级有升级,如图
拓扑图
1.主要的降级是核心交换机从 netgear 的 m4300-24x 降级为 xs716t,降级原因功耗太高,并且噪音稍高,降级后功耗减少一半,噪音基本听不到了
2.其次降级的是路由器,由之前多个独立路由器切换到 esxi 上的 routeros,功耗降低,方便统一管理,esxi 上自建 dns,自建 ikev2,自建 ss,esxi 是研凌的 7200u+32g 内存,安装 esxi6.7
3.升级的是接入交换机,gs108tv2 更换成两个 gs110emx,两个 10g 电口,带 vlan 和链路聚合,功能满足需求
4.其次升级是无线,原来全套 cisco 更换成 unifi 的,两个 uap-ac-shd,一个 key 控制器
5.还有升级是联通家用 500m 更换成联通光快线,1 个固定公网 ip
6.其他变化还有,联通电视盒子撤了,经常影音不同步;加了一个 dnet 的专机;小米盒子国际版换成了 appletv ; nas 由 716+换成 ds3018xs+intel 的 x550 万兆网卡,局域网上传下载在 700m 左右; gen8 吃灰有几个月了;雷电 3 万兆网卡换成了 akitio 的 thunder3 network adapter,passive cooling,静音。

总体是朝着静音&全万兆升级。 ps:都是 rj45 电口,网线是超五类。

pps:xs716t 自带风扇有高频噪音,已更换猫扇A4x20 PWM,温度升高10度,但是噪音几乎没有了,日常功率约45w-50w,比m4300的90w降低近一半。
2018年9月更新,更换猫扇的xs716t截图
更换猫扇的xs716t截图

青云主机安装routeros,附一键安装routeros脚本

20201111更新:routeros chr版本,mount命令offset。

在阿里云安装过routeros,用相同脚本在青云就遇到了坑。
阿里云ecs没有cpu选项,而青云有,创建主机的时候cup高级选项,CPU 体系架构,默认值启动routeros后会cpu100%,选择haswell架构就没有问题,broadwell也不行,再往下的架构没有测试。
附一键安装routeros脚本

wget https://download.mikrotik.com/routeros/6.47.7/chr-6.47.7.img.zip -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img && \
mount -o loop,offset=512 chr.img /mnt && \
ADDRESS0=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY0=`ip route list | grep default | cut -d' ' -f 3` && \
echo "/ip address add address=$ADDRESS0 interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY0
" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/vda && \
reboot

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基于大陆域名白名单分流解析域名