博文

避免YouTube版权纠纷的5个关键点(2025最新更新)

本指南详尽介绍了两种主要 DAE 技术:H3C网络中的 DAE 代理(动态授权扩展) 配置方法,用于RADIUS用户强制下线和授权更改,以及 dae (大鹅) eBPF 透明代理 在 Linux 上的安装、内核配置及实现网卡级全局代理和 Docker 容器代理的步骤。
08yt

Dae安装及配置指南

“Dae”或“DAE”一词在不同技术领域代表着不同的概念。本指南将基于来源信息,介绍两种主要的“DAE”配置:DAE代理配置Dynamic Authorization Extensions Proxy,用于网络设备安全授权)和 dae 透明代理(基于 eBPF 的 Linux 代理工具)的安装与配置步骤。


一、DAE代理配置(动态授权扩展代理)

DAE(Dynamic Authorization Extensions,动态授权扩展)代理用于在DAE客户端(DAC)和DAE服务器(DAS)之间转发DAE请求和DAE响应报文。DAE是RADIUS(远程认证拨号用户服务)协议的一个扩展,用于强制认证用户下线更改在线用户授权信息

DAE代理主要应用于转发控制分离组网中。在这种组网中,DAE代理统一接收DAE客户端的请求报文并分发给对应的DAE服务器处理,从而使DAE客户端只需管理一个NAS IP(即DAE代理的IP地址),降低了管理复杂度。

DAE请求报文包括DMs(Disconnect Messages,用于强制用户下线)和COA(Change of Authorization Messages,用于更改用户授权信息)。

1. 配置准备

  1. 在连接DAE客户端的接口上,需要配置出方向地址转换(NAT),以确保转换后的IP地址与DAE客户端上管理该CP的NAS IP保持一致。
  2. 在DAE服务器上,需要配置DAE客户端信息,并(可选)配置DAE服务器监听DAE报文的端口(须与DAE代理转发端口一致),以及配置免校验的RADIUS DAE客户端IP。

2. 配置步骤

以下是在设备上配置DAE代理功能的步骤:

  1. 进入系统视图

    system-view
    
    
  2. 开启DAE代理功能并进入视图

    radius dynamic-author proxy
    
    
  3. 配置DAE客户端:指定DAE代理只接收本命令指定的DAE客户端发送的DAE报文。

    client { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ key { cipher | simple } string ]
    
    

    例如配置IP地址为5.5.5.2的客户端,共享密钥为明文的radius

    client ip 5.5.5.2 key simple radius
    
    
  4. 指定DAE代理监听端口:指定DAE代理监听DAE客户端报文的UDP端口号。缺省端口号为3799

    listen-port port-number
    
    

    例如配置监听端口为2000:

    listen-port 2000
    
    

    警告:在DAE代理功能处于开启状态时更改此配置可能会造成部分DAE请求报文丢失。

  5. 配置DAE服务器:指定DAE代理只向本命令指定的DAE服务器发送DAE请求报文。

    server { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ]
    
    

    例如配置IP地址分别为4.4.4.1和6.6.6.1的DAE服务器:

    server ip 4.4.4.1
    server ip 6.6.6.1
    
    
  6. 指定远端DAE服务器监听端口:缺省端口号为3799

    server port dest-port
    
    

    例如配置目的端口为3798:

    server port 3798
    
    

3. 显示与维护

  • 显示DAE代理的相关信息:display radius dynamic-author proxy
  • 清除DAE代理的统计信息:reset radius dynamic-author proxy statistics

二、dae 透明代理(基于 eBPF 的 Linux 代理)

dae(大鹅)是一款基于eBPF技术的Linux高性能透明代理工具。它能实现网卡级全局代理,并支持代理Docker容器。

