组网神器WireGuard安装与配置(实践笔记)
创作时间:
作者:
@小白创作中心
组网神器WireGuard安装与配置(实践笔记)
引用
CSDN
1.
https://blog.csdn.net/qq_20042935/article/details/143324577
01 引言
博主之前也写过类似的一篇,有兴趣的同学可以参考下《组网神器WireGuard安装与配置教程(超详细)》
WireGuard是什么?维基百科是这样描述的:
- WireGuard是一种实现加密虚拟专用网络(VPN) 的通信协议和免费开源软件,其设计目标是易于使用、高速性能和低攻击面;
- 它旨在比IPsec和OpenVPN这两种常见的隧道协议具有更好的性能和更强大的功能;
- WireGuard协议通过UDP传递流量。
通过描述,我们知道了WireGuard其实就是一个FAST(速度快)、MODERN(流行)、SECURE (安全)的VPN TUNNEL(VPN隧道)。
那么如何安装呢?本文来讲解下在云服务器下的安装教程,本文是基于 CentOS7.6 的环境下安装的。
02 安装教程
step1:云服务器准备
如果要在外网的情况下使用WireGuard,是需要有公网的IP地址(这些地址可以直接在腾讯云、阿里云等厂商购买)。这里比较推荐的是腾讯云,他们有免费试用版,可以在这个地址申请:https://cloud.tencent.com/act/pro/free?from=19067
这里使用的是2核2G3M 1个月的版本。选择CentOS7.6版本,反正试用都是免费的。
ok,细节这些就不讲了,一直下一步即可。准备完成之后,可以SSH登录上去安装WireGuard了。
step2:WireGuard服务端安装
安装脚本如下:
curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
yum install epel-release
yum install wireguard-dkms wireguard-tools
step3:WireGuard服务端配置
- 创建 WireGuard 配置文件
sudo mkdir /etc/wireguard
sudo chmod 600 /etc/wireguard
- 生成公钥和私钥
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
- 新建并编辑wireguard配置文件(例如:wg0.conf)
[Interface]
PrivateKey = 服务端私钥
Address = 10.0.0.1/24
ListenPort = 51820
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
10.0.0.1/24 是你为 WireGuard VPN 网络内部分配的 IP 地址。这个地址不需要从外部获取,而是由你自行定义的,用于 VPN 内部的通信。通常情况下,10.0.0.x/24这类 IP 地址属于私有 IP 地址空间,可以自由使用,不会与公共互联网上的地址冲突。
step4:启用并启动 WireGuard
# 开机启动
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo systemctl stop wg-quick@wg0
开启IPv4流量转发:
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
## 生效
sudo sysctl -p
## 检查
sysctl net.ipv4.ip_forward
其它命令:
# 手动删除已经存在的 wg0 接口
sudo wg-quick down wg0
# 尝试重新启动 WireGuard:
sudo wg-quick up wg0
# 重启wireguard命令
sudo systemctl restart wg-quick@wg0
# 服务端检测客户端是否注册上
sudo wg show
验证是否安装成功(如果有如下命令,表示安装成功):
sudo systemctl status wg-quick@wg0
03 完整配置示例
服务端:
[Interface]
PrivateKey = 服务端私钥(即上面生成的server_private.key的内容)
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
# 用户1
PublicKey = 客户端公钥(直接客户端或wg命令生成)
AllowedIPs = 10.0.0.2/32
[Peer]
# 用户2
PublicKey = 客户端公钥(直接客户端或wg命令生成)
AllowedIPs = 10.0.0.3/32
客户端:
[Interface]
PrivateKey = 客户端私钥(直接客户端或wg命令生成)
Address = 10.0.0.2/24
[Peer]
PublicKey = 服务端公钥
Endpoint = 公网IP:51820
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
wg命令生成公钥和私钥的命令:
wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.key
04 遇到的问题
- CentOS 7.6 安装epel失败,解决方式如下:
curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
yum install epel-release
yum install wireguard-dkms wireguard-tools
- 腾讯OpenCloudOS或其他内核比较低的版本安装失败,解决方式:升级内核并重启:
sudo yum update kernel
# 然后重启
sudo reboot
外网端口不可用,解决方式:开放防火墙端口,如:51820
可能用到的一些命令
修改SSH端口
sed -i 's/#Port 22/Port 你想要修改的ssh端口/' /etc/ssh/sshd_config
systemctl restart sshd
systemctl status sshd
安全防护
## 安装clamav
sudo yum install clamav clamav-update
## 更新病毒库
sudo freshclam
## 全系统扫描
sudo clamscan -r /
## 设置定期扫描
crontab -e
## 添加一条,每天凌晨两点执行
0 2 * * * /usr/bin/clamscan -r / > /var/log/clamav/scan.log
## 扫描完成后,可以查看生成的日志文件
cat /var/log/clamav/scan.log
## 查看感染的文件
grep "Infected" /var/log/clamav/scan.log
## 删除文件
sudo rm <文件路径>
热门推荐
招财进宝清蒸多宝鱼
数十块牛排煎制经验分享,揭秘牛排烹饪的完美之道!
中国银行下调交易限额,防诈保安全
邮储银行深圳分行牵手财付通,精准反诈实现双赢
诗词大会热议:必读的经典短诗赏析
简·赫斯菲尔德新书教你从生活中找诗
小诗创作五大技巧,让你秒变诗人
研究证实:颈部运动可有效缓解慢性颈椎病头痛
几乎人人中招3个的伤颈椎姿势,来看看如何预防避免
苏州太湖西山岛:太湖边的诗意生活
王子耀案一审宣判引发争议:无期徒刑是否太轻?
王子耀案:家属誓要讨回公道,引发社会对未成年人犯罪处罚的深思
王子耀案再掀热议:父亲众筹30万引争议,未成年人犯罪该如何惩处?
自费交社保,每年能补贴最多6000块!最新4050政策解读
葛根粉是凉性的还是热性的?女性每天吃点葛根粉会怎样?早做了解
葛根粉的最佳吃法:从简单冲泡到创意料理
鲍鱼烹饪新玩法:5种创意做法让你大展身手
红烧鲍鱼:中国饮食文化的瑰宝
福建红烧鲍鱼:舌尖上的千年传承
《左传》究竟有什么魅力?其中隐藏的大智慧,学会了终身受用无穷
愿“孝”不愿“顺”:青年网民的代际观念变迁趋势
中年时期兄弟姐妹关系的维系之道:从心理学角度解析
手机摄影技巧:从静态照片到动感短视频
《叶罗丽月灵石》:辛灵的心理成长之路
《精灵梦叶罗丽》:国风设计引领中国动画新潮流
粉丝配菜的最佳搭配款不同做法,美味又下饭
南京清凉山公园:一座城市的起源与文化记忆
百团大战指挥秘籍:彭德怀的军事艺术与争议
攀枝花:万里长江上游第一城
彭德怀指挥百团大战:一场改变抗战局势的关键战役