Administrator
Published on 2023-07-25 / 12 Visits
0
0

Docker 下搭建WireGuard 几行命令

Docker 下搭建WireGuard 几行命令

要在Docker中搭建一个WireGuard(简称WG)服务器,您需要按照以下步骤进行操作:

  1. 安装Docker:确保您已在主机上安装了Docker。您可以根据您的操作系统和版本,按照Docker官方文档提供的步骤进行安装。

  2. 创建Docker容器:使用适当的Docker命令创建一个新的容器来托管WireGuard服务器。以下是一个示例命令:

docker run -d --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl net.ipv4.conf.all.src_valid_mark=1 --sysctl net.ipv6.conf.all.disable_ipv6=0 --sysctl net.ipv6.conf.default.forwarding=1 --sysctl net.ipv6.conf.all.forwarding=1 --name=wireguard-server docker.io/linuxserver/wireguard

此命令将从Docker Hub上的linuxserver/wireguard镜像创建一个名为wireguard-server的容器,并添加所需的网络权限和内核模块支持。

3.配置WireGuard:进入WireGuard容器并进行必要的配置。使用以下命令进入容器的Shell环境:

docker exec -it wireguard-server /bin/bash

然后,根据您的需求,在容器内部进行WireGuard服务器的配置。您可以编辑配置文件、生成密钥对等。

  1. 配置网络和端口映射:根据您的网络环境,配置适当的网络和端口映射,以便从主机或其他设备访问WireGuard服务器。

这些是基本的步骤来搭建一个基于Docker的WireGuard服务器。请注意,具体的配置和操作可能因您的需求和环境而有所不同。您可能需要参考WireGuard和Docker的相关文档以获取更详细的指导和配置说明。2另外,上述命令中使用的linuxserver/wireguard镜像是一个常用的WireGuard服务器容器镜像,您可以根据自己的需求选择其他可用的镜像或自行构建镜像。

5.在容器里创建配置文件

  1. 创建WireGuard配置文件:

cd /config touch wg0.conf
  1. 编辑wg0.conf文件并添加以下内容作为示例配置:

[Interface]
PrivateKey = <私钥> 
Address = <IPv4地址/子网掩码>, <IPv6地址/前缀长度> 
ListenPort = <监听端口> [Peer] 
PublicKey = <对等方公钥> 
AllowedIPs = <对等方允许的IP范围>

请根据您的需求替换以下内容:

  • <私钥>: 用于服务器的私钥。可以使用wg genkey命令生成。

  • <IPv4地址/子网掩码>: 服务器的IPv4地址和子网掩码,例如:192.168.1.1/24。

  • <IPv6地址/前缀长度>: 服务器的IPv6地址和前缀长度,例如:2001:db8::1/64。

  • <监听端口>: 服务器监听的端口号,例如:51820。

  • <对等方公钥>: 对等方的公钥,您可以通过wg genkeywg pubkey <私钥>命令生成。

  • <对等方允许的IP范围>: 对等方允许的IP地址范围,例如:192.168.2.0/24, 2001:db8::/64。

  1. 保存并关闭wg0.conf文件。

完成上述步骤后,您可以根据需要添加更多的[Peer]部分,以配置其他对等方的详细信息。

请注意,上述示例仅提供了基本的配置示例,实际的配置取决于您的网络环境和需求。确保根据您的具体情况替换配置中的占位符内容,并根据需要进行进一步的网络设置和密钥管理。

5.到客户端配置

[Interface]
PrivateKey = <客户端私钥>
Address = <客户端IPv4地址/子网掩码>, <客户端IPv6地址/前缀长度>
DNS = <DNS服务器IP地址>

[Peer]
PublicKey = <服务器公钥>
AllowedIPs = <客户端允许的IP范围>
Endpoint = <服务器公网IP>:<服务器端口>

请根据您的实际情况替换以下内容:

  • <客户端私钥>: 客户端的私钥,您可以使用wg genkey命令生成。

  • <客户端IPv4地址/子网掩码>: 客户端的IPv4地址和子网掩码,例如:192.168.2.2/24。

  • <客户端IPv6地址/前缀长度>: 客户端的IPv6地址和前缀长度,例如:2001:db8::2/64。

  • <DNS服务器IP地址>: 您可以指定您想要使用的DNS服务器的IP地址,例如:8.8.8.8。

对于[Peer]部分,您需要提供以下信息:

  • <服务器公钥>: 服务器的公钥。

  • <客户端允许的IP范围>: 客户端允许的IP地址范围,例如:0.0.0.0/0, ::/0。

  • <服务器公网IP>: 服务器的公网IP地址。

  • <服务器端口>: 服务器的端口号。

确保将上述示例中的占位符内容替换为实际的私钥、IP地址和端口。保存配置文件后,您可以将该配置文件导入到WireGuard客户端中,并启动连接。

请注意,上述示例仅提供了基本的客户端配置示例,实际的配置可能因您的网络环境和需求而有所不同。确保根据您的具体情况进行相应的替换和调整,并根据需要进行其他网络设置和密钥管理。


Comment