找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 976|回复: 2

[openwrt(x86)] 手把手安装内核级透明代理dae-wing安装心得

[复制链接]
发表于 2024-8-20 09:53 | 显示全部楼层 |阅读模式
本帖最后由 call58 于 2024-8-20 14:17 编辑

关于dae-wing是干什么的?
DAE(鹅)又是一个用 Go 语言开发代理程序,不过它是透明代理,可以理解成全局代理,所有流量都会经过该软件。


DAE的特色是使用上了eBPF技术。为了尽可能地提高流量拆分性能,dae 在 Linux 内核中使用了透明代理和流量拆分套件,并使用 eBPF。
eBPF 是 extended Berkeley Packet Filter 的缩写,它是一种内核技术,允许开发人员在不修改内核代码的情况下运行特定的功能。eBPF 的概念源自于 Berkeley Packet Filter(BPF),后者是由贝尔实验室开发的一种网络过滤器,可以捕获和过滤网络数据包。
其实用最简单的话来说就是内核插件技术。




这张图是DAE对比目前其他流行代理程序的吞吐量。在代理环境中其实没有什么区别。主要区别其实是在直连的吞吐量上,领先了其他程序有20倍左右,非常夸张。
今天用上了DAE这个玩意,不得不说这玩意的性能确实够得劲,以前openwrt一分钟内的负载1-2 左右,换了之后负载直接掉到0.5以下了, 基本在0.1-0.3左右。
分流功能也有,比较可惜的是面板功能不够多。



开发者:https://github.com/daeuniverse/

这是基于 eBPF 实现的网卡级代理工具速图形界面dae-wing


一、安装ubuntu系统
我选择的ubuntu 22.04.4,选择这个版本,是为接下来编译dae-wing减少出错,此版本一经路绿灯,非常顺畅。(不要选择高版本,安装会出错)
ubuntu 22.04.4 (live-server-amd64) ,下载地址:https://mirrors.aliyun.com/ubunt ... ve-server-amd64.iso
安装详细方法,见https://www.piis.cn/jiaocheng/2143.html,选择最小安装,占用空间非常小。内存占用1G都够用,硬盘空间vmware导出约3G左右。

安装完后,需要作一些配置
开启SSH root帐号、安装一些插件,如vi\nano\ping\dig\ifconfig等编辑工具、开启IPV4转发、修改IP、DNS等
1、安装工具,由于是最小安装系统,所以很多工具不带,用以下命令安装。
#这两个为编辑工具 vi,nano
sudo apt-get install vi nano


#这些为ping ,ifconfig,nslookup,dig,route等工具
sudo apt-get install net-tools
sudo apt-get install iputils-ping
sudo apt-get install inetutils-ping
sudo apt install iproute2
sudo apt install traceroute   
sudo apt install dnsutils

这两个分别为虚拟机PVE、vmware插件(可选)
sudo apt-get install QEMU Guest Agent
sudoapt-get install open-vm-tools open-vm-tools-desktop

2、开内核IPv4转发

vi /etc/sysctl.conf

#在文件中修改或增加下面1行

net.ipv4.ip_forward=1


#立即生效
sysctl -p

3、开ssh root帐号,这样可以用ssh工具访问ubuntu系统
#先用切换到root帐号
sudo -i

#修改root密码
passwd root


#修改sshd配置文件,开启root登陆
vi /etc/ssh/sshd_config

#在文件中修改或增加下面2行
PermitRootLogin yes
PasswordAuthentication yes


#重启服务,这你就可以用工具登陆了。
service ssh restart

4、修改IP

vi /etc/netplan/00-installer-config.yaml

#以上按自己的实际情况修改IP、网关、DNS
# This is the network config written by 'subiquity'
network:
  ethernets:
    enp6s18:
      addresses:
      - 192.168.168.4/24
      nameservers:
        addresses:
        - 223.5.5.5
        search: []
      routes:
      - to: default
        via: 192.168.168.1
  version: 2

#重启网卡生效:
sudo netplan apply

5、修改DNS,在resolved.conf中,修改或增加下面一行,这步没有做,在后面启动了dae-wing后就会发现无法上网。(切记切记一定要做!!!)

vi /etc/systemd/resolved.conf

#修改或增加一行:
DNS=180.76.76.76 114.114.114.114


#保存并生效
mv /etc/resolv.conf /etc/resolv.conf.bak
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved
systemctl enable systemd-resolved

#检测是否正常,运行下面命令
cat /etc/resolv.conf

#出现有这些表明工作正常。


二,安装dae-wing
网上有一个大神,他提供了详细的安装过程,也有视频,可以按视频一步一步安装。
【编译部署】daed(Dashboard) 内核级高性能透明代理工具- 大鹅 Dashboard WEB项目:https://idev.dev/proxy/daed.html

只要按我第一部分ubuntu安装和配置,到这一步安装dae-wing几乎不会出现任何错误。复制、粘贴100%就能正常工作,路路通。
注:如果下面代码粘贴有误,可用上面大神网站上的代码,出错可能是论坛转码(论坛增加了超链接去不掉)引发的错误,建议用上面大神网站的代码粘贴。

1、安装前提条件:
# basic
sudo apt update
sudo apt -y install git make clang

# golang
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt -y install golang-go

# nodejs
sudo apt install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_21.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt -y install nodejs
sudo npm install -g pnpm

#验证
go version
node -v
npm -v
pnpm -v

2、拉取源码
git clone https://github.com/daeuniverse/daed-revived-next.git /opt/daed
cd /opt/daed

