全球主机交流论坛

标题: RouterOS v7 IPV4/IPV6分流玩法(基于域名列表模式) [打印本页]

作者: KDE    时间: 2023-3-12 13:59
标题: RouterOS v7 IPV4/IPV6分流玩法(基于域名列表模式)
本帖最后由 KDE 于 2023-3-12 14:02 编辑

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


作者: chinni    时间: 2023-3-12 15:52
找域名很累 小站可能就一个域名 大站很难找全 推荐 列表里直接 放 国内地址 然后排除 其他都走VPM
作者: diocat    时间: 2023-3-12 15:54
域名还会根据你的ip地址和dns服务器的不同,解析出国外或者国内的ip,不精准的。最好还是接BGP按照AS号来分流
作者: Kvm    时间: 2023-3-12 16:04
  开个vultr收全表
作者: KDE    时间: 2023-3-12 16:13
diocat 发表于 2023-3-12 15:54
域名还会根据你的ip地址和dns服务器的不同,解析出国外或者国内的ip,不精准的。最好还是接BGP按照AS号来分 ...

DNS地址跟随VPM网关走了,地区跟解析出来的地址相匹配。锅内用运营商的DNS就行,CDN也有效。
作者: KDE    时间: 2023-3-12 16:16
Kvm 发表于 2023-3-12 16:04
开个vultr收全表

K总您好!

按照AS号来分流,我觉得还是美中不足,比如google的as,cf的as,有很多都没强。

按照主流用法,没特殊需求的,要么按域名列表,要么!CN.

AS BGP PEER那是大佬搞大型网络的玩法了 对设备性能要求更高了

我就拿台6代CPU 跑esxi 如果按照AS BGP PEER分流 我觉得性能够呛……

作者: Kvm    时间: 2023-3-12 16:21
KDE 发表于 2023-3-12 16:16
K总您好!

按照AS号来分流,我觉得还是美中不足,比如google的as,cf的as,有很多都没强。

在vultr上分好表再把CT CU CMI的表分出来 还有其他的要的分出来后再发回本地
作者: yhl    时间: 2023-3-12 16:25
本帖最后由 yhl 于 2023-3-12 16:26 编辑

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

作者: diocat    时间: 2023-3-12 16:26
KDE 发表于 2023-3-12 16:13
DNS地址跟随VPM网关走了,地区跟解析出来的地址相匹配。锅内用运营商的DNS就行,CDN也有效。 ...

同一个域名,国内外均有解析,手动维护这些东西,未免太繁琐
作者: amao000765    时间: 2023-3-12 16:28
找到ROS组织了?  大佬们能教教怎么做双线分流吗?比如我现在联通和移动接入,怎么让移动的目标IP走移动,其余国内国外全部走联通,还有对移动友好的小鸡走移动。。。我特么血亏,买了个P10的ROS正版。
作者: KDE    时间: 2023-3-12 16:29
本帖最后由 KDE 于 2023-3-12 17:04 编辑
Kvm 发表于 2023-3-12 16:21
在vultr上分好表再把CT CU CMI的表分出来 还有其他的要的分出来后再发回本地 ...


感谢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.
作者: amao000765    时间: 2023-3-12 16:56
amao000765 发表于 2023-3-12 16:28
找到ROS组织了?  大佬们能教教怎么做双线分流吗?比如我现在联通和移动接入,怎么让移动的目标IP走移动, ...

这玩意太复杂  完全搞不明白  现在玩的人也少了 找点教程都难。
作者: KDE    时间: 2023-3-12 16:56
amao000765 发表于 2023-3-12 16:28
找到ROS组织了?  大佬们能教教怎么做双线分流吗?比如我现在联通和移动接入,怎么让移动的目标IP走移动, ...
找到ROS组织了?  大佬们能教教怎么做双线分流吗?比如我现在联通和移动接入,怎么让移动的目标IP走移动,其余国内国外全部走联通,还有对移动友好的小鸡走移动。。。我特么血亏,买了个P10的ROS正版。

首先找到联通、移动的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下面的


作者: KDE    时间: 2023-3-12 17:02
yhl 发表于 2023-3-12 16:25
同ROS V7, ipv4可以分流 ipv6不行, 在mikrotik论坛发帖没人回复, 大佬帮我看看
https://forum.mikrotik.com ...


# 新建表
/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看看走那个网关
作者: amao000765    时间: 2023-3-12 17:03
KDE 发表于 2023-3-12 16:56
首先找到联通、移动的IPV4 IPV6地址

加入表的地方有:

好的  感谢。我试试看。
作者: chinni    时间: 2023-3-12 17:09
目前每个月 重新刷 china route 就行 , 反正流量无所谓
  1. :log info "start download address-list.rsc ..."
  2. /tool fetch http-method=get url=https://raw.githubusercontent.com/zealic/autoros扶墙/master/address-list.rsc
  3. :log info "address-list.rsc downloaded."
  4. /file {
  5.   :local addrFile
  6.   :local fileSize
  7.   :set addrFile [find where name="address-list.rsc"]
  8.   :set fileSize [get $addrFile size]
  9.   :if ($fileSize > 300000) do={
  10.     /import file=address-list.rsc
  11.     :log info "No扶墙 address list updated!"
  12.   }
  13. }
复制代码

作者: testboy    时间: 2023-3-12 17:17
求介绍下域名list怎么获取和转换,谢谢。

作者: KDE    时间: 2023-3-12 17:18
amao000765 发表于 2023-3-12 17:03
好的  感谢。我试试看。

我写了示例 直接在路由加的 这种最简单省事

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

作者: KDE    时间: 2023-3-12 17:20
testboy 发表于 2023-3-12 17:17
求介绍下域名list怎么获取和转换,谢谢。

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    时间: 2023-3-12 17:50
chinni 发表于 2023-3-12 17:09
目前每个月 重新刷 china route 就行 , 反正流量无所谓


一、获取 China IPV4 & IPV6地址

方法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)) }' > ipv4.txt
curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv6 | grep CN | awk -F\| '{ printf("%s/%d\n", $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

我一般自己写的 自定义 可控
作者: chinni    时间: 2023-3-12 18:03
KDE 发表于 2023-3-12 17:50
一、获取 China IPV4 & IPV6地址

方法1

主要反正我也是懒 差不多能用就行 最简单粗暴就可以了
作者: 大爷有社保    时间: 2023-3-12 19:36
有个玩ros的大佬一直在更新路由表 tcp5.com
作者: 234    时间: 2023-3-12 21:14
很厉害,收藏
作者: yhl    时间: 2023-3-12 22:34
KDE 发表于 2023-3-12 17:02
# 新建表
/routing/table add name=test fib

我用的ipv6 nat, 如果不用nat的话 是怎么实现局域网设备ipv6分流的
作者: KDE    时间: 2023-3-12 22:36
yhl 发表于 2023-3-12 22:34
我用的ipv6 nat, 如果不用nat的话 是怎么实现局域网设备ipv6分流的

/ipv6 firewall nat
add action=masquerade chain=srcnat out-interface=出口V6网关

加调规则让RouterOS下面的设备访问V屁嗯

也可以在出口网关加上本地局域网网段指向RouterOS 的V屁嗯网关 就可以不用NAT
作者: 234    时间: 2023-3-12 22:48
yhl 发表于 2023-3-12 22:34
我用的ipv6 nat, 如果不用nat的话 是怎么实现局域网设备ipv6分流的

能给个ipv6 nat的范例么,我不会用这个
作者: openos    时间: 2023-3-12 22:59
先收藏一下
作者: xlouspeng    时间: 2023-3-12 23:12
ROS小老弟报道,目前仅仅ipv4多线分流,ipv6暂未研究




欢迎光临 全球主机交流论坛 (https://loc.wget.at/) Powered by Discuz! X3.4