wireguard安装

yum install epel-release elrepo-release
yum install yum-plugin-elrepo
yum install kmod-wireguard wireguard-tools
yum install iptables-services

注意:安装完后重启系统

所有节点机器内核开启路由转发

sysctl -w net.ipv4.ip_forward=1

gateway 配置(公网IP)

cd /etc/wireguard
#生成密钥对
wg genkey | tee privatekey | wg pubkey > publickey

cat > wg0.conf <<EOF
[Interface]
ListenPort = 1000
Address = 10.255.8.1/24
#公网服务器私钥
PrivateKey = ${GATEWAY_SERVER_PRIVATE_KEY}
MTU = 1500
#注意网络接口名称:eth0, 改成实际网络接口
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
EOF

#启动
wg-quick up wg0

客户端配置( 无公网IP)

cd /etc/wireguard
#生成客户端密钥对
wg genkey | tee privatekey | wg pubkey > publickey

cat > wg0.conf <<EOF
[Interface]
Address = 10.255.8.2/24
#客户端私钥
PrivateKey = ${NAT_A_PRIVATE_KEY}
MTU = 1500
#注意网络接口名称:eth0, 改成实际网络接口
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

[Peer]
#客户端公钥
PublicKey = ${GATEWAY_SERVER_PUBLIC_KEY}
#包括其他客户端的内网IP段,用逗号分隔(打通各个peer内网)
AllowedIPs =  10.255.8.0/24,192.168.137.0/24,192.168.2.0/24
Endpoint = ${GATEWAY_SERVER:1000}
PersistentKeepalive = 25
EOF

#启动
wg-quick up wg0

gateway 添加peer

[Peer]
PublicKey = 客户端公钥
#包括当前peer内网的网段
AllowedIPs = 10.255.8.2/32,192.168.137.0/24

服务管理

wg-quick up wg0    #启动服务端
wg-quick down wg0  #停止服务端
wg show            #查看节点列表

systemctl enable wg-quick@wg0.service
systemctl start wg-quick@wg0.service
systemctl stop wg-quick@wg0.service

内网其他机器添加静态路由:

route add -net 192.168.0.0/24 gw 192.168.2.192
route add -net 192.168.137.0/24 gw 192.168.2.192
route add -net 192.168.138.0/24 gw 192.168.2.192

可以添加到 /etc/rc.d/rc.local 中开机启动执行添加路由

注意事项

  • 安装完成后需重启系统
  • PostUp,PostDown网卡名称不要弄错
  • 所有peer的内网网段需配置在客户端AllowedIPs中,gateway的各个网段是配置在每个peer段中(内网互通)
最后修改:2021 年 11 月 26 日 01 : 59 PM
如果觉得我的文章对你有用,请随意赞赏