Debian 搭建 WireGuard 服务端
CONTENTS
- 1. 准备工作
- 2. 安装 WireGuard
- 3. 配置服务端
- 4. 客户端配置
- 5. 服务端再配置
- 6. References
本文以 Debian 10 为例,介绍如何搭建 WireGuard 服务端,并说明对应的客户端搭建方法和配置文件的格式。Ubuntu 20.04 系统与之大同小异。
注:请先参照 Debian & Ubuntu 服务器的初始化配置 一文对服务器进行各种必要的配置。本文以 sammy
用户为例,进行 WireGuard 的部署,并默认已按初始化配置文章对服务器进行了配置。
准备工作
安装步骤所需软件包:
1 2 |
sudo apt update sudo apt install apt-transport-https vim -y |
安装 WireGuard
添加 backports 源:
1 |
sudo sh -c "echo 'deb https://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list" |
安装软件包:
1 2 |
sudo apt update sudo apt -t buster-backports install wireguard -y |
配置服务端
切换到 root 用户:
1 |
sudo -i |
创建私钥、公钥:
1 2 3 |
cd /etc/wireguard umask 077 wg genkey | tee privatekey | wg pubkey > publickey |
记录私钥、公钥:
1 2 |
cat privatekey # 服务端私钥 cat publickey # 服务端公钥 |
创建配置文件,并添加内容:
1 2 |
exit # 退出 root 用户 sudo vim /etc/wireguard/wg0.conf |
/etc/wireguard/wg0.conf
1 2 3 4 5 6 7 |
[Interface] Address = 10.0.0.1/24 SaveConfig = true PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 自定义端口 PrivateKey = 服务器私钥 |
防火墙配置:
1 |
sudo ufw allow 自定义端口/udp |
启动服务:
1 2 |
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0 |
查看服务状态:
1 |
sudo systemctl status wg-quick@wg0 |
查看实际效果:
1 2 |
sudo wg sudo ip a show wg0 |
至此,服务端的配置大体完成,稍后还需要在客户端配置后,在服务端添加客户端的节点信息。
客户端配置
Debian 10 下客户端的安装流程、私钥公钥生成方法,和服务端的步骤类似,此处不再赘述。
创建配置文件,并添加内容:
1 |
sudo vim /etc/wireguard/wg0.conf |
/etc/wireguard/wg0.conf
1 2 3 4 5 6 7 8 9 |
[Interface] PrivateKey = 客户端私钥 Address = 10.0.0.2/24 DNS = 8.8.8.8[Peer] PublicKey = 服务端公钥 AllowedIPs = 0.0.0.0/0 Endpoint = 服务器 IP 地址:服务器自定义端口 |
启动服务:
1 2 |
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0 |
查看服务状态:
1 |
sudo systemctl status wg-quick@wg0 |
服务端再配置
在服务器上:
1 2 |
sudo systemctl stop wg-quick@wg0 sudo vim /etc/wireguard/wg0.conf |
增加 [Peer]
信息,修改后总体如下:
/etc/wireguard/wg0.conf
1 2 3 4 5 6 7 8 9 10 11 |
[Interface] Address = 10.0.0.1/24 SaveConfig = true PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 服务端自定义端口 PrivateKey = 服务端私钥[Peer] PublicKey = 客户端公钥 AllowedIPs = 10.0.0.2/32 |
启动服务:
1 |
sudo systemctl start wg-quick@wg0 |
至此,服务端、客户端配置已完成。
Debian 搭建 WireGuard 服务端相关推荐
- 如何在 MacOS 环境下搭建 SVN 服务端环境
文章目录 在服务端创建资源仓库 资源仓库访问权限配置 给资源仓库添加用户 配置用户组及用户的权限 启动 SVN 服务器 停止 SVN 服务器 SVN 是一个使用十分广泛的开放源代码的版本控制系统.在 ...
- vue.js+koa2项目实战(四)搭建koa2服务端
搭建koa2服务端 安装两个版本的koa 一.版本安装 1.安装 koa1 npm install koa -g 注:必须安装到全局 2.安装 koa2 npm install koa@2 -g 二. ...
- Debian搭建Samba服务
Debian搭建Samba服务 安装服务 将用户注入到Samba组 在home目录下创建share共享文件 设置share文件的权限(读写可执行) 编译Samba文件 comment :共享名称 pa ...
- HTML+JS+websocket 实现联机“游戏王”对战(十)- 搭建游戏服务端
目录: 游戏王联机卡牌对战 1 - 前言 游戏王联机卡牌对战 2 - 联机模式 游戏王联机卡牌对战 3 - 界面布局 游戏王联机卡牌对战 4 - 卡组系统 游戏王联机卡牌对战 5 - 卡片选中系统 游 ...
- 快速搭建Kerberos服务端及入门使用
快速搭建Kerberos服务端及入门使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Kerberos是一种网络身份验证协议.它旨在通过使用秘密密钥加密为客户端/服务器应用程序提 ...
- Android搭建WebSocket服务端
WebSocket简介 WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端.全双工就是指客户端和服务端可 ...
- 使用Eclipse和Tomcat搭建Android服务端
作为一名Android开发者,不懂一点服务端的知识有时候真的不行.比如你做好了用户登录请求的功能,想找服务端验证一下是否正确.服务端同事告诉你他很忙,等他把接口写完了再验证.这时候呢,我们完全可以自己 ...
- 怎么在Win7服务器搭建SVN服务端
怎么在Win7服务器搭建SVN服务端 今天码大夫给大家分享在Windows服务器上如何搭建SVN环境的详细步骤: 工具/原料 1.VisualSVN server 这是服务器端的安装应用程序,根据自己 ...
- nuxtjs+express+vue2+vuex搭建的服务端渲染(SSR)个人网站项目 1
5se7en.com nuxtjs+express+vue2.0+vuex搭建的服务端渲染个人网站项目. github项目地址: https://github.com/se7en-1992... 项目 ...
最新文章
- matlab中imresize函数的用法,为何 MATLAB imresize 函数和 OpenCV resize 函数结果不同
- MySQL之mysql客户端工作的批处理一些使用手法
- esp32 怎么分配freertos 堆栈大小_详解STM32单片机的堆栈
- codeforces 几道题目
- K/3 MRP运算数据不准的原因及解决方案
- 多路IO转接服务器 epoll
- 再读TCP/IP网络7层协议
- 1 jquery对checkbox的简单操作
- 机器学习中的数学基础相关知识总结
- 爬虫案例:利用python爬虫关键词批量下载高清大图
- java 数组 concat_JavaScript concat() 方法
- 概率论与数理统计(一)—— 联合概率、条件概率与边缘概率
- 记事本如何运行python代码_利用Python开发实现简单的记事本
- GRE tunnel 2
- 2022-2028全球与中国无线电远程单元市场现状及未来发展趋势
- VMware虚拟机内Ubuntu系统安装教程
- Android开发-窗口跳转
- CiteSpace学习笔记(七)——网络信息的查看
- 查询计算机u盘记录时间,怎么通过系统日志查看u盘的拔出时间
- 送给她最最浪漫的表白(Python代码实现)
热门文章
- hp9000 e25服务器 显示器,DIY瞎折腾 篇十五:又挽救了一台显示器-HP 2011X-附翻车过程...
- STM32驱动DS18B20温度传感器
- 时间复杂度 与 空间复杂度
- 贝叶斯概率在目标跟中的应用及CK方程推导(20.9.27)
- 看了功夫熊猫,非常不错。
- 10uec++多人游戏【开枪震动效果】
- SpringBoot_Themeleaf的配置
- encodeURI之URL中文参数问题
- spark ml 随机森林源码笔记二
- (开源)STC89c51结合ESP8266制作物联网环境监测系统+APP inventor制作手机App实时显示