(S2S)配置WireGuard VPN.note
很简单的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/241、配置 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)
一端:

另一端:
