首先安装WireGuard.
https://www.wireguard.com/install/
这个懒得说了,然后在两台服务器的/etc/wireguard下执行下面语句生成通信密钥.
wg genkey | tee privatekey | wg pubkey > publickey
这样就有密钥了.
暂时确定下网络规划下:
地域 | WireGuard 内部使用 | 服务商给的公网 IP |
---|---|---|
NYC | 10.0.8.1/24 | 167.99.148.143 |
SFO | 10.0.8.2/24 | 167.172.222.20 |
的首先在NYC设置一个配置/etc/wireguard/wg0.conf:
[Interface] Address = 10.0.8.1 SaveConfig = true ListenPort = 49152 PrivateKey = < 这里填写 NYC 上 privatekey 的内容 > [Peer] PublicKey = < 这里填写 SFO 上 publickey 的内容 > AllowedIPs = 10.0.8.0/24
大概如下:
而另一边一样,新建一个配置,但是就是SFO的privatekey和NYC的publickey了,并且需要指定EP.
[Interface] Address = 10.0.8.2 SaveConfig = true ListenPort = 49152 PrivateKey = < 这里填写 SFO 上 privatekey 的内容 > [Peer] PublicKey = < 这里填写 NYC 上 publickey 的内容 > Endpoint = < 这里填写 NYC 上 公网IP:端口 的内容 > AllowedIPs = 10.0.8.0/24
然后双方各自启动网络接口就行.
wg-quick up wg0
现在可以互相通信了,这里是SFO->NYC:
这里反方向NYC->SFO:
都是一个内网的机器能做什么,我就不详细说了,用途太多了,有些协议就是不走公网的.
想问下这里给的公网ip是出口ip还是入口ip
@gaochao 这里做的是伪IPLC,都是同一个IP.
[…] 用WireGuard做一个内网吧! […]