经网友需求

官方安装文档:

https://www.wireguard.com/install/
系    统:  centos 7.x
内核要求:  > 3.10 (uname -r)### Method 1: a signed module is available as built-in to CentOS's kernel-plus:
$ sudo yum install yum-utils epel-release
$ sudo yum-config-manager --setopt=centosplus.includepkgs=kernel-plus --enablerepo=centosplus --save
$ sudo sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/' -i /etc/sysconfig/kernel
$ sudo yum install kernel-plus wireguard-tools
$ sudo reboot### Method 2: users wishing to stick with the standard kernel may use ELRepo's pre-built module:
$ sudo yum install epel-release elrepo-release
$ sudo yum install yum-plugin-elrepo
$ sudo yum install kmod-wireguard wireguard-tools### Method 3: users running non-standard kernels may wish to use the DKMS package instead:
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ sudo yum install wireguard-dkms wireguard-tools

wireguard 配置:

# 3.1) 创建目录:
mkdir -p /etc/wireguard# 3.2) 创建server端的公私钥:
wg genkey | tee privatekey-server | wg pubkey > publickey-server # 3.3) 创建client端的公私钥:
wg genkey | tee privatekey-client | wg pubkey > publickey-client# 3.4) 创建配置文件:[root@bj-vnp wireguard]# cat wg0.conf
[Interface]
Address = 10.10.0.1/24
SaveConfig = false
DNS = 8.8.8.8
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = UG0DrMJ1jQmaExSy6LOOwanDFyplfSgBtzCUKmL772k=# 添加新用户,就新生成一组秘钥对,此处加入peer,后面可以有很多.
# office
[Peer]
PublicKey = zy3IkHgq6SdM
AllowedIPs = 10.10.0.2                                              # home
[Peer]
PublicKey = t6ab6f6j2
AllowedIPs = 10.10.0.3################################################################################################
Interface:   服务端的配置端口 DNS  IP  规则, 私钥都在这个栏目下配置
Address  :   服务端IP地址, 主要要加上 子网掩码,内网服务可以写内网地址,在路由器上做好端口映射即可.
SaveConfig:
DNS      :  取得的DNS地址 8.8.8.8
PostUp   :  服务端启动后,添加这个规则,用于伪装和转发各种流量.
PostDown :  服务端关闭后,执行这个命令规则,清理启动时添加的规则.
ListenPort: wireguard 默认端口51820.
PrivateKey: 注意此处填写的是服务端的私钥.[Peer]   :   声明一个节点
PublicKey:  该节点的公钥
ALLowedIPs: 连接后获取的地址.  注意此处只需要分配一个固定的IP地址即可.# 3.5) 开启内核转发功能,系统其它设置打开转发:echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.proxy_arp = 1" >> /etc/sysctl.conf
sysctl -p

启动,停止,查看状态:

