目錄
- Server Install & Config
- Ubuntu 20.0.4 install wireguard
- 生成私鑰&公鑰
- 開啟核心IP轉發
- 配置檔案
- 啟動&停止
- wg-quick
- systemctl
- Client Install & Config
- 下載
- Config
- macOS
Server Install & Config
Ubuntu 20.0.4 install wireguard
sudo apt install wireguard
生成私鑰&公鑰
WireGuard透過wg genkey
生產私鑰,然後在透過wg pubkey
生成公鑰。
wg genkey > privatekey
wg pubkey < privatekey > publickey
mv privatekey publickey /etc/wireguard
開啟核心IP轉發
WireGuard
透過系統核心進行資料包轉發,需要開啟IPV4
地址轉發功能
echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
/etc/init.d/procps restart
配置檔案
切換進WireGuard
目錄下(/etc/wireguard
),建立一個配置檔案wg0.conf
cd /etc/wireguard
vim wg0.conf
wg0.conf
檔案內容如下:
[Interface]
# 本機金鑰
PrivateKey = fOqpewDm2F4rMS0aW5DQW2S9ixnc= # 上一步生成的publickey
# 本機地址
Address = 192.168.1.1/24 # 定義wg網路的網管地址
# 監聽埠
ListenPort = 9993 # 定義wg對外的埠,可修改
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens0 -j MASQUERADE
# 以下兩個可選
DNS = 1.1.1.1
MTU = 1420
# 客戶端配置
# Client1_192.168.1.11
[Peer]
PublicKey = Client1公鑰,在客戶端可看到
AllowedIPs = 192.168.1.11/32
# Client2_192.168.1.12
[Peer]
PublicKey = Client2公鑰,在客戶端可看到
AllowedIPs = 192.168.1.12/32
**注意:PostUp
和PostDown
中的ens0
這個網路卡要根據自己的實際來
目錄結構:
├── etc
│ └─ wireguard
│ ├─ down_wg.sh
│ ├─ privatekey
│ ├─ publickey
│ ├─ up_wg.sh
│ └─ wg0.conf
啟動&停止
wg-quick
cd /etc/wireguard
# 啟動
wg-quick up wg0
# 停止
wg-quick down wg0
systemctl
# 啟動
systemctl start wg-quick@wg0
# 設定開機自啟動
systemctl enable wg-quick@wg0
# 停止
systemctl stop wg-quick@wg0
# 關閉開機自啟動
systemctl disable wg-quick@wg0
使用wg命令檢視當前Wireguard連結情況
root@local:/# wg
interface: wg0
public key: yX5gFNzlcgtHVG4DGeJJ5AoHWddpv8HA4J7hhCPj1ks=
private key: (hidden)
listening port: 9993
peer: yX5gFNzlcgtHVG4DGeJJ5AoHWddpv8HA4J7hhCPjYx9ik=
endpoint: 1.1.1.1:35935
allowed ips: 192.168.1.12/32
latest handshake: 1 minute, 25 seconds ago
transfer: 15.69 KiB received, 12.02 KiB sent
Client Install & Config
下載
訪問 https://www.wireguard.com/install/ 根據作業系統選擇合適的客戶端。
Config
macOS
開啟WireGuard
客戶端,點選新增空隧道
這裡需要注意這個 公鑰(publickey) 和 私鑰(privatekey)
公鑰需要放在伺服器wg0.conf
[Peer]PublicKey = <client privatekey>
你的客戶端配置看起來應該是這樣的
# 示例
[Interface]
# 這裡的PrivateKey不要動,是你本地的
PrivateKey = 4Fg7VJJnvt3iZwu5bYrmeDZoAz3BD7y1hq0+jFACMmo=
# IP地址,這是你要給這個客戶端分配的ip
Address = 192.168.1.12/24
# 以下兩個可選
DNS = 1.1.1.1
MTU = 1420
[Peer]
# 這是伺服器那邊的PublicKey可以看伺服器上生成的PublicKey
PublicKey = hZyrKY1pQ+0Y45okw+IwTAOENA9pIhJ2dRJUubxCpDo=
# 屬於哪個IP段,也可以配置成:AllowedIPs = 0.0.0.0/0,::0/0
AllowedIPs = 192.168.1.0/24
# 對應的WireGuard伺服器地址與埠
Endpoint = xxx.xxx.xxx.xxx:9993
# 心跳頻率
PersistentKeepalive = 25
配置完成後點選儲存即可。
**提示:配置完成記得重啟服務端