「WireGuard」:修訂間差異
跳至導覽
跳至搜尋
第19行: | 第19行: | ||
* VPN A的內網在<code>192.168.0.0/24</code>,對外IP是<code>1.2.3.4</code>。 | * VPN A的內網在<code>192.168.0.0/24</code>,對外IP是<code>1.2.3.4</code>。 | ||
* VPN B的內網在<code>192.168.1.0/24</code>,對外IP是<code>5.6.7.8</code>。 | * VPN B的內網在<code>192.168.1.0/24</code>,對外IP是<code>5.6.7.8</code>。 | ||
先設定系統,允許IP forwarding: | |||
<syntaxhighlight lang="sysctl"> | |||
net.ipv4.ip_forward=1 | |||
net.ipv6.conf.all.forwarding=1 | |||
<syntaxhighlight> | |||
先產生對應的Private Key與Public Key: | 先產生對應的Private Key與Public Key: |
於 2023年6月26日 (一) 09:17 的修訂
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
<syntaxhighlight>
先產生對應的Private Key與Public Key:
<syntaxhighlight lang="bash">
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
接著就可以測試是否通了:
外部連結
- 官方網站 (英文)