Administrator
发布于 2023-07-25 / 125 阅读
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 客户端中,并启动连接。

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


评论