WireGuard组网记录

使用 WireGuard 可以方便地将不同内网中的智能家居设备连接起来。

** Warning: 以下是由 GPT-3 辅助生成的草稿,请仔细甄别。

OpenWrt设置

首先,我们需要在OpenWrt路由器上安装WireGuard。可以通过以下命令安装:

opkg update
opkg install wireguard

安装完成后,我们可以在/etc/config/wireguard目录下创建一个配置文件,并配置网络参数。例如,如果我们想要创建一个名为wg0的虚拟网卡,并且该虚拟网卡的IP地址为10.0.0.1,则可以按照如下方式配置:

config interface 'wg0'
        option proto 'wireguard'
        option private_key '<私钥>'
        option listen_port '51820'
        option fwmark '0xca6c'

config wireguard_wg0
        option public_key '<公钥>'
        option endpoint_address '<远程IP地址>'
        option allowed_ips '10.0.0.1/24'

config route
        option interface 'wg0'
        option target '10.0.0.1'
        option netmask '24'
        option gateway '10.0.0.1'

为了让客户端能够访问虚拟网卡,我们还需要设置路由选择。这样,客户端就能够根据目标IP地址选择通过虚拟网卡进行通信。这可以通过如下方式实现:

config route
        option interface 'wg0'
        option target '<目标IP地址>'
        option netmask '<子网掩码>'
        option gateway '<网关地址>'

上面的代码中,我们设置了虚拟网卡的接口名称、目标IP地址、子网掩码和网关地址。这样,当客户端向指定的目标IP地址发送数据时,路由器就会通过虚拟网卡进行路由选择。

Linux客户端设置

对于Linux客户端,我们可以使用WireGuard的命令行工具wg来配置连接。首先,我们需要创建一个配置文件,并配置服务器的IP地址和端口号:

[Interface]
PrivateKey = <私钥>
Address = <客户端IP地址>/<子网掩码>
DNS = <DNS服务器地址>

[Peer]
PublicKey = <服务器公钥>
Endpoint = <服务器IP地址>:<端口号>
AllowedIPs = 0.0.0.0/0, ::/0

然后,我们可以使用wg命令来加载配置文件,并启动WireGuard连接:

wg-quick up /etc/wireguard/wg0.conf

这样,我们就可以通过虚拟网卡wg0访问服务器了。

Windows客户端设置

其包括两部分:启用路由转发和配置WireGuard连接。

首先,我们需要在Windows操作系统中启用路由转发。这样,Windows客户端才能够访问虚拟网卡。具体来说,我们可以按照如下步骤操作:

  1. 打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter,并将其设置为1。
  2. 在服务管理器中,将RemoteAccess(Routing and Remote Access)服务设为自动,并启用。

然后,我们需要配置WireGuard连接。这样,Windows客户端才能通过虚拟网卡访问服务器。配置过程如下:

  1. 下载并安装WireGuard的客户端工具。
  2. 使用客户端工具创建一个配置文件,并配置服务器的IP地址和端口号:
[Interface]
PrivateKey = <私钥>
Address = <客户端IP地址>/<子网掩码>
DNS = <DNS服务器地址>

[Peer]
PublicKey = <服务器公钥>
Endpoint = <服务器IP地址>:<端口号>
AllowedIPs = 0.0.0.0/0, ::/0

使用客户端工具加载配置文件,并启动WireGuard连接

wg-quick up /etc/wireguard/wg0.conf

这样,Windows客户端就能够通过虚拟网卡wg0访问服务器了。

参考链接

https://michlstechblog.info/blog/windows-howto-enable-ip-routing/

https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/setup-nat-network

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Back to Top