WireGuard中继节点的部署安装
本文最后更新于 403 天前,其中的信息可能已经有所发展或是发生改变。

介绍

WireGuard中继节点就是通过带公网IP的服务器对在net后面的客户端进行流量转发。
本文介绍的是在centos7下进行的部署和配置。

安装部署

1.下载WireGuard

官网推荐了三种方式,我这里采用了第二种。

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

2.配置服务器转发

需要开启ipv4、ipv6的NET流量转发

sudo bash -c 'cat << EOF >> /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
EOF'
sudo sysctl -p

3.配置服务端文件

进入配置目录:
cd /etc/wireguard
生成服务端公私钥:
wg genkey | tee server_privatekey | wg pubkey > server_publickey
新建配置文件:
vim wg0.conf
配置内容参考:

[Interface]
# 服务器的虚拟VPN ip
Address = 192.168.198.1/24
SaveConfig = true
# 对数据进行转发 注意通过ifconfig查看对应的网卡替换eth0 一般默认都是eth0
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -A FORWARD -o wg0 -j ACCEPT; ip6tables -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; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -D FORWARD -o wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# 监听的UDP端口
ListenPort = 8888
# 上面生成的server_privatekey密钥文本 cat查看一下
PrivateKey = XXXXXXXXXXXXXXXXX

# 客户端1
[Peer]
# 客户端1公钥
PublicKey = XXXXXXXXXXXXXXXXXXXX
# 客户端的转发地址
AllowedIPs = 192.168.100.0/24,192.168.198.2/32,192.168.110.0/24

# 客户端2
[Peer]
# 客户端2公钥
PublicKey = XXXXXXXXXXXXXXXXXXXXXXX
AllowedIPs = 192.168.198.3/32

4.开启masquerade

注意服务器和子网节点如果安装了firewalld, 还需要在firewalld中开启masquerade(不开启可能导致中继节点与peer之间能通,peer和peer之间无法联通):

firewall-cmd --permanent --zone=public --add-masquerade
firewall-cmd --reload

5.启动服务

wg-quick up wg0
或者
systemctl start wg-quick@wg0

6.设置开机启动

systemctl enbale wg-quick@wg0

7.其他指令

# 增加peer节点
wg set wg0 peer 节点公钥 allowed-ips 192.168.198.5/32

# 查看状态
wg
wg show

# 抓包指令 用于排查问题
tcpdump -i wg0 -nn icmp

参考

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

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