Docker 下搭建WireGuard 几行命令
要在Docker中搭建一个WireGuard(简称WG)服务器,您需要按照以下步骤进行操作:
安装Docker:确保您已在主机上安装了Docker。您可以根据您的操作系统和版本,按照Docker官方文档提供的步骤进行安装。
创建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服务器的配置。您可以编辑配置文件、生成密钥对等。
配置网络和端口映射:根据您的网络环境,配置适当的网络和端口映射,以便从主机或其他设备访问WireGuard服务器。
这些是基本的步骤来搭建一个基于Docker的WireGuard服务器。请注意,具体的配置和操作可能因您的需求和环境而有所不同。您可能需要参考WireGuard和Docker的相关文档以获取更详细的指导和配置说明。2另外,上述命令中使用的linuxserver/wireguard
镜像是一个常用的WireGuard服务器容器镜像,您可以根据自己的需求选择其他可用的镜像或自行构建镜像。
5.在容器里创建配置文件
创建WireGuard配置文件:
cd /config touch wg0.conf
编辑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 genkey
和wg pubkey <私钥>
命令生成。<对等方允许的IP范围>
: 对等方允许的IP地址范围,例如:192.168.2.0/24, 2001:db8::/64。
保存并关闭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客户端中,并启动连接。
请注意,上述示例仅提供了基本的客户端配置示例,实际的配置可能因您的网络环境和需求而有所不同。确保根据您的具体情况进行相应的替换和调整,并根据需要进行其他网络设置和密钥管理。