Xray-examples
Xray-examples copied to clipboard
请教关于route模块的工作逻辑
假设outbaounds第一条是proxy出口,那么默认路径就是这个了;如果route中只有关于域名的规则,由于所有的通讯最终都是要通过TCP/IP层发送数据的,由于没有找到关于IP的规则,那么是不是所有流量都会走到Proxy路径上去呢?比如说配置了geosite:geolocation-!cn走proxy这一条rule;那么当客户端访问baidu.com的时候,虽然可能先通过proxy去做了DNS解析,但是拿到解析返回的IP后真正建立TCP的链接的时候由于没有基于该IP的rule,是否会自动走到proxy上去? Xray是工作在TCP/IP协议的哪一层呢,如果是代理模式貌似还可以理解为工作在应用层,但是透明代理模式由于是通过修改iptables实现的端口转发,那么好像应该在更低层吧,如果在底层如果不控制IP的route是不是就无法有效分流了
上面那个配置的rule应该是geosite:cn走direct
实践上的配置更让我迷惑,我有一个透明代理配置的以下信息: { "type": "field", "domain": ["geosite:cn", "domain:synology.me" ], "outboundTag": "direct" }, { "type": "field", "domain": ["geosite:geolocation-!cn", "geosite:netflix" ], "outboundTag": "proxy" },
{
"type": "field",
"ip": [
// ...... DNS .................. DNS ................................. DNS ............
"223.5.5.5",
"114.114.114.114"
],
"outboundTag": "direct"
},
{
"type": "field",
"ip": [
// ...... DNS .................. DNS .................................... DNS ............
"8.8.8.8",
"1.1.1.1"
],
"outboundTag": "proxy" // .............................. tag
},
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"protocol":["bittorrent"],
"outboundTag": "direct"
}
]
这里面没有关于非中国IP的配置路径,那么netflix的流量按说应该走默认路由Proxy出去,但是实际上却是走的direct; 如果本机运行以下配置的socks模式则可以正常通过proxy访问netflix [
{
"type": "field",
"domain": ["geosite:cn",
"domain:synology.me"
],
"outboundTag": "direct"
},
{
"type": "field",
"ip": [
// 设置 DNS 配置中的国内 DNS 服务器地址直连,以达到 DNS 分流目的
"223.5.5.5",
"114.114.114.114"
],
"outboundTag": "direct"
},
{
"type": "field",
"ip": [
// 设置 DNS 配置中的国外 DNS 服务器地址走代理,以达到 DNS 分流目的
"8.8.8.8",
"1.1.1.1"
],
"outboundTag": "proxy" // 改为你自己代理的出站 tag
},
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"protocol":["bittorrent"],
"outboundTag": "direct"
}
]
虽然这两个配置文件细节上不尽相同,但是都没有配置关于非中国ip的route rule;为何在透明代理和socks模式下的行为逻辑不同呢
xray不支持转发ip层数据