Ubuntu 設置 Wireguard

  開始想用 wireguard 的時侯,套件一開始就裝好了,一直找不到設定檔,而且試著開始用的時侯,發現怎麼顯示出來的介面和設定的不一樣,於是又開始了一陣胡搞瞎搞…

 工作環境:
    Ubuntu 22 server  LTS
    wireguard 1

 設定的方式大同小異,可以參考這裏這裏、或是這裏 ,設定檔的資料夾權限可能要注意一下:
   
mkdir -m 0700 /etc/wireguard/
    cd /etc/wireguard/
    umask 077
    wg genkey | tee privatekey | wg pubkey > publicke
y

 看別人設定覺得好像不難,居然也能撞牆…

 就在完成設定檔之後, start wireguard 發現 interface 的資訊和設定的不一樣,而且找不到地方可以改原始的設定,是的,系統裏找關鍵字 conf 和 wg 就只會找到自已剛才開的設定檔,其他的檔案看起來就是長得和自已剛才開的設定檔不像,那時忘了先重開機一下,可能就沒事了,千金難買早知道啊…畢竟是很少需要重開機的系統

 為了讓 wireguard 可以「正確」的啟用,開始針對訊息和設定的落差,透過刪改既有的檔案的方式來「修正」「落差」,於是乎這個檔重建也不是,殺也不是,unmask 也不行, wireguard 就是無法啟用

 Failed to enable unit: Unit file /lib/systemd/system/wg-quick@.service is masked

 原本設定檔裏想要透過 `cat privatekey` 來引用私鑰也是不行地…乖乖地把私鑰貼上設定檔了

 如果可以很快地抓到問題所在,排除狀況,當然對症下藥,用修的;然而很多時侯,打掉重練看起來吃力,卻是最佳解,重設設定吧,記得也要重開機

 sudo dpkg-reconfigure wireguard

 

 收工! 

 

=================== 後記 ===================

要改設定時,可能要先 stop service 再重開 service,client 也先斷線,以免出現怪怪的回應或是改不動設定的情形
    sudo systemctl stop wg-quick@wg0
    sudo systemctl start wg-quick@wg0

還在測試的時侯設定檔(wg0.conf)裏的 SaveConfig 屬性記得先改 false,才不會一直被之前的設定蓋掉(會發現改了屬性也沒有用)
    SaveConfig = false

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -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
   
用 eth0 可以,用 enp1s0 也可以

要看 wiregurad 有沒有作用

    sudo wg show

Linux 下的 config 範例
[Interface]
Address = 1.2.3.4/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -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
ListenPort = 12345
PrivateKey = *********************************************************= #我方的
server_public.key 要給對方用

[Peer]
PublicKey =
*********************************************************= #對方的 server_public.key 給我連線用
AllowedIPs = 192.168.1.1/32

[Peer]
PublicKey =
*********************************************************= #對方的 server_public.key 給我連線用
AllowedIPs = 192.168.1.2/32


 

留言

這個網誌中的熱門文章

使用 Excel 計算2個地點之間的直線距離

LINE 儲存的檔案傳到 email 不方便 很不方便 非常不方便 但是有解的筆記

Excel 巨集合併多個 Excel 檔案