WireGuard
WireGuard是一套VPN軟體。
安裝
在Ubuntu 22.04上可以直接安裝:
sudo apt install -y wireguard
設定
設定檔都在/etc/wireguard
下。
Site-to-site
這邊假設的環境是:
- VPN A的內網在
192.168.0.0/24
,對外IP是1.2.3.4
。 - VPN B的內網在
192.168.1.0/24
,對外IP是5.6.7.8
。
先設定系統,允許IP forwarding:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
先產生對應的Private Key與Public Key:
wg genkey | sudo tee /etc/wireguard/wg.key | wg pubkey | sudo tee /etc/wireguard/wg.pub; sudo chmod 600 /etc/wireguard/wg.key
接下是/etc/wireguard/wg.conf
,在Interface
這段都是放自己的資訊,Peer
這段都是放對方的資訊(PublicKey
可以從對方機器上的/etc/wireguard/wg.pub
取得):
[Interface]
PostUp = wg set %i private-key /etc/wireguard/%i.key
Address = 192.168.0.200
ListenPort = 51820
[Peer]
PublicKey = G9colAlX0xdAO+v8Nme4JobfprXWB442WEOChvQjx3c=
AllowedIPs = 192.168.1.0/24
Endpoint = 5.6.7.8:51820
另外一邊則會是:
[Interface]
PostUp = wg set %i private-key /etc/wireguard/%i.key
Address = 192.168.1.200
ListenPort = 51820
[Peer]
PublicKey = yTC1O+ckZ9tcKAsDpDnx0XQmTg06rJa3z8xk8mEFUy0=
AllowedIPs = 192.168.0.0/24
Endpoint = 1.2.3.4:51820
然後設定開機跑起來並且設定啟動,兩台機器都要跑:
sudo systemctl enable --now wg-quick@wg
接著就可以測試是否通了:
外部連結
- 官方网站 (英文)