WireGuard网络架构及配置详解

一.点对点
yum install epel-release elrepo-release -y
yum install yum-plugin-elrepo -y
yum install kmod-wireguard wireguard-tools -y
reboot
server A
umask 077
wg genkey > private
wg pubkey < private
ip link add wg0 type wireguard
ip addr add 192.168.1.1/24 dev wg0
wg set wg0 private-key ./private
ip link set wg0 up

[root@localhost ~]# wg
interface: wg0
  public key: ljISFZM9ueE/1EDSK5TdClJX1jXed33VFF+Hy=
  private key: (hidden)
  listening port: 60419

wg set wg0 peer dRFqzYMolk1lYDNZCjH8g1hhKxvqCg/tr66MxHE= allowed-ips 192.168.1.2/32 endpoint 192.168.6.22:55109
server B
umask 077
wg genkey > private
wg pubkey < private
ip link add wg0 type wireguard
ip addr add 192.168.1.2/24 dev wg0
wg set wg0 private-key ./private
ip link set wg0 up

[root@localhost ~]# wg
interface: wg0
  public key: dRFqzYMolk1lYDNZCjH8g1hhKxvqCg/tr66MxHE=
  private key: (hidden)
  listening port: 55109

wg set wg0 peer ljISFZM9ueE/1EDSK5TdClJX1jXed33VFF+Hy= allowed-ips 192.168.1.1/32 endpoint 192.168.6.21:60419
备注:删除peer
wg set wg0 peer ljISFZM9ueE/1EDSK5TdClJX1jXed33VFF+Hy= remove
直接应用配置文件:
wg setconf wg0 /etc/wireguard/wg0.conf
二.中心网关,实现nat穿透
弊端:流量全部经过中心网关,带宽上限受限于中心网关
中心IP: 3.3.3.3(公网IP) 虚拟地址:192.168.70.1
防火墙后服务器
serverA:192.168.1.21  192.168.70.21
serverB:172.16.10.22  192.168.70.22
中心IP: 3.3.3.3(公网IP) 虚拟地址:192.168.70.1
[Interface]
PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=
ListenPort = 51820

[Peer]
PublicKey = gN65BkIKy1eCE9pP1wdc8ROUtkHLF2PfAqYdyYBz6EA=
AllowedIPs = 192.168.70.21/32

[Peer]
PublicKey = gN65BkIKy1eCE9pP1wdc8ROUtkHLF2PfAqYdyYBz6EB=
AllowedIPs = 192.168.70.22/32
serverA
[Interface]
# 本机密钥
PrivateKey = WA+UjrzBYPOhg9+O6o/RrOGh9T1E/rQYU=
# 监听端口
ListenPort = 51921

[Peer]
# 对端的publickey
PublicKey = QZUvy0+ZU/hSqLkmGW1yNq4dV5unXi5oXrbOz9npQ0I=
Endpoint = 3.3.3.3:51820
# 对端地址
AllowedIPs = 192.168.70.0/24
PersistentKeepalive = 24  #必须,不然会话超时会无法互通
serverB
[Interface]
# 本机密钥
PrivateKey = WA+UjrzBYPOhg9+O6o/RrOGh9T1E/rQYU
# 监听端口
ListenPort = 51921

[Peer]
# 对端的publickey
PublicKey = QZUvy0+ZU/hSqLkmGW1yNq4dV5unXi5oXrbOz9npQ0I=
Endpoint = 3.3.3.3:51820
# 对端地址
AllowedIPs = 192.168.70.0/24
PersistentKeepalive = 24  #必须,不然会话超时会无法互通
成功连接后,可以实现  serverA , serverB , 及中心间在192.168.70.0/24网段上全互通
三.借助registry实现双向nat穿透
需要借助registry实现 udp打洞, 待二开
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上安装WireGuard,需要执行以下步骤: 1. 安装WireGuard软件包 在Ubuntu或Debian上,可以使用以下命令安装WireGuard: ``` sudo apt-get install wireguard ``` 在Fedora上,可以使用以下命令安装WireGuard: ``` sudo dnf install wireguard-tools ``` 在Arch Linux上,可以使用以下命令安装WireGuard: ``` sudo pacman -S wireguard-tools ``` 2. 生成密钥对 要使用WireGuard,您需要生成一个公钥和一个私钥。可以使用以下命令生成它们: ``` wg genkey | tee privatekey | wg pubkey > publickey ``` 这将生成一个名为“privatekey”的文件,其中包含私钥,以及一个名为“publickey”的文件,其中包含公钥。 3. 创建WireGuard配置文件 创建一个名为“wg0.conf”的文件,其中包含以下内容: ``` [Interface] PrivateKey = <your private key> Address = <your VPN IP address> DNS = <your DNS server> [Peer] PublicKey = <server's public key> Endpoint = <server's IP address>:<server's listen port> AllowedIPs = 0.0.0.0/0 ``` 将“<your private key>”替换为您生成的私钥,“<your VPN IP address>”替换为您要使用的VPN IP地址,“<your DNS server>”替换为您要使用的DNS服务器。 将“<server's public key>”替换为服务器的公钥,“<server's IP address>”替换为服务器的IP地址,“<server's listen port>”替换为服务器的监听端口。 4. 启动WireGuard 要启动WireGuard,可以使用以下命令: ``` sudo wg-quick up wg0 ``` 这将启动名为“wg0”的WireGuard接口。如果一切正常,您应该可以通过ping测试连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值