Darcychiu
发表于 2022-6-17 23:34
guitengyue 发表于 2022-6-17 21:30
先这么用吧,对了,能否推荐个dns,我先把appstore上不去这个问题解决掉
把你常用的需要和谐的域名通过RouterOS L7过滤劫持到vps的dns上,其他的走ISP的dns,这样最快,CDN也是最优的
guitengyue
发表于 2022-6-17 23:55
Darcychiu 发表于 2022-6-17 23:34
把你常用的需要和谐的域名通过RouterOS L7过滤劫持到vps的dns上,其他的走ISP的dns,这样最快,CDN也是最 ...
L7没玩过。。。
我刚刚在ubuntu上架设了一个smartdns,然后ros dns指向smartdns,op设置全局,这样appstore问题就解决了,同时速度比之前快了不少
colorjuice
发表于 2022-6-18 15:18
guitengyue 发表于 2022-6-17 19:02
不会啊,进入op,因passwall规则或者不代理列表 会因为op防火墙masq规则变成op的lan ip返回到ros...
可能是我没表述清楚,应该是“因为这个包的DST没变原样回到ROS再次进入路由表。”
看到你用smartdns了,那推荐看看这个项目https://github.com/felixonmars/dnsmasq-china-list做域名分流,chinalist用国内DNS解析,或者gfwlist用国外DNS解析,一个白名单一个黑名单,不建议同时使用。国外DNS要过节点以解析最近服务器。
写个脚本检测passwall节点通达性,中断时移除ospf路由以免断网。据我所知passwall自动切换并不包含DIRECT。
guitengyue
发表于 2022-6-18 22:52
colorjuice 发表于 2022-6-18 15:18
可能是我没表述清楚,应该是“因为这个包的DST没变原样回到ROS再次进入路由表。”
看到你用smartdns了, ...
即便这个包的dst没变 也带上了scr的信息,应该可以被标记,我在另外一个博客那边问了,大神答复也是要在route中rule添加2条规则 等下次有空了再试试,只是现在用了smartdns速度太完美暂时都不想折腾,另外我的节点很稳,几年了都毫无问题,passwall本身也可以做冗余,然后主要也不知道这个脚本咋写…
guitengyue
发表于 2022-6-18 22:54
colorjuice 发表于 2022-6-18 15:18
可能是我没表述清楚,应该是“因为这个包的DST没变原样回到ROS再次进入路由表。”
看到你用smartdns了, ...
那个smartdns我好像啥都没弄,就搞了个ubuntu,安装了官方的smartdns,conf中加入了8.8.8.8和223.5.5.5,看了b站教程说要改那个rosolve啥的 然后ros和passwall的dns都改为ubuntu后上网速度真的起飞了,从来没那么丝滑过…..
llwin
发表于 2022-6-19 00:31
不要用mangle,开了fasttrack会失效。
用策略路由就够了,不用标记包。
把不需要走旁路由的ip段建一张routing table,直接走wan口。其他的都走旁路由。
ros处理几万条的路由表还是很轻松的。
address list需要用mangle,开不了fasttrack,效率不行。
llwin
发表于 2022-6-19 00:53
在旁路由要做nat,否则src-address还是原来的,就死循环了
lanhun
发表于 2022-6-28 02:31
我现在是ros通过ospf分流至openwrt
ros上做了几个设置
1.定时每周更新的cn ip列表
2. mangle 标记需要分流的ip段至非cn的mark routing=proxy
3.ospf设置routingtable=proxy
openwrt
1.用的oc规则模式fakeip无特殊设置
2.bird宣告0.0.0.0都走br-lan
3.防火墙设置 iptables -t nat -I POSTROUTING -o br-lan -j MASQUERADE
guitengyue
发表于 2022-6-28 08:09
lanhun 发表于 2022-6-28 02:31
我现在是ros通过ospf分流至openwrt
ros上做了几个设置
1.定时每周更新的cn ip列表
ospf设置routingtable=proxy
这个怎么设置,我这边op中bird弄完,全部自动映射到ros中的路由表了
lancolor
发表于 2022-6-28 09:18
老哥你这个ROS ospf分流的教程有吗?我也想去试试看
guitengyue
发表于 2022-6-28 10:09
lancolor 发表于 2022-6-28 09:18
老哥你这个ROS ospf分流的教程有吗?我也想去试试看
回头写一份
网上那个要填坑
eval
发表于 2022-6-28 10:13
单OP得了,瞎折腾啊
lanhun
发表于 2022-6-28 16:39
guitengyue 发表于 2022-6-28 08:09
ospf设置routingtable=proxy
这个怎么设置,我这边op中bird弄完,全部自动映射到ros中的路由表了 ...
routeros上设置
/routing ospf instance
add disabled=no name=def router-id=10.255.255.1 routing-table=proxy
/routing ospf area
add disabled=no instance=def name=backbone
/routing table
add disabled=no fib name=proxy
/ip firewall mangle
add action=accept chain=prerouting src-address-list=OpenWrt
add action=mark-routing chain=prerouting dst-address-list=!CN \
new-routing-mark=proxy passthrough=no src-address-list=\
"proxylist"
我dns用的223.5.5.5这些公用的
这样设置完我观察了下,所有国内的ip都走ros,其他的分流到openwrt上了.
我也是找的网上教程改改.目前这样是满足我的要求了. 供你参考 多多交流
guitengyue
发表于 2022-7-1 08:47
lanhun 发表于 2022-6-28 16:39
routeros上设置
/routing ospf instance
目前挺稳定、快速,都是秒开
回头试试看你的方案
Ryo_
发表于 2022-8-18 00:21
本帖最后由 Ryo_ 于 2022-8-18 00:26 编辑
博客最近没更新,其实已经换成BGP来做了,不过区别不大,而且ospf收敛速度还更快
我用BGP主要是不用和组播那些麻烦的东西打交道,防火墙规则可以简单一些(ospf的点对点模式应该也差不多)
现在这个配法没有mangle,也就是可以享受完整的硬件加速
bridge lan删掉ether5,这个口单独连跑BGP(或者ospf)的第二个路由,然后给划上网段配上ip,做通/隔离靠路由
bird的配置和博客里的区别只有换成BGP,原来的ospf去掉,如果嫌BGP收敛慢可以自己调整超时之类的小参
protocol bgp {
local as 65531;
neighbor 192.168.255.1 as 65530;
source address 192.168.255.254;
ipv4 {
import none;
export all;
};
}
去掉了smartdns,直接用clash来跑,然后在线检查的脚本稍微调整了一下,带有重试次数和停止icmp响应(用于触发ros在线检查切换dns的那个脚本)
#!/usr/bin/bash
COUNT=0
MAX_COUNT=3
while [ $COUNT -lt $MAX_COUNT ]
do
SER=0
NET=0
if [ $(curl --connect-timeout 5 --interface utun -w "%{http_code}" -s https://www.google.com/generate_204) -eq 204 ];then
NET=1
fi
if /etc/init.d/bird status|grep Active|grep -q running;then
SER=1
fi
if [ $NET -eq 1 ] && [ $SER -eq 0 ];then
/etc/init.d/bird start
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
exit 0
fi
if [ $NET -eq 0 ] && [ $SER -eq 1 ];then
let COUNT+=1
if [ $COUNT -eq $MAX_COUNT ];then
/etc/init.d/bird stop
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
fi
continue
fi
exit 0
done
clash用这个配置,订阅里的url改成你自己的,利用PROCESS-NAME走直连,需要clash的premium版本
启动之后用yacd之类的接进去确认下global是不是direct,然后在proxy组里选你要的节点
dns:
enable: true
ipv6: false
listen: 0.0.0.0:53
enhanced-mode: redir-host
use-hosts: true
default-nameserver:
- 119.29.29.29
- 223.5.5.5
nameserver:
- 119.29.29.29
- 223.5.5.5
fallback:
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-query
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
- https://8.8.4.4/dns-query
fallback-filter:
geoip: true
ipcidr:
- 240.0.0.0/4
tun:
enable: true
stack: system
auto-detect-interface: true
port: 7890
socks-port: 7891
redir-port: 7893
allow-lan: true
mode: Rule
log-level: silent
external-controller: '0.0.0.0:8080'
proxy-groups:
- name: PROXY
type: select
proxies:
- subscribe
proxy-providers:
subscribe:
type: http
url:
interval: 86400
path: ./proxy/subscribe.yaml
health-check:
enable: false
interval: 600
# lazy: true
url: http://www.gstatic.com/generate_204
rule-providers:
icloud:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
path: ./ruleset/icloud.yaml
interval: 86400
apple:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
path: ./ruleset/apple.yaml
interval: 86400
google:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
path: ./ruleset/google.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
private:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
path: ./ruleset/private.yaml
interval: 86400
telegramcidr:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
path: ./ruleset/telegramcidr.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
lancidr:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
path: ./ruleset/lancidr.yaml
interval: 86400
applications:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt"
path: ./ruleset/applications.yaml
interval: 86400
rules:
- PROCESS-NAME,clash,DIRECT
- RULE-SET,applications,DIRECT
- RULE-SET,private,DIRECT
- RULE-SET,icloud,DIRECT
- RULE-SET,apple,DIRECT
- RULE-SET,google,DIRECT
- RULE-SET,proxy,PROXY
- RULE-SET,direct,DIRECT
- RULE-SET,lancidr,DIRECT
- RULE-SET,cncidr,DIRECT
- RULE-SET,telegramcidr,PROXY
- GEOIP,LAN,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
angelfish
发表于 2022-9-18 19:22
guitengyue 发表于 2022-6-28 10:09
回头写一份
网上那个要填坑
期待下保姆级别的教程!![可爱]
guitengyue
发表于 2022-9-18 20:16
angelfish 发表于 2022-9-18 19:22
期待下保姆级别的教程!!
保姆级教程其实就是楼上的博客有
但是我最终还是回归到了ip标记方式。。。
说实话,ospf的响应真心比ip快那么一点(ip分流,0.1-0.3s级别,ospf可能是0.01-0.05s级别),但是有几个致命问题,我至今还是解决不了
spiral
发表于 2022-9-28 01:40
Ryo_ 发表于 2022-8-18 00:21
博客最近没更新,其实已经换成BGP来做了,不过区别不大,而且ospf收敛速度还更快
我用BGP主要是不用和组播那些 ...
刚开始了解ospf方式,以前经常旁路由挂了后影响家人使用,希望后面我自己能配置出来。
感谢前辈大佬们的探索和分享。
@lanhun @Darcychiu @colorjuice @gnattu
irdeto
发表于 2024-1-21 09:23
guitengyue 发表于 2022-9-18 20:16
保姆级教程其实就是楼上的博客有
但是我最终还是回归到了ip标记方式。。。
说实话,ospf的响应真心比ip快 ...
现在到什么进度了
kelvin2517
发表于 2024-1-21 09:56
colorjuice 发表于 2022-6-17 16:15
那肯定啊,你用OSPF通告给ROS说这个IP要走OpenWrt,然后你在OpenWrt里面的工具/插件再排除掉,那肯定要被 ...
我也推荐这种方式,简单稳定,主路由压力小,而且旁路由挂了也不影响所有设备上网。
1. op旁路由安装shellclash和AdGuardhome
2. clash配置为全局fq,打开fakeip,关掉DNS劫持,比如设置DNS端口为253
3. AdGuardhome端口为53,导入gfwlist,gfwlist中DNS列表的上游设置为clash DNS端口,如127.0.0.1:253。参考https://github.com/kpivy8/gfwlist2AdGuardHome其他DNS还是走主路由或者114之类。
4. ros主路由设置一条静态路由,fakeip地址段198.18.0.0/16,走clash的ip。如果需要用电报之类走ip的,再增加几条静态路由,讲指定ip地址也走clash。
5. ros主路由的DHCP server中将需要科学的设备根据mac地址设置为静态,DNS指定两个,op旁路由ip和ros主路由ip。
Evalyn
发表于 2024-5-12 13:38
没想到在CHH碰到一样玩法的了。
手搓了个全自动的OSPF旁路方案,全真IP,不需要预加载路由表也不用fakeIP,走DNS route自动通告。[偷笑]
https://github.com/povsister/v2ray-core