RouterOS v7 IPV4/IPV6分流玩法(基于域名列表模式)

118次阅读

共计 5452 个字符,预计需要花费 14 分钟才能阅读完成。

RouterOS v7 IPV4/IPV6 分流玩法(基于域名列表模式)

一、必备条件:

1、已经能上网

2、有一台可以是 Linux 也可以是 Windows 旁路全局 V 屁嗯出国

二、基于列表模式

# 新建一个路由表
/routing table
add fib name=VPM

# 标记 VPM
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=VPM new-routing-mark=VPM passthrough=yes

/ipv6 firewall mangle
add action=mark-routing chain=prerouting dst-address-list=VPM new-routing-mark=VPM passthrough=yes

# 把列表时间 ttl 改为 1 天有效期
/ip/firewall/mangle/
add chain=prerouting action=add-dst-to-address-list connection-state=new dst-address-list=VPM address-list=VPM address-list-timeout=1d

/ipv6/firewall/mangle/
add chain=prerouting action=add-dst-to-address-list connection-state=new dst-address-list=VPM address-list=VPM address-list-timeout=1d

# 新建 VPM 路由 优先级 10
/ip route
add comment=VPM routing-table=VPM distance=10 dst-address=0.0.0.0/0 gateway=VPM

/ipv6 route
add comment=VPM routing-table=VPM distance=10 dst-address=::/0 gateway=VPM

# 把 ppp-out1 路由 main 优先级设置为低于 10 比如设置成为 255 模式是自动设置为 1(可选)
v4 部分在 pppoe-out1 账号密码哪里有个 add router default 勾选 把 1 改成 255
v6 部分在 ipv6 dhcp-client 勾选 add router default 在选项卡 Advanced 1 改成 255
也可以不自动设置 手动添加 V4 V6 网关

# 把 CF DNS 指定走旁路全局
/routing rule
add action=lookup-only-in-table dst-address=1.1.1.1/32 table=VPM
add action=lookup-only-in-table dst-address=1.0.0.1/32 table=VPM
add action=lookup-only-in-table dst-address=2606:4700:4700::1111/128 table=VPM
add action=lookup-only-in-table dst-address=2606:4700:4700::1001/128 table=VPM

# 添加列表(把需要分流的域名加入进来)
/ip/dns/static/remove [find type=FWD]
/ip/dns/static/
add type=FWD match-subdomain=yes address-list=VPM forward-to=1.1.1.1 name=000webhost.com
……………..

这样我们访问 000webhost.com 包括 *000webhost.com 的时候就把使用 1.1.1.1 解析 000webhost.com 这个域名 并把解析出来的 IP 地址 存放在 V4 V6 的 Firewall Address-list 且标记为 VPM

最后根据静态路由把标记为 VPM 走不同网关

只能说这么多 说太多 要踩缝纫机了

我知道有错别字,因为有关键词 blocked

网友回复:

注册 域名还会根据你的 ip 地址和 dns 服务器的不同,解析出国外或者国内的 ip,不精准的。最好还是接 BGP 按照 AS 号来分流

KDE 找域名很累 小站可能就一个域名 大站很难找全 推荐 列表里直接 放 国内地址 然后排除 其他都走 VPM

diocat   开个 vultr 收全表

chinni DNS 地址跟随 VPM 网关走了,地区跟解析出来的地址相匹配。锅内用运营商的 DNS 就行,CDN 也有效。

KDE K 总您好!按照 AS 号来分流,我觉得还是美中不足,比如 google 的 as,cf 的 as,有很多都没强。按照主流用法,没特殊需求的,要么按域名列表,要么!CN. AS BGP PEER 那是大佬搞大型网络的玩法了 对设备性能要求更高了 我就拿台 6 代 CPU 跑 esxi 如果按照 AS BGP PEER 分流 我觉得性能够呛……

Kvm 在 vultr 上分好表再把 CT CU CMI 的表分出来 还有其他的要的分出来后再发回本地

KDE 同 ROS V7, ipv4 可以分流 ipv6 不行, 在 mikrotik 论坛发帖没人回复, 大佬帮我看看 https://forum.mikrotik.com/viewtopic.php?p=984711#p984711

KDE 同一个域名,国内外均有解析,手动维护这些东西,未免太繁琐

Kvm 找到 ROS 组织了?大佬们能教教怎么做双线分流吗?比如我现在联通和移动接入,怎么让移动的目标 IP 走移动,其余国内国外全部走联通,还有对移动友好的小鸡走移动。。。我特么血亏,买了个 P10 的 ROS 正版。

注册 感谢 K 总分享方法 另外想请教一下您,我在 RouterOS 给本地添加了一个 IPV6 地 2606:4700:110:88d0:bd95:53e0:26a6:d945/128 结果 azure 小鸡的 IPV6 地址 2603:1040:401::77 在 RouterOS 就不通了 2603:1040:401::77 在 RouterOS 下面的机子又通 百思不得其解 又不同网段一个 2606,一个 2603.

注册 这玩意太复杂  完全搞不明白  现在玩的人也少了 找点教程都难。

