准备工作:自行搭建好一个Reality翻墙节点,流控(flow)选择常用的xtls-rprx-vision。如果采用xui搭建,流量探测sniffing选项选择关闭。
1.开启安装了大鹅的Debian虚拟机并使用xshell之类的工具登录。
2.如果你的大鹅已经配置了ws+tls节点,也就是已经具有翻墙能力了,或者网关本身就能科学上网,那么直接使用官方一键脚本安装xray(一键脚本获取地址:https://github.com/XTLS/Xray-install)
3.如果你的网关不能翻墙,而且大鹅本身也并未配置ws+tls节点不能翻墙。那么请参考前面介绍的“网关不能翻墙情况下安装大鹅”方案二和方案三在debian中安装xray。方案三原文已经说的很明白了,这里不细说了。 如果采用方案二,请先复制一键安装脚本内容(https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh), 粘贴到记事本中,然后将脚本中的 PROXY='' 这行代码(位于第95行的样子)填上共享代理。假设你本机ip是192.168.2.8,v2rayN局域网共享代理http端口是18011, 那么就修改为PROXY='http://10.10.10.1:10811' 然后在debian中用 nano建立一个脚本文件(假设叫xrayinstall.sh,那么命令就是 nano xrayinstall.sh),再将记事本中改好的内容复制粘贴到 nano编辑窗口,保存退出后,使用 bash xrayinstall.sh 执行脚本安装xray。
从安装成功后提示的英文内容,可以知道xray的配置文件的完整路径是/usr/local/etc/xray/config.json
4.使用 nano /usr/local/etc/xray/config.json打开xray配置文件,将原来的内容删除。然后将如下内容中复制粘贴至记事本,将红色字体部分修改成搭建Reality翻墙节点相应内容后,再复制粘贴至config.json的nano编辑窗口,保存退出。
{ "inbounds": [ { "listen": "127.0.0.1", "port": 10808, "protocol": "socks" }, { "listen": "127.0.0.1", "port": 10809, "protocol": "http" } ], "outbounds": [ { "protocol": "vless", "settings": { "vnext": [ { "address": "自建的Reality翻墙节点IP", "port": Reality翻墙节点所使用的端口, "users": [ { "id": "Reality翻墙节点配置的UUID", "encryption": "none", "flow": "xtls-rprx-vision" } ] } ] }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "fingerprint": "Reality翻墙节点使用的浏览器(指纹)类型", "serverName": "Reality翻墙节点借用的域名", "publicKey": "Reality翻墙节点搭建时生成的公钥", "shortId": "Reality翻墙节点搭建时生成的short id" } } } ] }
5.使用 nano /usr/local/etc/dae/config.dae 修改大鹅配置文件。这里分两种情况。情况一:大鹅已经配置了ws+tls代理并想保留。情况二:大鹅没有配置过ws+tls代理或者并不想保留ws+tls代理。这里假设debian虚拟机网卡名称为ens33,如果不是请根据实际情况修改。
情况一需要在以前文章中谈到的配置模板中做如下改动:
a)移动光标至ws+tls节点所在行,使用end键移动到最后并回车新增一行。在该行中添加如下内容(前面的REALPROXY只是一个名称标记,你也可以换成你自己喜欢的名称) REALPROXY: 'socks5://localhost:10808' b)将policy: fixed(0)改为policy: fixed(1),使用序号0代表大鹅使用第一个ws+tls节点,使用序号1代表大鹅使用第二个reality节点(因为在第4步中已经配置了可以通过socks 10808端口使用reality客户端)。将来如果想在两个节点间切换,将序号数字更改一下即可,更改后记得需要重启大鹅服务(systemctl restart dae.service ) c)最后添加pname(xray) -> must_direct语句,让xray程序以直连形式访问网络不需经过大鹅。
完整的内容如下(红色部分是改动内容,如需要复制粘贴拿去使用,请注意将文字 ws+tls节点信息 更改为自己所使用的真实分享链接):
global { lan_interface: ens33 wan_interface: auto log_level: info auto_config_kernel_parameter: true dial_mode: domain allow_insecure: false so_mark_from_dae: 1234 tls_implementation: utls utls_imitate: chrome_auto }
subscription { }
node { WSTLS: 'ws+tls节点信息' REALPROXY: 'socks5://localhost:10808' }
group { elden_proxy { policy: fixed(1) } }
dns { upstream { googledns: 'tcp://dns.google.com:53' alidns: 'udp://dns.alidns.com:53' } routing { request { qname(geosite:cn) -> alidns fallback: googledns } response { upstream(googledns) -> accept fallback: accept } } }
routing { pname(NetworkManager) -> direct dip(224.0.0.0/3, 'ff00::/8') -> direct dip(geoip:private) -> direct ip(geoip:cn) -> direct domain(geosite:cn) -> direct domain(geosite:category-ads) -> block pname(xray) -> must_direct fallback: elden_proxy }
如果是情况二:
将上述配置中的 WSTLS: 'ws+tls节点信息' 这一行删除(nano中快捷键为ctrl+k),然后将policy: fixed(1)改为policy: fixed(0)
完整的配置如下:
global { lan_interface: ens33 wan_interface: auto log_level: info auto_config_kernel_parameter: true dial_mode: domain allow_insecure: false so_mark_from_dae: 1234 tls_implementation: utls utls_imitate: chrome_auto }
subscription { }
node { REALPROXY: 'socks5://localhost:10808' }
group { elden_proxy { policy: fixed(0) } }
dns { upstream { googledns: 'tcp://dns.google.com:53' alidns: 'udp://dns.alidns.com:53' } routing { request { qname(geosite:cn) -> alidns fallback: googledns } response { upstream(googledns) -> accept fallback: accept } } }
routing { pname(NetworkManager) -> direct dip(224.0.0.0/3, 'ff00::/8') -> direct dip(geoip:private) -> direct ip(geoip:cn) -> direct domain(geosite:cn) -> direct domain(geosite:category-ads) -> block pname(xray) -> must_direct fallback: elden_proxy }
6. 将xray服务,dae服务重启,并验证
systemctl restart xray.service 重启xray服务 systemctl status xray.service 观看xray服务是否正常运行(没有报错且有绿色的Active: active (running) ) systemctl restart dae.service xray服务正常的话,重启大鹅服务 systemctl status dae.service 查看大鹅服务是否正常(没有报错且有绿色的Active: active (running) )
使用 curl www.google.com 验证能否成功翻墙 ,能翻墙的话,再使用 curl ip.sb 看看返回的ip是否是搭建reality翻墙节点所使用的vps的ip。如果都ok,那就没问题。最后可以使用命令systemctl enable xray.service 将xray服务设置为开机启动。 |