记centos7的wiregrand服务搭建

centos7内核太老,首先升级内核

一、查看内核版本

uname -r 查看内核版本

[root@web1 ~]# uname -r
3.10.0-514.el7.x86_64

二、安装更新

1.导入 elrepo 的 key 然后在安装 elrepo 的 yum 源:

rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org ###key
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm   ###yum源

2.安装内核 自动安装最新的

yum -y --enablerepo=elrepo-kernel install kernel-ml

三、切换内核启动顺序

1.查看启动顺序

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

2.切换到最新的内核 0代表内核序号

grub2-set-default 0
rebot #重启

安装wiregrand服务

一、关闭防火墙

关闭 Linux 服务器的自带防火墙,使用iptables来管理端口转发。
注意如果你的服务器是类似阿里云、腾讯云等服务商提供,还需要登录控制台的防火墙,开放一个UDP端口,本文以45678为例。请再三确认该端口已正常开放,你可以使用nc命令或者其他在线检测工具来测试服务器已正常开放该UDP端口。

systemctl stop firewalld
systemctl disable firewalld

二、开启服务转发

systemctl stop firewalld
systemctl disable firewalld

三、安装wiregrand

yum install -y yum-utils epel-release
yum-config-manager --setopt=centosplus.includepkgs=kernel-plus --enablerepo=centosplus --save
sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/' -i /etc/sysconfig/kernel
yum install -y kernel-plus wireguard-tools   
reboot 

yum install -y kernel-plus wireguard-tools   # 安装 kernel-plus 内核和官方 wireguard-tools
reboot # 安装完毕需重启

四、创建公钥私钥

一对公钥私钥对应一个客户端

cd /etc/wireguard/
umask 077
# 设置目录默认权限

wg genpsk > sharekey
# 可选,生成预共享密钥

wg genkey > server.key
wg pubkey < server.key > server.key.pub
# 服务器的公钥私钥

wg genkey > iphone.key
wg pubkey < iphone.key > iphone.key.pub
# iPhone 的公钥私钥

其中.key为私钥,.key.pub为公钥,可以使用cat server.key命令获取。

五、配置服务端

执行以下命令获取当前服务器默认网卡的名称,用于配置iptabls的流量转发。一般情况下网卡名称有可能为eth0ens192ens3等等。本文示例为eth0

ifconfig #查看网卡配置

创建wg0.conf服务器配置文件

# 依旧在 /etc/wireguard 目录下执行 
vi wg0.conf
  • [Interface] 区域为服务器端。
  • [Interface] - PrivateKey 为上文创建的服务器端私钥,即server.key。
  • Address 为服务端的内网 IP,可以自行选择例如192.168.0.1或10.0.0.1,但是需注意请勿和服务器所在内网网段冲突,例如博主家内网网段为 192.168.1.X,这台 CentOS 7 服务器的内网 IP 为 192.168.1.15,则不能使用 192.168.1.X 该网段。
  • ListenPort 为服务端口,需在防火墙开放此端口的UDP访问,或进行路由器端口映射。
  • DNS 服务器自行选择。
  • PostUp 为启动命令的 iptabls 配置,注意需要修改 ens192 为你的服务器网卡名。
  • PostDown 为停止命令的 iptabls 配置,注意需要修改 ens192 为你的服务器网卡名。
  • [Peer] 为客户端配置,必须为每个客户端分别配置。
  • [Peer] - PublicKey 为上文创建的客户端公钥,即macos.key.pub。
  • AllowedIPs 为该客户端指定 IP,注意不要和其他客户端冲突。
  • PresharedKey 为预共享密钥,根据上文可选设置。
# 服务端配置
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Address = 10.0.0.1
ListenPort = 45678
DNS = 114.114.114.114
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


########### 以下为各个客户端信息 ###########
# macOS
[Peer]
PublicKey =  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.0.0.2/32
PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PersistentKeepalive = 25

# iPhone
[Peer]
PublicKey =  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.0.0.3/32
PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PersistentKeepalive = 25

六、启动服务

执行以下命令启动服务,并设置开机自动启动。

systemctl enable wg-quick@wg0
# 设置开机自动启动
wg-quick up wg0
# 启动
wg-quick down wg0
# 停止

安装wiregrand客户端

软件自行谷歌

客户端的配置文件其实相对简单,但是最重要是的AllowedIPs这一项路由信息需要根据你实际需求来设置,以下以iPhone客户端的配置为例:

  • 由于此配置为客户端iPhone使用,[Interface]则为iPhone的相关配置,[Peer]则为服务端也就是CentOS 7的服务器相关信息。
  • Address 为该iPhone的内网 IP,对应上述服务端配置,此处iPhone的 IP 应为10.0.0.3。
  • [Interface] - PrivateKey 为上文创建的iPhone 的私钥,即iphone.key。
  • DNS 服务器自行选择。
  • [Peer] 为服务端的配置信息
  • [Peer] - PublicKey 为服务端公钥,即server.key.pub。
  • AllowedIPs - 为路由信息,本文0.0.0.0/0则代表全局代理转发,写上文的代理ip 10.0.0.0/24就行。
  • PresharedKey 为预共享密钥,根据上文可选设置。
  • Endpoint = 为服务端的 IP 和端口,也可以使用域名加端口。
# 客户端配置 示例 iPhone
[Interface]
Address = 10.0.0.3/32
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DNS = 114.114.114.114

# 服务端配置
[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.0.0.0/24
PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Endpoint = xxx.xxx.xxx.xxx:45678
PersistentKeepalive = 25

参考了两篇文章 十分感谢分享

https://blog.csdn.net/qq_45344835/article/details/130828282
https://www.ioiox.com/archives/163.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值