電訊茶室's Archiver

角色 發表於 2019-2-7 12:09

【官网V2Ray - 技术跟踪】—— v4.15

Source:[url]https://v2ray.com/chapter_00/01_versions.html[/url]
v4.15

今天发现官网V2Ray有出现新的东西,预计是明白发布,但是还没有写全。

是一个outbound protocol,没有inbound,估计inbound是用Dokodemo做inbound,然后outbound用这个DNS,然后转发内部的DNS object去处理。看看过几天有什么新的进展。

角色 發表於 2019-2-8 12:41

在 [url]https://v2ray.com/chapter_02/protocols/dns.html[/url],昨天都是[code]
OutboundObject
[/code].

今天改为跟其他outbound的术语一致[code]
OutboundConfigurationObject
[/code].

那么在 [url]https://v2ray.com/chapter_02/01_overview.html[/url]
的OutboundObject就可以用了[code]
OutboundObject
出站连接用于向远程网站或下一级代理服务器发送数据,可用的协议请见协议列表。

{
  "sendThrough": "0.0.0.0",
  "protocol": "协议名称",
  "settings": {},
  "tag": "标识",
  "streamSettings": {},
  "proxySettings": {
    "tag": "another-outbound-tag"
  },
  "mux": {}
}
[/code]

角色 發表於 2019-2-8 23:07

[i=s] 本帖最後由 角色 於 2019-2-10 20:56 編輯 [/i]

V2Ray/Core里都有讨论这个问题[1,2]:

怎样用?怎样在rule里加一句[1]
[code]
{
  "type": "field",
  "network": "udp",
  "port": 53,
  "protocol": ["dns"],
  "outboundTag": "dns_outbound"
}
/code]

References:
[1] [url]https://github.com/v2ray/v2ray-core/issues/1401[/url]
[2] [url]https://github.com/v2ray/discussion/issues/24[/url]

kingwilliam 發表於 2019-2-12 15:11

v2ray 官網 blog, 細說dns的用法

[url]https://steemit.com/cn/@v2ray/dns[/url]

角色 發表於 2019-2-12 15:35

[i=s] 本帖最後由 角色 於 2019-2-12 16:16 編輯 [/i]

谢谢CHing,上次关于透明代理一事,V2Ray有监听port 53,Linux系统都有自己的DNS, 当时说两只都有强者回答,看看谁能先回答。这个问题还没能切地明白DNS request怎样处理!?

难度因为我们不知道V2Ray的发展史?就是最初没有dokodemo protocol,只有socks and http inbounds。而V2Ray的dns object是服务于socks and https inbounds是的DNS requests用。

而你说systemd-resolved service与V2Ray server listening port 53一样(不过他们是否有先后,如果一齐起是否系统会提示有冲突?)看谁先起来就用谁?

角色 發表於 2019-2-12 16:23

我看过有些用dokodemo,port number用5353,就是要避开systemd-resolved service(port 53)抢!一般device的DNS查询都是port 53,这需要一个device(MikroTik router)把53转成5353去做也可以。

像你那样说,停用systemd-resolved service是一种方法,但是我估计是否可能用iptables方法,把port 53的查询撞到dokodemo port 53?

kingwilliam 發表於 2019-2-12 16:30

[i=s] 本帖最後由 kingwilliam 於 2019-2-12 16:32 編輯 [/i]

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=46209&ptid=7329]5#[/url] [i]角色[/i] [/b]


    先不要理會 v2ray內的dns設定, 同時假設 v2ray 是一個dns 服務, 這樣會好理解點.

因linux系統內原生會有一個systemd-resolved的dns服務是用端口udp53,是給linux 自用的.
但如果啟動v2ray服務, 同時也會用udp53的話, 就會做成兩個服務互搶udp53端口.
如這時有一個客戶問這台linux udp53取dns資料, 因有兩個服務互搶udp53端口, 就要看誰回答快,
客戶就會一時用了v2ray的回應,就可上網, 一時系統systemd-resolved回應, 就出現沒有回應.

解決方法跟之前說的一樣
1. 是v2ray內不用dns服務, 客戶直接用 8.8.8.8 或 1.1.1.1
2. 是啟動v2ray內的dns, 但就停用linux系統內的systemd-resolved.
2a. 須然在(2)說停用linux系統內的systemd-resolved. 但不會對系統做成不能訪問互聯網, 因停了systemd-resolved後, 要給回系統一個dns server 如114.114.114.114.這樣系統就可正常訪問戶聯網, 又可給回udp53.

kingwilliam 發表於 2019-2-12 16:43

[i=s] 本帖最後由 kingwilliam 於 2019-2-12 16:48 編輯 [/i]

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=46210&ptid=7329]6#[/url] [i]角色[/i] [/b]


    用iptables轉發53到5353當然也一個方案. 視每個人的系統設定.

Remarks
我也曾經了解過, 最後還是沒用, 原因就是我不太會用linux, iptables更甚,
另一些原因是 我的ubuntu只安裝v2ray 沒有其他, 所以systemd-resolved服務對我沒用.
所以我選擇了對自己來說簡單一點的方案, 停用systemd-resolved.

角色 發表於 2019-2-12 16:50

[i=s] 本帖最後由 角色 於 2019-2-13 11:21 編輯 [/i]

谢谢CHing的信息,今天我再看V2Ray官网和白话文,我现在可以明白整个故事。

他们(官网和白话文)是这样做的,当packets进入network interface后,先经过firewall(用iptables去configure),然后才进入local process(systemd-resolved,v2ray的list port 53 dokodemo),如果在firewall里已经把packets (包括DNS request port 53)转到V2Ray的port 12345 dokodemo,那么 V2Ray就会通过outboud出去remote server(Freeworld Internet including DNS request)需求答案和浏览网页!!!!

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.