标签: wireguard

Wireguard:如何记录网络活动?

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

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

当它作为 systemd 服务运行时,我可以看到一些最少的信息

sudo systemctl status wg-quick@wg0
Run Code Online (Sandbox Code Playgroud)

但这提供的信息很少。

还试过:

journalctl -u wg-quick@wg0
Run Code Online (Sandbox Code Playgroud)

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

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

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

更新

可以通过使用第三方网络工具(例如tcpdump | grep 10.66.66(假设隧道设置在10.66.66.x)和上来了解哪些连接被启动nethogs,但这仍然没有回答如何直接通过wireguard 进行连接的问题。

vpn logging wireguard

22
推荐指数
0
解决办法
1万
查看次数

我可以让 Wireguard VPN 对等点相互通信吗?

我有一台运行 Wireguard 的服务器,并且我有多个客户端(对等方)连接到它并正在运行。我不太确定 VPN 是如何工作的,但这是我当前的设置。

/etc/wireguard/wg0.conf我的服务器看起来像这样。

[Interface]
Address = 172.16.16.1/24
SaveConfig = true
ListenPort = 8999
PrivateKey = XXX

[Peer]
PublicKey = XXX
AllowedIPs = 172.16.16.2/32

[Peer]
PublicKey = XXX
AllowedIPs = 172.16.16.3/32
Run Code Online (Sandbox Code Playgroud)

我的客户端上的配置wg0.conf看起来像这样。

[Interface]
PrivateKey = XXX
Address = 172.16.16.x/32

[Peer]
PublicKey = XXX
AllowedIPs = 172.16.16.0/24
PersistentKeepalive = 30
Run Code Online (Sandbox Code Playgroud)

一切都启动并运行后,从我的具有 IP 地址的客户端172.16.16.2,我可以 ping 服务器172.16.16.1。我可以从我的其他客户端执行同样的操作172.16.16.3,我可以 ping 服务器 172.16.16.1

有趣的是,从我的服务器,我能够 ping 所有的对等点!也就是说,从内部172.16.16.1,我可以 ping172.16.16.2172.16.16.3。但这是设置的主要目的! …

vpn networking lan wireguard

14
推荐指数
2
解决办法
9971
查看次数

Wireguard 配置文件中的 Endpoint 和 AllowedIPs 字段有什么区别?

我对 Wireguard 的理解是服务器和客户端的接口(虽然看起来听不清?)每个都有自己的.conf文件。例如,考虑以下.conf文件。

[Interface]
PrivateKey = some_key_1
Address = 10.193.130.174/16


[Peer]
PublicKey = some_key_2
PresharedKey = some_key_3
AllowedIPs = 10.129.130.1/32
Endpoint = 54.91.5.130:1952
Run Code Online (Sandbox Code Playgroud)

如何判断这是客户端.conf文件还是服务器文件(如果可能的话)?这可能是一个非常简单的问题,但是EndpointAllowedIPs字段之间的区别是[Peer]什么?我从CryptoKey Routing推断,一旦interface接收到一个数据包,它就会用interface私钥对其进行解密,并AllowedIPs根据所有信息检查发件人 IP peers,如果凭据实际上与peer它匹配,它就会接受它。在另一方面,如果interface想送它与它加密的数据包peer的公共密钥,但它是将其发送到Endpoint的或一个AllowedIPs

编辑 1:我确实使用man wg过,Endpoint但对我来说仍然模糊的定义。尽管如此,该AllowedIPs领域似乎更容易掌握。

编辑 2:经过进一步研究,我认为该AllowedIPs字段指定了对等方可用于接收流量或发送流量的 IP 地址。如果有人可以确认或更正这一点,我将不胜感激。

endpoint wireguard

14
推荐指数
1
解决办法
1万
查看次数

WireGuard:如何从服务器向客户端推送路由和 dhcp 选项?

WireGuard 是否支持 VPN 服务器向其客户端推送路由和 DHCP 选项的方式,就像 OpenVPN 所做的那样:

push "route 10.0.2.0 255.255.255.0 " 

push "dhcp-option DNS 10.66.0.4"
Run Code Online (Sandbox Code Playgroud)

我有 100 多个客户端,它们动态地设置了与 VPN 服务器的 VPN 连接,我希望在它们连接到 VPN 服务器时安装这些路由和选项。

vpn openvpn wireguard

12
推荐指数
2
解决办法
2万
查看次数

如何使用wireguard隧道库?

我想使用库 com.wireguard.android:tunnel (1.0.20211029) 创建第三方 VPN 应用程序,任何人都可以帮助我为我提供任何好的资源或指导我吗?

在我的应用程序中,我从文件管理器导入 .config 文件,现在如何使用隧道库将该文件连接到服务器。我正在使用 java 。

我确实遵循了https://github.com/WireGuard/wireguard-android但该应用程序包装了很多隧道库代码。我正在寻找一个简单的示例,说明如何直接使用隧道库,而无需使用 TunnelManager 和 ObservableTunnel 进行所有包装。

请指导我

java android wireguard

9
推荐指数
1
解决办法
4171
查看次数

Wireguard-apple 构建失败并出现错误:ExternalBuildToolExecution 失败并出现非零退出代码

我使用 Go 版本 1.13、Mac Catalina 和 Xcode 11.7 进行构建。
由于以下错误,Xcode 构建过程无法完成。

Command ExternalBuildToolExecution failed with a nonzero exit code:

>ExternalBuildToolExecution WireGuardGoBridgemacOS (in target 'WireGuardGoBridgemacOS' from project 'WireGuard')
    cd /Users/mycomputer/Documents/wireguard-apple-master/WireGuard/../wireguard-go-bridge
    export ACTION=
    export ALTERNATE_GROUP=staff
    export ALTERNATE_MODE=u+w,go-w,a+rX
    export ALTERNATE_OWNER=decycle
    export ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=YES
    export ALWAYS_SEARCH_USER_PATHS=NO
    export APPLE_INTERNAL_DEVELOPER_DIR=/AppleInternal/Developer
    export APPLE_INTERNAL_DIR=/AppleInternal
    export APPLE_INTERNAL_DOCUMENTATION_DIR=/AppleInternal/Documentation
    export APPLE_INTERNAL_LIBRARY_DIR=/AppleInternal/Library
    export APPLE_INTERNAL_TOOLS=/AppleInternal/Developer/Tools
    export APPLICATION_EXTENSION_API_ONLY=NO
    export APPLY_RULES_IN_COPY_FILES=NO
    export APPLY_RULES_IN_COPY_HEADERS=NO
    export APP_ID_IOS=com.27net.vpnapp
    export APP_ID_MACOS=com.27net.vpnapp
    export ARCHS=x86_64
    export ARCHS_STANDARD=x86_64
    export ARCHS_STANDARD_32_64_BIT="x86_64 i386"
    export ARCHS_STANDARD_32_BIT=i386
    export ARCHS_STANDARD_64_BIT=x86_64
    export ARCHS_STANDARD_INCLUDING_64_BIT=x86_64
    export AVAILABLE_PLATFORMS="appletvos appletvsimulator iphoneos iphonesimulator macosx …
Run Code Online (Sandbox Code Playgroud)

xcode building ios wireguard macos-catalina

8
推荐指数
1
解决办法
4111
查看次数

WireGuard 无法连接到 Internet

WireGuard 服务器似乎没有将连接转发到 Internet。

我尝试在我的计算机和服务器上从头开始重新安装 Wireguard,但问题仍然存在。

当我sudo wg-quick up wg0-client,我得到:

[#] wg setconf wg0-client /dev/fd/63
[#] ip address add 10.200.200.2/32 dev wg0-client
[#] ip link set mtu 1420 up dev wg0-client
[#] resolvconf -a tun.wg0-client -m 0 -x
Too few arguments.
Too few arguments.
[#] wg set wg0-client fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0-client table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0 …
Run Code Online (Sandbox Code Playgroud)

vpn webserver server wireguard

7
推荐指数
0
解决办法
8388
查看次数

如何让 Wireguard-Android 生成文件在 Windows 上运行?

我正在尝试在我的 Windows 机器上构建wireguard-android源代码,通过反复试验逐步解决问题。

我安装了 CMake 和 Make,我遇到的第一个问题是uname(mingw64)报告的“错误”值,与Google 托管的 golang文件名不匹配。

我已经编辑(破解)make 文件以指向 Windows 版本 (amd64) 的真实文件名。问题是 windows 版本有一个.zip扩展名而不是.tar.gzzip 的结果似乎与管道命令不兼容。

原始命令

curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m)).tar.gz" | tar -C "$(dir $@)" --strip-components=1 -xzf -
Run Code Online (Sandbox Code Playgroud)

我尝试的更改:(使用 if-else 因为它仍然需要在 mac 上运行)

ifeq "msys" "$(shell uname -o | tr '[:upper:]' '[:lower:]')"
    # Note: when enclosed in the ifeq, the ARCH_MAP part no longer worked
    # Note: using tar …
Run Code Online (Sandbox Code Playgroud)

android makefile cmake android-ndk wireguard

7
推荐指数
1
解决办法
410
查看次数

wireguard android 库 - 错误 UAPIOpen: ...权限被拒绝

我正在尝试使用 com.wireguard.android:tunnel 库制作 android WireGuard 客户端。

  • 客户端平台:安卓
  • 库:com.wireguard.android:tunnel (1.0.20211029)
  • 我的应用程序包名称:com.example.hellowireguard
  • 测试设备:Nexus 5X
  • WireGuard 服务器:ubuntu 20.04

当尝试连接时,我收到此错误。但是,连接似乎工作正常。

E/WireGuard/GoBackend/abc: UAPIOpen: mkdir /data/data/com.wireguard.android: 权限被拒绝

这个错误可以忽略吗?

在此输入图像描述

android wireguard

6
推荐指数
0
解决办法
779
查看次数

Wireguard VPN 无法从服务器接收数据

我的wireguard服务器和客户端配置如下:

服务器:

[Interface]
PrivateKey = <server private key>
Address = 192.168.2.4
ListenPort = 51821

[Peer]
PublicKey = <client public key>
AllowedIPs = 172.20.10.5/32

Run Code Online (Sandbox Code Playgroud)

客户:

[Interface]
PrivateKey = <client private key>
Address = 172.20.10.5

[Peer]
PublicKey = <server public key>
AllowedIPs = 192.168.2.4/32
Endpoint = <Public IP>:51821
PersistentKeepalive = 25

Run Code Online (Sandbox Code Playgroud)

当我启动它们时,我的客户端无法 ping 服务器网络中的任何机器。在浏览器中,该 IP 仍然是客户端的 Internet IP。当我wg在客户端上运行时,它显示发送了一些数据,而在传输信息中收到了 0 个数据。

我的配置有什么明显的错误吗?如果没有,常见的故障排除方法是什么?

wireguard

5
推荐指数
0
解决办法
5626
查看次数