git submodule update --init --recursive

3、编译dae-wing
cd /opt/daed/wing
go mod tidy
make deps
go build -v -o dae-wing

mv dae-wing /usr/bin/

4、配置系统服务,
#新增dae-wing服务文件

cat <<EOF> /etc/systemd/system/dae-wing.service
[Unit]
Description=dae-wing Service
Documentation=https://github.com/daeuniverse/dae-wing
After=network-online.target docker.service systemd-sysctl.service
Wants=network-online.target

[Service]
Type=simple
User=root
LimitNPROC=512
LimitNOFILE=1048576
ExecStart=/usr/bin/dae-wing run -c /etc/dae-wing/
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

EOF


#刷新服务
systemctl daemon-reload

#服务管理,启动+自启
systemctl enable dae-wing.service --now

#查看服务,无红色字,表示正常工作中。
systemctl  status dae-wing.service



5、下载Geo数据库文件
#这个很重要,一定要正常下载,不然后面的daed服务会报错,报geoip不正确。
#也可以自行下载,上传到/etc/dae-wing/这个地方,后期可以自行更新,不过更新前,要停daed服务才可以。

wget -O /etc/dae-wing/geoip.dat https://github.com/v2rayA/dist-v ... aw/master/geoip.dat
wget -O /etc/dae-wing/geosite.dat https://github.com/v2rayA/dist-v ... /master/geosite.dat



三、安装daed(很快就可以见到阳光了)
1、编译dead


cd /opt/daed
pnpm install
pnpm run build


2、配置系统服务
新增daed.service服务文件

cat <<EOF> /etc/systemd/system/daed.service

[Unit]
Description=daed Service
Documentation=https://github.com/daeuniverse/daed-revived-next
After=network.target

[Service]
WorkingDirectory=/opt/daed
ExecStart=/usr/bin/pnpm start
StandardOutput=file:/var/log/daed_stdout.log
StandardError=file:/var/log/daed_stderr.log
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

EOF


刷新服务
systemctl daemon-reload



3、服务管理,启动+自启

systemctl enable daed.service --now


#查看服务,无红色字,表示正常工作中。
systemctl status daed.service



四、配置(恭喜,成功安装)
dae-wing配置
1、访问网址  http://your_server_ip:3000/
第一次自己输入一个用户名和密码(密码要求3种组合),建议用google浏览器访问 ,其他浏览器有时不正常,无法登陆或操作无反应。

这是增加订阅



这里是配置代理群组,如下面建了2个群组,方便切换。



#这是路由配置
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

  
# 默认出站分组
#fallback: proxy
fallback: gmtcm_proxy





#这是DNS配置
upstream {
    googledns: 'tcp+udp://dns.google.com:53'
    alidns: 'udp://dns.alidns.com:53'
  }
  routing {
    request {
      qname(geosite:cn) -> alidns
      qname(geosite:category-ads-all) -> reject
      fallback: googledns
    }
    response {
        upstream(googledns) -> accept
        ip(geoip:private) && !qname(geosite:cn) -> googledns
        fallback: accept
    }
  }




#这是接口网络配置,如果是旁路由,2个都选旁路由网卡



#连接选项,选Utls和chrome_auto



#群组选择,如果要切换,选这个地方


这是节点选择策略



改变了配置,点击这个地方生效。


可以冲浪了!



最后
dae(大鹅) 内核级高性能透明代理工具- 配置详细说明,见:https://idev.dev/proxy/dae-configuration.html


============================
待续....QQ:306807173

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2024-9-10 14:52 | 显示全部楼层
执行sudo npm install pnpm -g需要查看源否则会报错:pnpm config get registry // 查看源,应该设置为:pnpm config set registry https://registry.npmmirror.com
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-9-17 10:38 | 显示全部楼层
本帖最后由 call58 于 2024-9-17 20:25 编辑

上面编译可能大家看不懂,也觉得不方便,下面分享更方便的一键安装daed版本。粘贴下面代码,就可以了。


#一键安装 DAED,daed和dae-wing一样带图形设置界面,只是dae-wing图形界面更漂亮,功能无异。
-------------------------------------------------
# Download 下载包ubuntu版本
wget -P /tmp https://github.com/daeuniverse/daed/releases/latest/download/installer-daed-linux-$(arch).deb# install
# install 安装包
sudo dpkg -i /tmp/installer-daed-linux-$(arch).deb
rm /tmp/installer-daed-linux-$(arch).deb
# Start daed 启动服务
sudo systemctl start daed
# enable daed start automatically 开机启动
sudo systemctl enable daed

-------------------------------------------------
这个是RedHat和centeros版本包
# Download
wget -P /tmp https://github.com/daeuniverse/daed/releases/latest/download/installer-daed-linux-$(arch).rpm
# install
sudo rpm -ivh /tmp/installer-daed-linux-$(arch).rpm
rm /tmp/installer-daed-linux-$(arch).rpm
# Start daed
sudo systemctl start daed
# enable daed start automatically
sudo systemctl enable daed

-------------------------------------------------
其他版本,见github官网https://github.com/daeuniverse/d ... /getting-started.md

配置运行和上面dae-wing一样,打开浏览器,建议用google浏览器:
http://localhost:2023



注:
包主程序在:/usr/bin/daed
包配置文件在:/etc/daed/
服务文件在:/etc/systemd/system/multi-user.target.wants/daed.service → /lib/systemd/system/daed.servic
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-9-23 01:25

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表