Replies: 18 comments
-
如果我没有理解错的话, 你的需求,是: 其实方法有3个: 二 脱裤子放屁的做法: 在 dns object有个host的object |
Beta Was this translation helpful? Give feedback.
-
@WordsWorthLess 楼上的大佬,你应该理解错我的意思了,我只是纯粹用 xray 的 DNS 模块功能,而不代理流量,大概意思就是,把 xray 的 dns 设置为系统的 DNS,也就是设置 系统 DNS 为 127.0.0.1,然后当我要访问一个网站的时候,域名解析工作就会通过 xray 来负责解析域名,这个时候,xray 先做一次常规的 DNS 解析,比如通过 DOH 解析域名,然后判断域名解析结果的 IP 如果是 CF 的 IP,就统一返回解析结果为我设置的 1.1.1.1 。 为什么我会需要这样的需求呢?因为通过 CF CDN 的网站,域名解析结果都是 CF 的官方 IP(随机IP),但是我这儿 CF 的大部分官方 IP 网络不通,只有少部分 IP 能通(包括 1.1.1.1),所以如果我能把所有使用了 CF CDN 的域名都解析为固定的 1.1.1.1,就能直接访问,不用走代理了。 |
Beta Was this translation helpful? Give feedback.
-
cf partner 就好了 |
Beta Was this translation helpful? Give feedback.
-
@xqdoo00o 大佬,我说的不是我自己托管的域名,是全球所有使用了 CF CDN 的网站。 |
Beta Was this translation helpful? Give feedback.
-
用路由加Freedom的redirect不知道行不行,这个geoip.dat有cloudflare的IP https://github.com/Loyalsoldier/geoip "routing": {
"domainStrategy": "IPOnDemand",
"rules": [
{
"type": "field",
"ip": ["geoip:cloudflare"],
"outboundTag": "cloudflare"
}
]
} "outbounds": [
{
"protocol": "freedom",
"tag": "cloudflare",
"settings": {
"domainStrategy": "UseIP",
"redirect": "1.1.1.1:0"
}
}
] |
Beta Was this translation helpful? Give feedback.
-
用ipset + iptables DNAT 可以尝试下 |
Beta Was this translation helpful? Give feedback.
-
@1850129573 大佬,用你这个方案的话,所有 CF 的网站流量,全部都要经由 xray 转发,我的理想方案是,直接通过 DNS 解析出 1.1.1.1 的固定 IP,然后由我本地电脑直连网站。 |
Beta Was this translation helpful? Give feedback.
-
Dnsmasq的alias很适合这种情况,只可惜没有Windows版 |
Beta Was this translation helpful? Give feedback.
-
服务器应该是linux吧,如果是机场那没办法。 |
Beta Was this translation helpful? Give feedback.
-
@1850129573 大佬,Dnsmasq 的 alias,应该怎么配置?能给个配置示例发出来看看麽? |
Beta Was this translation helpful? Give feedback.
-
DNS 可以远程解析,也就是在服务器解析dns,要是机场当我没说。 |
Beta Was this translation helpful? Give feedback.
-
@xqdoo00o 大佬,就是个人使用,不是机场,我知道可以远程解析,不过感觉 ipset + iptables DNAT 配置起来有点复杂,你能说说配置流程嘛?我想了一下,还没想通用 ipset + iptables DNAT 怎么能实现我这个需求? |
Beta Was this translation helpful? Give feedback.
-
用dnsmasq alias更简单,用dnsmasq吧 |
Beta Was this translation helpful? Give feedback.
-
@xqdoo00o 大佬,你发给我的这个配置,你亲自验证过可以实现这个功能嘛?我这边测试加入了这个配置,运行 dnsmasq 会报错,提示 alias 配置错误,无法运行程序,而且我通过 man dnsmasq 看过 dnsmasq 帮助文档了,好像确实不是这样配置的,通过查看 man 文档,我发现 dnsmasq 的 alias 好像也实现不了我的需求,我是要把一个段的所有 IP 映射到一个固定 IP,而 alias 实现的功能是一个段的 IP 一一映射,比如 192.168.1.1 -> 1.1.1.1,192.168.1.2 -> 1.1.1.2,192.168.1.3 -> 1.1.1.3,以此类推,也就是新IP的最后一段,和旧IP的最后一段是一样的,被改变的只有 IP 地址前3段,而不是多对一的映射。 @xqdoo00o 不过 alias 和我要实现的需求以及很相似了,如果改下源代码,应该能够很轻松的实现我这个需求了,不过本人对代码一窍不通,不知道怎么改,不知道有没有哪个大佬,会改 dnsmasq 源代码,实现这个功能。 |
Beta Was this translation helpful? Give feedback.
-
那你还是ipset+iptables DNAT吧。 |
Beta Was this translation helpful? Give feedback.
-
@xqdoo00o 估计只能这样了,但是这个只能在 linux 上面用,局限性还是蛮大滴,不过还是谢谢了。 |
Beta Was this translation helpful? Give feedback.
-
Maybe you can use the built-in routing rules of v2ray / Xray. The route matches the IP and all exits are forwarded to 1.1.1.1. |
Beta Was this translation helpful? Give feedback.
-
@An-nima 感觉大佬的建议,用 v2ray 中转流量,感觉还有点麻烦,我直接通过 iptables 实现这个功能了。 |
Beta Was this translation helpful? Give feedback.
-
我想实现的功能,就是把所有使用了 cloudflare cdn 加速的域名,通过 xray 内部 DNS 解析的时候,DNS 响应结果全部固定返回为 1.1.1.1。原理大概是这样,先通过常规方式解析域名,然后判断解析结果中的 IP 地址,如果是 cloudflare 官方的 IP 地址段,就返回解析结果为 1.1.1.1。为什么需要这样的功能呢?因为我这边的宽带,针对 cloudflare 的地址段,有些能正常访问,有些又被阻断,在 cloudflare cdn 返回 IP 地址随机的情况下,就会造成有些网站能访问,有些不能,但是如果能全部返回一个固定的 cloudflare IP 的情况下(比如:1.1.1.1)那么就可以全部正常访问了。现在就想问下各位大佬 xray 的内置 DNS 能不能实现这个功能?如果不能,能否增加这个功能?如果不能增加这个功能,各位大佬能否告诉我下,有没有其他什么 DNS 软件,能实现这个功能的?
Beta Was this translation helpful? Give feedback.
All reactions