1. 安装环境要求

  1. 内核版本: Linux内核版本需要大于等于 5.8。可以通过 uname -r 命令查询。
  2. 内核选项: 需要检查是否包含特定的内核选项,如 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_JIT=y 等。
  3. 启用IP转发: 需要启用IPv4和IPv6的IP转发功能,例如通过在/etc/sysctl.conf中设置 net.ipv4.ip_forward = 1net.ipv6.conf.all.forwarding = 1,并运行 sysctl -p
  4. 启用BPF JIT编译器: 建议开启BPF JIT(Just-In-Time)编译器。可以通过 cat /proc/sys/net/core/bpf_jit_enable 查询状态,如果返回值为0,需手动开启,例如在/etc/sysctl.conf中加入 net.core.bpf_jit_enable = 1 并运行 sysctl -p

2. 下载与配置

  1. 下载与解压: 从官方地址下载设备对应CPU架构的安装包(例如,v0.5.1正式版)并解压。

    # 下载 v0.5.1 正式版
    wget https://mirror.ghproxy.com/https://github.com/daeuniverse/dae/releases/download/v0.5.1/dae-linux-armv7.zip
    unzip -d dae dae-linux-armv7.zip
    cd dae
    
    
  2. 配置文件与权限:

    • 创建配置目录 /etc/dae

    • 创建最小配置文件 /etc/dae/config.dae,并设置权限:

      chmod 0640 /etc/dae/config.dae
      
      
    • 创建数据目录 /usr/local/share/dae/,并将 Geo 数据库文件 geoip.datgeosite.dat 移动到该目录。

  3. 安装主程序和系统服务:

    • 为主程序添加可执行权限,并安装到/usr/bin/dae
    • 将服务文件下载到/etc/systemd/system/dae.service,并刷新配置。
    systemctl daemon-reload
    
    

3. dae 配置详解(config.dae

config.dae 文件用于定义代理逻辑和网络接口。以下为关键配置项:

字段

描述

示例

来源

log_level

日志级别。

log_level: info

wan_interface

WAN(广域网)接口,用于本机流量绑定,需填写服务器的网卡名称(如 eth0, ens160),或使用 auto

wan_interface: ens160

lan_interface

LAN(局域网)接口,用于为局域网或容器转发代理流量。如果需要代理Docker容器,应填写 docker0。若想代理局域网流量,必须同时填写 wan_interfacelan_interface

lan_interface: docker0

auto_config_kernel_parameter

自动配置内核参数。

auto_config_kernel_parameter: true

node

配置代理节点URI,通常指向本地运行的Clash等代理软件。

local: 'socks5://127.0.0.1:7890'

routing

定义流量路由规则。

pname(...) -> must_direct

指定特定进程(Process Name)的流量必须走直连,避免回环。

pname(clash.meta-...) -> must_direct

fallback

默认出站分组。

fallback: my_group

ip(geoip:cn) -> direct

基于IP地理信息(例如中国IP)直连。

domain(geosite:cn) -> direct

基于域名地理信息(例如中国域名)直连。

4. UFW 防火墙配置

如果使用ufw作为防火墙,需要配置放行相关端口和标记的转发流量:

  1. 放行TProxy端口: 需要放行TProxy的默认端口 12345

    ufw allow 12345
    
    
  2. 编辑规则文件:/etc/ufw/before.rules 中,在 # End required lines# allow all on loopback 这两行注释之间,加入允许特定标记(0x8000000)流量通过的规则。

    -A ufw-before-input -m mark --mark 0x8000000 -j ACCEPT
    
    
  3. 配置IPv6规则: 同样需要在 /etc/ufw/before6.rules 中加入IPv6的相应规则。

    -A ufw6-before-input -m mark --mark 0x8000000 -j ACCEPT
    
    
  4. 重启UFW和dae服务

    ufw disable && ufw enable
    service dae restart
    
    

5. 服务管理

  • 设置开机自启动:systemctl enable dae
  • 启动服务:systemctl start dae
  • 查询服务状态:systemctl status dae
  • 重载配置:systemctl reload dae

提示:dae v.0.7.0 版本开始支持 hysteria2 协议,在 Armbian 旁路由上使用时,如果需要用到混淆和端口跳跃功能,目前需要多运行一个 hysteria 进程。如果选择运行本地Hysteria客户端,需要在dae的路由配置中,将Hysteria进程的流量强制直连:pname(hysteria) -> must_direct

发表评论