麦克的茶馆


  • 首页

  • 归档

  • 关于我

  • 搜索

在centos 8安装wireguard

时间: 2023-11-21 分类: 技术   字数: 872 字 阅读: 2分钟 阅读次数:

1 在centos 8安装wireguard

1.1 安装kmod-wireguard wireguard-tools

最简单的办法就是使用 ELRepo的仓库安装. 其他方法比较复杂不推荐.

sudo yum install elrepo-release epel-release
sudo yum install kmod-wireguard wireguard-tools

安装完成后,检查wireguard 模块是否正常工作.

#modprobe wireguard
#lsmod | grep wireguard
wireguard             212992  0
ip6_udp_tunnel         16384  1 wireguard
udp_tunnel             20480  1 wireguard

启用ip转发功能

#sudo vi /etc/sysctl.conf

增加一句: 
net.ipv4.ip_forward=1

#sudo sysctl -p

1.2 配置服务器端

生成密匙. 下面的命令,在 /et/wireguard/目录下,生成 privatekey 和 publickey两个密匙

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

创建 /etc/wireguard/wg0.conf 文件,可以配置多个客户端

[Interface]
Address = 192.168.10.1/24
ListenPort = 服务器端口
PrivateKey = 服务器生侧使用的 privatekey
PostUp = iptables -I FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT

[Peer]
PublicKey = 第一个客户端到的publickey
AllowedIPs = 192.168.10.2/32

[Peer]
 PublicKey = 第二个客户端到的publickey
 AllowedIPs = 192.168.10.3/32
 
 ....

如果使用iptables.service打开服务器监听端口

sudo iptables -I INPUT -p udp -m udp --dport server_listen_port -j ACCEPT

如果使用firewalld,对应命令为:

sudo firewall-cmd --zone=public --add-port=port/udp

为了保证私钥的安全,请将wg0.conf和privatekey文件对普通用户不可读。

sudo chmod 600 /etc/wireguard/privatekey
sudo chmod 600 /etc/wireguard/wg0.conf

1.3 配置客户端

生成密匙. 下面的命令,在 /et/wireguard/目录下,生成 privatekey 和 publickey两个密匙

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

创建 /etc/wireguard/wg0.conf 文件

[Interface]
Address = 192.168.10.2/24
PrivateKey = 客户端 privatekey

[Peer]
PublicKey = 服务器的publickey
Endpoint = 服务器的ip:port #这个端口和服务器的监听端口一致.
AllowedIPs = 192.168.10.0/24

1.4 调试和启动

在服务区和客户端上,都执行

 sudo wg-quick up wg0 
 用 sudo wg show wg0 命令,查看状态

服务器的命令结果:

interface: wg0
   public key: I5kyw3VgcYe0E9U9qdfsfsdL+/FT6I1gV70Q1ng=
   private key: (hidden)
  listening port: xxxx

 peer: Rp7Gus0jhjpaTAHUNiphksdfsdfc/OCLOd3XpNxSYSAY=
   endpoint: client1_ip:51448
   allowed ips: 192.168.10.2/32
   latest handshake: 2 hours, 47 minutes, 44 seconds ago
   transfer: 103.87 KiB received, 759.56 KiB sent

peer: e6Omxk8D66xZAfasdfgi9HJpTrt64tXwm9zgYE8/1goV0=
  endpoint: client2_ip:46428
  allowed ips: 192.168.10.3/32
  latest handshake: 3 hours, 10 minutes, 24 seconds ago
  transfer: 1.55 KiB received, 1.46 KiB sent

客户端查询结果

interface: wg0
  public key: e6Omxk8D66xZAfasdfgi9HJpTrt64tXwm9zgYE8/1goV0 =
  private key: (hidden)
  listening port: xxxx

peer: I5kyw3VgcYe0E9U9qdfsfsdL+/FT6I1gV70Q1ng=
  endpoint: server_ip:xxxx
  allowed ips: 192.168.10.0/24
  latest handshake: 3 hours, 14 minutes, 7 seconds ago
  transfer: 27.35 KiB received, 39.61 KiB sent

如果没有数据,可以 在客户端 ping 192.168.10.1 这个服务器地址,测试通不通.

一切顺利后,使用下面的命令,开机启动 wireguard

sudo systemctl enable wg-quick@wg0

另外一种启动和停止wireguard服务的命令为 (代替 sudo wg-quick up wg0是一次性命令)

sudo systemctl start wg-quick@wg0
sudo systemctl stop wg-quick@wg0
sudo systemctl restart wg-quick@wg0

1.5 参考文档

1 如何在CentOS 8安装WireGuard VPN

2 Wireguard笔记(一) 节点安装配置和参数说明

3 WireGuard 的搭建使用与配置详解

#wireguard# #centos# #tun2socks#
在Linux下, 路由udp包,选择不同的路由
在openwrt上启动ipv6
mike163

mike163

30 日志
2 分类
57 标签
GitHub
友情链接
  • JFinal
  • Bookmarks
标签云
  • Nginx 6
  • Centos 3
  • Stream 3
  • Tls 3
  • Cloudflare 2
  • DNS 2
  • Er x 2
  • HTTPS 2
  • Iptable 2
  • Ipv6 2
© 2010 - 2024 麦克的茶馆
Powered by - Hugo v0.120.4 / Theme by - NexT
/
Storage by Gitee 仓库 / 粤 ICP 备 号
0%