当前位置:网站首页>Debian 搭建 WireGuard 服务端
Debian 搭建 WireGuard 服务端
2022-07-31 05:19:00 【wdhqwe520】
CONTENTS
本文以 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 [email protected] sudo systemctl start [email protected] |
查看服务状态:
1 | sudo systemctl status [email protected] |
查看实际效果:
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 [email protected] sudo systemctl start [email protected] |
查看服务状态:
1 | sudo systemctl status [email protected] |
服务端再配置
在服务器上:
1 2 | sudo systemctl stop [email protected] 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 [email protected] |
至此,服务端、客户端配置已完成。
边栏推荐
- C语言知识点(二)
- MySQL free installation download and configuration tutorial
- ImportError: cannot import name 'Xxxx' from partially initialized module 'xx.xx.xx'
- [Solved] ssh connection report: Bad owner or permissions on C:\\Users/XXX/.ssh/config
- 关于Iframe
- 通过js禁止ctrl+滚轮放缩浏览器页面,禁止用手势放大
- 多线程截取视频为每帧
- VS2019配置配置项目属性自定义输出目录与中间目录
- nacos1.4.1创建配置报错
- Webrtc从理论到实践一:初识
猜你喜欢
随机推荐
等待,信息打印,浏览器操作,键盘事件
ES6-对象
英语学习笔记
ES6-02-let和const关键字
常见网络攻击与防御方法
对称加密和非对称加密
mobaxterm 编码问题解决
C语言结构体(必须掌握版)
cenos7安装cmake-3.22.2
【Rhapsody学习笔记】3:Dishwasher
【博学谷学习记录】超强总结,用心分享 | 软件测试 测试基本概念、模型与用例
[Solved] ssh connection report: Bad owner or permissions on C:\\Users/XXX/.ssh/config
超详细!!!让你了解冒泡排序的底层逻辑和思想
DOM操作-事件的绑定与解绑
DOM操作案例1-点击,使表格的颜色切换(点击单元格,整行或整列颜色切换)
Wlan实验(ENSP)
通过js禁止ctrl+滚轮放缩浏览器页面,禁止用手势放大
随机数,函数
【Rhapsody学习笔记】4:Relations
UR3机器人雅克比矩阵