首页 > 解决方案 > Wireguard:如何记录网络活动?

问题描述

如何在wireguard中启用网络活动记录?

我搜索了查看服务器上日志的方法,但在/var/log.

由于它作为 systemd 服务运行,因此我可以看到一些最少的信息

sudo systemctl status wg-quick@wg0

但这提供的信息很少。

也试过:

journalctl -u wg-quick@wg0

但这并没有比上一个命令显示更多。

理想情况下,我希望能够看到对等连接和(可选)正在发出的请求。

到目前为止,我发现的唯一有用的诊断命令是sudo wg show wg0(或只是sudo wg),但我希望有一种方法可以提高详细程度并使其实时显示。

更新

可以通过使用第三方网络工具(例如tcpdump | grep 10.66.66(假设隧道设置在10.66.66.x)和nethogs

标签: loggingvpnwireguard

解决方案


从内核 5.6 开始,您可以像这样使用动态调试功能:

# modprobe wireguard 
# echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

然后,您可以使用dmesgjournalctl使用dmesg -wH-w跟随,-H人类可读)或journalctl -kf.
您的内核应该使用CONFIG_DYNAMIC_DEBUG标志编译,您可以通过查看/boot/config-$(uname -r)/proc/config.gz/boot/config(取自[此处])之类的文件进行检查(https://superuser.com/questions/287371/obtain-kernel-config-from-currently-running- linux系统

基于这个答案


推荐阅读