(S2S)配置WireGuard VPN.note

noteId: WEBb2ff639b6d324a19e8b70cc51383ee54 · 原始路径:/ALL/Linux - A模块/服务配置/VPN合集(openvpn、l2tp、wireguard)/WireGuard VPN/(S2S)配置WireGuard VPN.note · 图片:8 · 附件待处理:0

 
很简单的VPN,配置不多,要记的只有一个 ListenPort 和 生成私钥、公钥的命令
 
一、配置 IPv4 S2S:
 
·拓扑:
公网地址:1.1.1.1,1.1.1.2
隧道地址:10.0.0.1,10.0.0.2
内网地址:172.16.10.0/24,192.168.10.0/24
 
1、配置 S2S站点1:
# 安装软件包:
## 在 ncat 中可以直接复制整个tunnel配置
apt install -y wireguard ncat
 
# 复制模板(需要安装 ncat):
vim /usr/share/doc/wireguard-tools/examples/ncat-client-server/client-quick.sh
 
# 生成 私钥/公钥:
wg genkey | tee key1 | wg pubkey > pub1
## 或者这样生成:
wg genkey > key1
cat key1 | wg pubkey > pub1
 
# 配置wireguard:
vim /etc/wireguard/wg0.conf
AllowedIPs 会在本地自动添加路由
 
PrivateKey    //写本地私钥
ListenPort    //唯一需要背的参数,监听端口(UDP),一般是51820
Address    //定义隧道地址(可同时定义IPv4和IPv6地址)
 
PublicKey    //写对端公钥
Endpoint    //写对端公网地址:端口
AllowedIPs    //定义需要被加密的流量(这里写对端内网地址)(同时也要包含隧道地址,否则隧道通不了)
 
PersistentKeepalive    //(可选参数)保持隧道连接状态(每25秒发送一个udp保活数据包)
 
 
2、配置 S2S 站点2:
# 安装软件包:
## 在 ncat 中可以直接复制整个tunnel配置
apt install -y wireguard ncat
 
# 生成 私钥/公钥:
wg genkey | tee key1 | wg pubkey > pub1
## 或者这样生成:
wg genkey > key1
cat key1 | wg pubkey > pub1
 
# 配置wireguard:
vim /etc/wireguard/wg0.conf
 
PrivateKey    //写本地私钥
ListenPort    //唯一需要背的参数,监听端口(UDP),一般是51820
Address    //定义隧道地址(可同时定义IPv4和IPv6地址)
 
PublicKey    //写对端公钥
Endpoint    //写对端公网地址:端口
AllowedIPs    //定义需要被加密的流量(这里写对端内网地址)(同时也要包含隧道地址,否则隧道通不了)
 
PersistentKeepalive    //(可选参数)保持隧道连接状态(每25秒发送一个udp保活数据包)
 
·加上预共享密钥:
wg genpsk    //生成预共享密钥
 
# 然后在 wg0.conf 中调用:
 
 
·还可以配置 IPv6隧道(直接加上 IPv6地址即可):
还可以配置双栈的S2S,同时存在IPv4和IPv6。
无所谓隧道地址是 IPv4 还是 IPv6,只要隧道地址能够通,就能够承载 IPv4或IPv6流量(可以理解为:IPv6 over IPv4 或 IPv4 over IPv6)
 
一端:
 
另一端: