来问下ROS的OSPF分流如何标记旁路由的流量
本帖最后由 guitengyue 于 2022-6-16 20:15 编辑最近折腾了下ROS下通过OSPF分流至openwrt的方案,感觉对于部分国外ip陷入死循环了,ros——op——ros——op,应该是需要在mangle中标记路由表,不要进入ospf的main表中,但是标记了半天感觉都不行,其实主要就是appstore无法访问,特来询问,搞明白后,整个方案还是想走gfwlist,不然这个整个系统的流量有点受不了
目前我是这样标记的,来自op的流量标记为bypass
op ip:192.168.2.2,op中防火墙加入mas伪装那句话(这个在通过ip分流的方案中测试过,也是这样放行这块流量的)
chain=prerouting action=mark-routing new-routing-mark=bypass passthrough=yes src-address=192.168.2.2log=no log-prefix=""
啊? 你都OSPF了为什么要用mangle,你直接把你代理的远端IP写个静态路由直接出去不就行了 gnattu 发表于 2022-6-16 20:13
啊? 你都OSPF了为什么要用mangle,你直接把你代理的远端IP写个静态路由直接出去不就行了 ...
不懂。。。。
这个要怎么写,给个范例可以么 gnattu 发表于 2022-6-16 20:13
啊? 你都OSPF了为什么要用mangle,你直接把你代理的远端IP写个静态路由直接出去不就行了 ...
我的理解是,ospf不就是一个的路由表么,在main表内的走这些路由,然后指向op的ip,然后通过op处理返回ros的ip,但是现在有的数据有问题,op处理完还是进入上述的main表,然后又进入到上述的路由,然后死循环了 guitengyue 发表于 2022-6-16 20:18
我的理解是,ospf不就是一个的路由表么,在main表内的走这些路由,然后指向op的ip,然后通过op处理返回ro ...
那肯定是进路由表的啊,不然你这个路由器怎么能叫路由器呢
会回到op是因为你的这个包的dst ip命中了某一个非国内ip段 于是触发了路由到op的那个路由
那么最简单的方法是为这个dst ip新增一个静态路由规则,让他直接走默认网关就可以切断循环
怎么添加静态路由:
/ip route add dst-address=x.x.x.x/32 gateway=y.y.y.y gnattu 发表于 2022-6-16 20:32
那肯定是进路由表的啊,不然你这个路由器怎么能叫路由器呢
会回到op是因为你的这个包的dst ip命中了某一 ...
这个我知道
但是这样要切断的静态路由也太多了
所以我的想法是 经过op处理后的数据进行标记,这些标记了的数据不要第二次进入op的路由表 但是这样要切断的静态路由也太多了
会很多吗,只有你的代理的IP地址需要被切断啊
如果你是想要正常访问App Store,那你应该在DNS上做分流而不是在路由表上分流
因为App Store你使用国内IP解析会返回一个国内CDN地址,然后这个国内CDN地址是无法访问非国区的
你如果使用国外IP解析,那就回返回一个国外的CDN地址,该地址是可以正常访问外区的,并且我亲测只分流apps.apple.com下载的时候CDN是正常走国内CDN并且同时能打开外区商店页面的
在这种配置下只需要添加你代理节点的静态路由表 gnattu 发表于 2022-6-16 20:44
会很多吗,只有你的代理的IP地址需要被切断啊
如果你是想要正常访问App Store,那你应该在DNS上做分流而 ...
我本身代理节点的ip就没在表内的,你说的这个应该是我appstore无法访问的原因了,回头研究下dns分流。appstore是问题1,问题2 我还是想整明白这个流量从op回到ros要怎么标记,这个会了,问题1其实也解决了 疯狂回环那是必然。 楼主说最终根本目的吧,到底要实现什么效果?
只要不是为了考试出题,现实世界中的需求应该有简单的解决办法。 tedaz 发表于 2022-6-17 09:01
楼主说最终根本目的吧,到底要实现什么效果?
只要不是为了考试出题,现实世界中的需求应该有简单的解决办 ...
目前op只能设置全局才能上网,然后appstore还有问题
已经找到原因了,就是进入死循环了(appstore的问题是因为dns原因,7#写了吧),解决这个死循环就ok了
最终目的,op想设置成大陆白名单形式或者gfwlist形式,不然全局下流量吃紧,也没必要 guitengyue 发表于 2022-6-16 20:36
这个我知道
但是这样要切断的静态路由也太多了
所以我的想法是 经过op处理后的数据进行标记,这些标记了 ...
ip route rule添加一个源地址(就是op)的规则,然后only look up in 一个新的table,这个table里只有默认路由,没有ospf添加的那些,试试? guitengyue 发表于 2022-6-17 09:28
目前op只能设置全局才能上网,然后appstore还有问题
已经找到原因了,就是进入死循环了(appstore的问题 ...
一直用passwall和passwall2,可以设置lan的整体上网模式(gfwlist,geoip,全局),也可以配置单个客户端的上网模式,照说openclash也应该可以实现类似效果。 liwangli 发表于 2022-6-17 09:45
ip route rule添加一个源地址(就是op)的规则,然后only look up in 一个新的table,这个table里只有默 ...
图1是ospf自动加进来的路由
图2是rule添加了一个新的规则,加完以后,所有进入op地址都出不去了 guitengyue 发表于 2022-6-17 11:01
图1是ospf自动加进来的路由
图2是rule添加了一个新的规则,加完以后,所有进入op地址都出不去了 ...
可能还需要把lan的地址也加到新table里吧,要不从op回来的数据也从def route走出去了 liwangli 发表于 2022-6-17 11:13
可能还需要把lan的地址也加到新table里吧,要不从op回来的数据也从def route走出去了 ...
没理解这句话,这个lan是ros的lan地址?再加一条规则还是什么意思 liwangli 发表于 2022-6-17 11:13
可能还需要把lan的地址也加到新table里吧,要不从op回来的数据也从def route走出去了 ...
我说错了,刚刚那样设置,是所有的网页都打不开,包括国内的地址,但是我远程连的倒是没断,我起初以为国内的线路没问题 guitengyue 发表于 2022-6-17 11:17
没理解这句话,这个lan是ros的lan地址?再加一条规则还是什么意思
就是说要给192.168.1.x?这个路由项加到新table里,要不2.x的数据无法转发给1.x 为啥不考虑用address-list呢?每月用脚本升级一下CNIP,非CNIP由ROS分流到OP不就行了吗?我用这个方案非常稳定好用啊 liwangli 发表于 2022-6-17 14:09
就是说要给192.168.1.x?这个路由项加到新table里,要不2.x的数据无法转发给1.x ...
那这条要怎么加?是再弄个rule的规则吗?
上次那个ip分流也是你帮我解决问题的,ros的ip有两个,192.168.1.1和192.168.2.1,之间有一个路由
sunrace 发表于 2022-6-17 15:17
为啥不考虑用address-list呢?每月用脚本升级一下CNIP,非CNIP由ROS分流到OP不就行了吗?我用这个方案非常 ...
因为有时候感觉有点卡卡的,用了2天了onsf,真的是这个快
guitengyue 发表于 2022-6-17 15:20
那这条要怎么加?是再弄个rule的规则吗?
上次那个ip分流也是你帮我解决问题的,ros的ip有两个,192.168. ...
192.168.1.0的路由加到新的table里吧,试,另外注意另开fasttrack ......你这不是ospf流量导入openwrt后还要分流一次嘛。。。那还搞那么复杂干嘛。。。
直接全导入过去不就好了。。 liwangli 发表于 2022-6-17 15:23
192.168.1.0的路由加到新的table里吧,试,另外注意另开fasttrack
是这样吗?远程回去的,这条不敢加,晚上回家操作
那个fasttrack回头再开
smallfount 发表于 2022-6-17 15:26
......你这不是ospf流量导入openwrt后还要分流一次嘛。。。那还搞那么复杂干嘛。。。
直接全导入过去不就好 ...
因为appstore上不去,因为全局怕流量用光光了,以前ip分流的时候,发现icloud上传走的全是这个线路 guitengyue 发表于 2022-6-17 15:40
是这样吗?远程回去的,这条不敢加,晚上回家操作
那个fasttrack回头再开
...
打错了,是别开fasttrack
对,不要远程搞玩意,本地搞不行还可又用winbox救回来 liwangli 发表于 2022-6-17 15:42
打错了,是别开fasttrack
对,不要远程搞玩意,本地搞不行还可又用winbox救回来 ...
ok,万分感谢,晚上回家测试
guitengyue 发表于 2022-6-17 15:41
因为appstore上不去,因为全局怕流量用光光了,以前ip分流的时候,发现icloud上传走的全是这个线路 ...
但是你的最终目的不还是openWRT做gfw或者out of China 模式嘛。。。
所以你的分流的结果本质上在openwrt上处理不就很简单。。
iCloud的问题不就是几个域名的情况。。直接丢进不代理列表就是了。。 gnattu 发表于 2022-6-16 20:44
会很多吗,只有你的代理的IP地址需要被切断啊
如果你是想要正常访问App Store,那你应该在DNS上做分流而 ...
我感觉ios上面的appstore不是apps.apple.com,因为我网页打开这个链接很快,手机还是打不开 你这App Store不能访问应该是DNS没有做分流的原因,而不是所谓的循环,MASQUERADE之后应该不存在循环,除非你的国外IP列表包含了你的节点IP,这样就的确出不去了。
OSPF一般不用于这个场景,作为分流的话,一般是ROS与国外节点之间的隧道用OSPF,这样才能中断或恢复自动移除或添加路由。本地局域网内的话还要自己写脚本检测节点是否中断,失去了OSPF的意义。