Installation
| 12
 3
 
 | sudo add-apt-repository ppa:wireguard/wireguardsudo apt-get update
 sudo apt-get install wireguard
 
 | 
Configuration
- 確認 kernel 版本非客制| 12
 
 | uname --kernel-release// check your kernel name without linode
 
 |  
 
如果執行完上面指令看到有其他非正規字眼像是 xxxxxx-linde152 之類的,你必須去 linode boot settings 的後台設定裡面去把改成 GRUB 2,不然會造成 wireguard 無法確認 kernel 版本會安裝執行失敗
參考這邊
改完重開之後會像再執行一次會變成像這樣 4.15.0-54-generic
- 按照正常安裝流程
- Key Generation
| 1
 | wg genkey | tee privatekey | wg pubkey > publickey
 | 
- 新建 server 端設定檔
 在這個位置建立一個檔案 /etc/wireguard/wg0.conf
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | [Interface]Address = 10.66.66.1/24  // 通道連上之後的內網 ipv4 ip
 Address = fd42:42:42::1/64  // 通道連上之後的內網 ipv6 ip
 SaveConfig = true
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
 ListenPort = 51820  // vpn listen port
 PrivateKey = <server private key>  // 填上前一個步驟產生的 private key
 
 [Peer] // 設定可以連入的 client 資訊
 PublicKey = <client public key>
 AllowedIPs = 10.66.66.2/32, fd42:42:42::2/128  // client 會取到的 ip
 
 | 
- client 端設定檔
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | [Interface]PrivateKey = <client private key>
 Address = 10.66.66.2/24, fd42:42:42::2/64
 DNS = 8.8.8.8, 1.1.1.1
 
 [Peer]
 PublicKey = <server public key>
 AllowedIPs = 0.0.0.0/0, ::/0
 Endpoint = <server ip>:<listenPort> // xxx.xxx.xxx.xxx:51820
 PersistentKeepalive = 25
 
 | 
- Set Up Firewall Rules
| 12
 3
 4
 5
 
 | sudo ufw allow 22/tcpsudo ufw allow 51820/udp
 sudo ufw enable
 
 sudo ufw status verbose // for test
 
 | 
- Start the Wireguard Service
| 12
 3
 
 | wg-quick up wg0sudo systemctl enable wg-quick@wg0 //設定開機自動執行
 sudo wg show
 
 |