简介
2017年,新一代VPN技术wireguard诞生。wireguard基于linux kernel内核运行,效率极高,速度很快,而且支持设备IP地址漫游功能,不仅适合服务器之间的互联,还适合在NAT环境下使用,包括家中的智能路由器,配合openwrt等路由器,可安装wireguard,实现路由器绑定wireguard代理功能。
安装
系统环境,内核版本
CentOS Linux release 7.6.1810 (Core)
Linux 5.1.12-1.el7.elrepo.x86_64 #1 SMP Wed Jun 19 08:49:21 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
升级系统内核到最新版
yum update -y reboot
安装wireGuard
sudo curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo sudo yum install epel-release -y sudo yum install wireguard-dkms wireguard-tools -y
优化内核,开启转发
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr net.ipv4.ip_forward = 1
创建证书
mkdir /etc/wireguard cd /etc/wireguard wg genkey | tee privatekey | wg pubkey > publickey
编写服务端配置文件
vim /etc/wireguard/wg0.conf [Interface] Address = 10.200.200.1/24 MTU = 1420 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 36661 PrivateKey = $服务端私钥 [Peer] PublicKey = $客户端公钥 AllowedIPs = 10.200.200.2/32 ################################################### 配置简介 [Interface] 本地网络接口配置 Address 地址 MTU 最大传输单元,不要调整 PostUp 启动传入的参数 PostDown 停止传入的参数 ListenPort 端口信息 PrivateKey 服务端的私钥 [Peer] 客户端认证配置 PublicKey 客户端的公钥 lowedIPs 允许通信的地址