type
status
slug
summary
tags
category
icon
password
new update day
Property
Nov 9, 2023 04:03 AM
created days
Last edited time
Nov 9, 2023 04:03 AM
0 查看要求
因为大鹅是基于 Linux ebpf 子系统,所以需要内核在 5.8 版本以上,并且支持 btf ,而默认的 Raspberry Pi OS 的内核虽然版本达到了要求,但是没有编译对应的 btf 内核特性,所以需要进行手动编译,并进行内核替换。
1 配置交叉编译环境
因为涉及到树莓派的内核编译,而树莓派的性能羸弱,如果直接在树莓派上进行内核编译,不知道猴年马月能够完成编译,所以准备使用交叉编译的方法进行内核编译。
1.1 安装 crosstool-ng
1.2 查看 crosstool-ng 预制配置文件
1.3 使用 crosstool-ng 配置交叉编译工具
1.4 下载 raspberrypi linux 源码
1.5 开始编译内核
1.6 复制内核与模块到树莓派
1.7 在树莓派上执行内核替换
首先切换目录:
lib/modules/6.1.61-v8+/source/arch/arm64/boot/
执行以下命令:
1.8 安装内核模块
1.9 修改配置文件(可选)
树莓派默认是用32位内核启动,需要修改
boot
分区下的 config.txt
文件1.10 重启
执行
reboot
启动后执行可查看内核版本,是否成功更换内核。
2 安装大鹅
手动下载 dae 与 daed 进行配置安装,并编写 systemd 服务文件,其他省略(因为可以正常运行,并且官方文档写的挺仔细的)。
3 遇到的问题
3.1 非对称路由无法使用
这里的旁路由定义为:1,被设为网关。2,对 TCP/UDP 进行 SNAT。3,LAN 接口和 WAN 接口属于同一个网段。
具体现象:
关闭 dae
开始内核转发参数设备可以正常上网。开启 dae 设备无法上网
,可以 ping 通网关(192.168.1.150),以及主路由(192.168.1.1),但是无法上网,无法ping通公网ip(233.5.5.5)解决方案:
- 安装
systemd-resolved
并启用systemd-resolved
- 关闭 taiscale 的 dns 接受
后续测试正常。
- Author:tangcuyu
- URL:https://expoli.tech/articles/2023/11/09/run-dae-on-Raspberry-Pi-OS
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts