
班门弄斧分享下几天下来的折腾成果,欢迎提出改进意见:
routeros 只支持设置 53 端口 DNS 服务器,不能直接添加 mosdns 作为上游,借助 nat 规则变通一下:
[admin@MikroTik] /ip/firewall/nat> print Flags: X - disabled, I - invalid; D - dynamic 0 chain=srcnat action=masquerade src-address-list=lan out-interface=pppoe-out1 log=no log-prefix="" 1 chain=srcnat action=masquerade src-address-list=wireguard out-interface=pppoe-out1 log=no log-prefix="" 2 chain=dstnat action=dst-nat to-addresses=10.89.2.230 to-ports=5335 protocol=udp src-address=!10.89.2.230 dst-port=53 log=yes log-prefix="mosdns-query:" 3 chain=dstnat action=dst-nat to-addresses=10.89.2.230 to-ports=5335 protocol=tcp src-address=!10.89.2.230 dst-port=53 log=yes log-prefix="mosdns-query:" 4 chain=srcnat action=masquerade protocol=udp src-address=10.89.2.0/24 dst-address=10.89.2.230 dst-port=5335 log=no log-prefix="mosdns-reply:" 5 chain=srcnat action=masquerade protocol=tcp src-address=10.89.2.0/24 dst-address=10.89.2.230 dst-port=5335 log=no log-prefix="mosdns-reply:" 6 chain=srcnat action=masquerade protocol=udp src-address=192.168.20.0/24 dst-address=10.89.2.230 dst-port=5335 log=yes log-prefix="mosdns-reply:" 7 chain=srcnat action=masquerade protocol=tcp src-address=192.168.20.0/24 dst-address=10.89.2.230 dst-port=5335 log=yes log-prefix="mosdns-reply:" 上述规则将来自 lan ( 10.89.2.0/24 ) 和 wireguard ( 192.168.20.0/24 )的 DNS 查询全部劫持到了 10.89.2.230:5335 ,即 mosdns 实际地址和监听端口,参考自 Redirect outgoing DNS requets to internal DNS server 。
目前已按照该思路配置完成,运行起来倒是没问题,不过在性能和安全方面有无明显缺陷和提升空间?恳请 v 友指点一二~
1 hefish 2024-05-14 23:11:37 +08:00 真复杂,我就本机挂 clashverge ,感觉速度还挺快的。 |
2 Naples 2024-05-14 23:17:20 +08:00 N1 上部署 bird2 ,对 routeros 通过 bgp 或 ospf 宣告 CN 或者非 CN list 路由,这样就无需进行 mangle 、routing-mark 等操作了 |
3 xiaofami OP @Naples 按照指点找到一篇教程: [使用 RouterOS ,OSPF 和树莓派为国内外 IP 智能分流]( https://idndx.com/use-routeros-ospf-and-raspberry-pi-to-create-split-routing-for-different-ip-ranges/) ,准备试一试 |
4 laincat 2024-05-15 00:30:38 +08:00 挺好的分享,可以参考 |
5 swordsmile 2024-05-15 09:54:30 +08:00 @hefish clash verge 停止更新了吧 |
6 keyfunc 2024-05-15 11:09:37 +08:00 我目前用这个方案,mangle fakeip 的网段到 clash 所在主机,clash 开 tun 。 mosdns 设置黑名单域名转发的 clash 的 dns 获取 fakeip ,也挺好用的。 |
7 bigfei 2024-05-15 16:02:09 +08:00 via Android routeros 自带 docker ,以上可以全部运行在一台 ros 上,省资源,降本增效 |
8 BanShe 2024-05-15 17:00:21 +08:00 记录一下 |
9 hefish 2024-05-15 17:30:25 +08:00 @swordsmile 也还能用的,没说不让用啊。 |
10 Cruzz 2024-05-15 18:52:29 +08:00 直接 clash fakeip 。mosdns proxy 指定到 clash 的 dns 返回 fakeip 地址,routeros 只转发 fakeip 网段就行了 |
11 littlewing 2024-05-15 19:45:22 +08:00 多谢,我一直想做到在 openclash 挂了之后,国内流量仍然正常的方案,这个看来可行 |
12 likeflower 2024-11-15 10:27:08 +08:00 @Naples 请教下,用 bgp 这种方式,由于 CN 路由是白名单,走默认出口,下一跳怎样设置? |