ihc童鞋@提不起劲

Results 78 comments of ihc童鞋@提不起劲

确实有可能,这个规律总之很迷==所以搞规则的时候感觉还是要谨慎一些,只对特定dns生效比较保险。

XDP (eXpress Data Path) is an eBPF based high performance data path merged in the Linux kernel since version 4.8. ref: https://en.wikipedia.org/wiki/Express_Data_Path

Debian从9开始就支持了。 ref: https://en.wikipedia.org/wiki/Debian_version_history#Release_table

不需要手动开启,默认就能用的(当然要是自己编译的内核另说)

我找了个debian10(Linux debian 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux)试了下Release里的elf,没复现问题。 如果是load上去就挂,那可能是内核的兼容性问题。 你可以试下搭建一个rust开发环境,然后使用依次运行 For Developer 章节的 [Build](https://github.com/ihciah/clean-dns-bpf#build) 和 [Run](https://github.com/ihciah/clean-dns-bpf#run) 部分。

> > 我找了个debian10(Linux debian 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux)试了下Release里的elf,没复现问题。 如果是load上去就挂,那可能是内核的兼容性问题。 你可以试下搭建一个rust开发环境,然后使用依次运行 For Developer 章节的 [Build](https://github.com/ihciah/clean-dns-bpf#build) 和 [Run](https://github.com/ihciah/clean-dns-bpf#run) 部分。 > > 谢谢你的回复,编译会报如下错误: > > # cargo bpf build...

> manjaro(跟你 arch 差不多的) 5.13 的 kernel 编译时依然 SIGSEGV > > ## 确认 5.13 支持 CONFIG_XDP_SOCKETS > ``` > [w@ww temp]$ zcat /proc/config.gz | grep CONFIG_XDP_SOCKETS > CONFIG_XDP_SOCKETS=y > CONFIG_XDP_SOCKETS_DIAG=m...

在[另一个](https://github.com/ihciah/socks5-forwarder)使用ebpf的实践中,我也发现不同kernel版本似乎出现了一定的不兼容。原因没有具体定位到,感觉可能是部分内核的BTF支持问题or bpf helper签名问题。 可能确实需要较高版本的kernel。

本项目基于 Linux Kernel 提供的 eBPF+XDP 做的过滤,所以 MacOS 不能使用。 如果要在 Mac 上工作,需要在用户态做一层代理(容易跨平台但性能不如 BPF)。

不是。 墙的手段有DNS污染、TCP Reset、黑洞路由等;本项目只聚焦DNS污染,采用丢弃污染包的形式省掉UDP转发的麻烦。