Closed chris7395328 closed 9 months ago
https://pymumu.github.io/smartdns/config/forwarding-with-ipset/
看这里,不需要第二dns
意思是直接用smartdns内部的ip域名分流来定那些ip去用代理服务器的dns 么,然后openclash那边就不设置smartdns作为上游dns了,恢复回它原本的dns设置么
我是不是可以这样理解,我在5335端口设置的第二dns上游服务器本来就只有谷歌的,这个请求本身就会被翻墙插件识别为走代理,那么我不设置-proxy其实也是可以的,这个请求还是通过远程服务器请求的
有一个变通的方法,是将cf的域名填到smartdns的上游中并且单独指定一个组且从默认组中排除。这时cf这个域名由smartdns的bootstrap配置项负责解析并缓存,其他软件就可以通过smartdns拿到这个解析结果,且smartdns不会真正的使用这个cf域名作为上游。
也可能我没完全理解,总觉得楼主的设置有些绕圈
openwrt的话可以直接在界面配置。
# 分组域名查询使用的DNS服务器,服务器通过socks代理请求。
server 8.8.8.8 -proxy socks -group oversea -exclude-default-group
proxy-server socks5://192.168.1.1:1080 -name socks
# 分组域名列表,以及对应规则设置。
domain-set -name domain-list -file /path/to/domain.list
domain-rules /domain-set:domain-list/ -c none -address #6 -nameserver oversea
上述IP地址换成实际的, /path/to/domain.list配置要分流的域名。 其他配置按照国内配置即可。 第二DNS不是必须,不清楚用法,建议就不用。
仔细看我给你那个页面的说明吧。
openwrt的话可以直接在界面配置。
# 分组域名查询使用的DNS服务器,服务器通过socks代理请求。 server 8.8.8.8 -proxy socks -group oversea -exclude-default-group proxy-server socks5://192.168.1.1:1080 -name socks # 分组域名列表,以及对应规则设置。 domain-set -name domain-list -file /path/to/domain.list domain-rules /domain-set:domain-list/ -c none -address #6 -nameserver oversea
上述IP地址换成实际的, /path/to/domain.list配置要分流的域名。 其他配置按照国内配置即可。 第二DNS不是必须,不清楚用法,建议就不用。
仔细看我给你那个页面的说明吧。
谢谢,我大概理解了。这个分组域名就是直接把需要代理的域名写进列表,代理插件关闭dns功能只做ip代理,我看了下好像passwall是有直接把列表导进smartdns的功能比较方便,openclash好像没有,有什么方法可以把oplash的分流规则导进smartclash么
这个是我目前的设置
bind :6153 -group cn
bind :5335 -group fq_dns -no-speed-check -no-cache -force-aaaa-soa
proxy-server socks5://Clash:xxx@127.0.0.1:7891 -name socks5
# proxy-server socks5://127.0.0.1:1080 -name socks5
domain-rules /我的优选域名/ -c none -address #6 -nameserver cn
server 223.5.5.6 -group cn
server 119.29.29.29 -group cn
server 114.114.114.114 -group cn -check-edns
server-tls 1dot1dot1dot1.cloudflare-dns.com -group fq_dns -exclude-default-group -proxy socks5
把我的代理优选域名写进了域名规则,用直连dns来解析,目前已经实现了最初的需求,不过就是如你所说的用了第二dns服务器,还是有些绕,另外一个问题是,因为clash用了smart做解析所以得到的都是ip,就用不了clash本身配置的域名分流了,只能匹配到ip规则,这个有什么好的解决方法么
我的应用场景是这样的,openwrt开启ipv6,使用openclash代理,然后我需要双栈ip优选和屏蔽代理网站的ipv6功能,因此我用了smartdns的分流功能,dns劫持为smartdns默认端口,另外开一个专门的端口5335,上游设置为cf的dns,加上-proxy,指向openclash的sock5,我的理解是这样就是通过代理去请求dns,然后openclash填写唯一dns上游是smartdns的5335,
然后因为5335这个上游dns是通过sock5代理的,我的节点是填域名(cf优选),所以openclash没办法通过5335这个唯一dns)得到我节点的ip,因为这个dns是通过我节点去请求的,所以就等于我没法使用代理了,我只能把5335的上有服务器取消代理才行,但是这样我就不能远程请求dns了。
请问这种情况我的最优选择是怎么做?需求就是想用smart的分流,又想通过现有的节点去实现外网请求远程dns