# 4.0 )不中断活跃连接的情况下重新加载配置文件:
wg syncconf wg0 <(wg-quick strip wg0)# 4.1 ) 启动 wireguard:
wg-quick down wg0 && wg-quick up wg0wg-quick up wg0[root@bj-vpn wireguard]# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.10.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] mount `8.8.8.8' /etc/resolv.conf
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE# 4.2 ) 停止 wireguard:
wg-quick down wg0[root@bj-vpn wireguard]# wg-quick down wg0
[#] ip link delete dev wg0
[#] umount /etc/resolv.conf
[#] iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE# 4.3 ) 查看wireguard 客户端状态:
wg[root@bj-vpn wireguard]# wg
interface: wg0public key: sIPp+stGXBzprivate key: (hidden)listening port: 51820peer: zy3IkHgq6Sdallowed ips: 10.10.0.2/32peer: t6ab6f6j2Rwallowed ips: 10.10.0.3/32

客户端的下载安装配置

# windows:
https://download.wireguard.com/windows-client/wireguard-installer.exe打开软件 - 左下角 新建空隧道 - (填写内容) - 起个名字 [Interface]
PrivateKey =  < 这里填写 Client 上 privatekey 的内容 >
ListenPort = 51820
Address = 10.10.0.2/24
DNS = 8.8.8.8      # 连接后使用的 DNS, 如果要防止 DNS 泄露,建议使用内网的 DNS 服务器[Peer]
PublicKey =  < 这里填写 Server 上 publickey 的内容 >
AllowedIPs = 10.10.0.0/16, 192.168.10.0/24, 192.168.2.0/23     # 指定要访问的服务端网段,或者设置0.0.0.0/0来进行全局代理.
Endpoint = 公网IP:51820    # 服务端公网暴露地址,51280 指定的端口,可以更改.
PersistentKeepalive = 25*** 如果有其他的就按照上面的[Peer]继续添加即可.保存后直接点-连接-就能看到是否连接上,日志项也能查看过程.**** 重要提示 ****:server 端[Peer]下的AllowedIPs 是写链接过来后获取的IP地址. 类似分配一个固定的IP地址client 端[Peer]下的AllowedIPs 是写的那些网段的路由可以通过WG0转发,如果全局都要走wireguard就设置成0.0.0.0/0 。

Centos 7 安装 Wireguard相关推荐

  1. CentOS 8 安装图解

    继 RHEL 8 发布之后,CentOS 社区也发布了让人期待已久的 CentOS 8,并发布了两种模式: CentOS stream:滚动发布的 Linux 发行版,适用于需要频繁更新的开发者 Ce ...

  2. centOS 自动安装php

    centos下安装php #yum install -y php 这个只安装PHP 建议安装运行库及MySQL的支持 #yum install -y php php-devel php-mysql 如 ...

  3. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  4. linux卸载欧朋浏览器,如何在Centos下安装opera浏览器

    如何在Centos下安装opera浏览器 ,Opera目前是Linux平台上性能最优的浏览器,而且Opera中国团队本身即定位于Opera的研发中心,主要也是负责全球Linux平台项目的开发,这个版本 ...

  5. 如何在Ubuntu/CentOS上安装Linux内核4.0

    如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...

  6. CentOS 7 安装 Jenkins

    CentOS 7 安装 Jenkins 准备工作 首选需要安装JAVA环境 这个简单不说了 如果你的系统没有自带git,那么也需要安装一个 yum install git 1.安装 第一种方法 sud ...

  7. centos+ffmpeg安装配置+切片

    在虚拟机vmware6(版本比较旧了)中,安装centos6,不多说了. vmware虚拟工具安装前,需要安装如下内容 yum -y install kernel-devel yum -y insta ...

  8. centos 编译安装mysql

    centos 编译安装mysql,请看附件 转载于:https://blog.51cto.com/3131854/1883713

  9. 在CentOS下安装apche+tomcat+mysql+php

    在CentOS下安装apche+tomcat+mysql+php 本例中所用到的软件 Apache 2.2 Sun的JDK-1_5_0_12-linux-i586 MySQL: mysql-5.0.4 ...

最新文章

  1. .net 应用迁移到Mono 工具 (Moma)
  2. 关于.Net中Process和ProcessStartInfor的使用
  3. 眼下发展最迅猛的十家网络安全公司
  4. python交流群教学视频_自学 Python,视频教程和代码一看就懂,动手就废,应该这么学...
  5. addall php,ThinkPHP3.2框架使用addAll()批量插入数据的方法
  6. java 事务管理 子父线程_Java中的父线程与子线程
  7. 那些年移动互联网行业曾经走过的弯路
  8. sql语句学习之having用法
  9. 凝胶渗透色谱的基本概念(一)
  10. PS CC2018安装及破解方法
  11. python抓取QQ空间博客文章
  12. 3dsmax部分基础快捷键
  13. 跳跳棋【LCA】【二分】
  14. [安装之1] dell设置从ssd启动_如何进bios设置ssd固态硬盘为第一启动
  15. 手把手教你接入微信开放平台,实现网站拉起微信账号登录,从0开始详细记录
  16. 资金安全责任险对个人账户负责?
  17. Python基础之基本结构
  18. 终于解决了PADS,Altium,ORCAD的相互转换问题
  19. 1352: 兔子繁殖问题
  20. 5GC——UE周期性注册和移动更新注册流程

热门文章

  1. pyqt按钮带参数点击事件
  2. 购买https 证书一般需要多少钱
  3. 计算机控制系统的类型的ppt,计算机控制系统及应用课件.ppt
  4. 量化投资01----股票_贵州茅台600519_双均线策略回测
  5. php导出图片到excel
  6. ar9331下串口使用总结
  7. 一名软件工程师裸身跳楼身亡
  8. cms网站--网站建设系统
  9. Guacamole搭建,一个基于HTML5的远程桌面
  10. Java爬虫:大量抓取二手房信息并存入云端数据库过程详解(三)