KDE 首先找到联通、移动的 IPV4 IPV6 地址 加入表的地方有:1、Firewall address-list 2、Routing rules 3、直接在 route 加 在 route 直接加 /ip route add dst-address=cu 的 ip 地址 gateway=cu 的 pppoe-out 在 Firewall address-list 需要打标,在 route 新建根据打标的走哪条线路 routing rule 这里应用于 RouterOS 和 RouterOS 下面的 Firewall 只应用于 RouterOS 下面的

amao000765 # 新建表 /routing/table add name=test fib # 把 cf 的 v6 地址存 v6 firewall address-list 列表名“ISP_1_Out”/ipv6/firewall/address-list add list=ISP_1_Out address=www.cloudflare.com # v6 firewall address-list 列表名“ISP_1_Out”IPv6 地址打标为“test”/ipv6/firewall/mangle add chain=prerouting dst-address-list=ISP_1_Out action=mark-routing new-routing-mark=test passthrough=yes # 把打标“test”走“PPPoE_ISP_1”/ipv6/route add dst-address=::/0 gateway=PPPoE_ISP_1 distance=1 routing-table=test # 其他的全部走 PPPoE_ISP_2 /ipv6/route add dst-address=::/0 gateway=PPPoE_ISP_2 distance=2 routing-table=main 我看了写的没问题啊 firewall 应用于 RouterOS 下面,你在下面 mtr 看看走那个网关

KDE 好的  感谢。我试试看。

KDE 目前每个月 重新刷 china route 就行 , 反正流量无所谓 :log info “start download address-list.rsc …” /tool fetch http-method=get url=https://raw.githubusercontent.com/zealic/autoros 扶墙 /master/address-list.rsc :log info “address-list.rsc downloaded.” /file {:local addrFile   :local fileSize   :set addrFile [find where name=”address-list.rsc”]   :set fileSize [get $addrFile size]   :if ($fileSize > 300000) do={/import file=address-list.rsc     :log info “No 扶墙 address list updated!”} } 复制代码

amao000765 求介绍下域名 list 怎么获取和转换,谢谢。

chinni 我写了示例 直接在路由加的 这种最简单省事 CUIPV4 27.22.58.214 CUIPV6 240e:946:6002:212:3::3e8 CUGW4 pppoe-out-cu CUGW6 pppoe-out-cu /ip route add dst-address=27.22.58.214/24 gateway=pppoe-out-cu /ipv6 route add dst-address=240e:946:6002:212:3::3e8/64 gateway=pppoe-out-cu

testboy dnsmasq2 高墙 list 获取域名列表 还可以自定义 add del 每行一个域名 再根据获取到的 list 生成 rsc 的 dns 分流格式 echo “/ip/dns/static/remove [find type=FWD]” >> address-list.rsc echo “/ip/dns/static/” >> address-list.rsc sed “s/^/add type=FWD match-subdomain=yes address-list= 扶墙 forward-to=1.1.1.1 name=&/g” address-list.txt >> address-list.rsc

KDE 一、获取 China IPV4 & IPV6 地址 方法 1 curl ‘http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest’ | grep ipv4 | grep CN | awk -F| ‘{printf(“%s/%dn”, $4, 32-log($5)/log(2)) }’ > ipv4.txt curl ‘http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest’ | grep ipv6 | grep CN | awk -F| ‘{printf(“%s/%dn”, $4, 32-log($5)/log(2)) }’ > ipv6.txt 方法 2 curl -LO http://ftp.apnic.net/stats/apnic/delegated-apnic-latest cat delegated-apnic-latest | awk -F ‘|’ ‘/CN/&&/ipv4/ {print $4 “/” 32-log($5)/log(2)}’ | cat > ipv4.txt cat delegated-apnic-latest | awk -F ‘|’ ‘/CN/&&/ipv6/ {print $4 “/” 32-log($5)/log(2)}’ | cat > ipv6.txt 二、根据获取的 IP 地址生成 RSC V6 firewall address-list !CN IP 模式 echo “/ipv6 firewall address-list remove [/ip firewall address-list find list=CN]” > IPV6_CN.rsc echo “/ipv6 firewall address-list” >> IPV6_CN.rsc # 在 ipv6.txt 行首添加 add list=CN address=,并合并到 IPV6_CN.rsc sed “s/^/add list=CN address=&/g” ipv6.txt >> IPV6_CN.rsc 我一般自己写的 自定义 可控

注册 主要反正我也是懒 差不多能用就行 最简单粗暴就可以了

注册 有个玩 ros 的大佬一直在更新路由表 tcp5.com

chinni 很厉害,收藏

大爷有社保 我用的 ipv6 nat, 如果不用 nat 的话 是怎么实现局域网设备 ipv6 分流的

234 /ipv6 firewall nat add action=masquerade chain=srcnat out-interface= 出口 V6 网关 加调规则让 RouterOS 下面的设备访问 V 屁嗯 也可以在出口网关加上本地局域网网段指向 RouterOS 的 V 屁嗯网关 就可以不用 NAT

yhl 能给个 ipv6 nat 的范例么,我不会用这个

KDE 先收藏一下

234 ROS 小老弟报道,目前仅仅 ipv4 多线分流,ipv6 暂未研究

正文完
 0