為Ubuntu22.04系統(tǒng)配置WireGuard客戶端
關(guān)于Ubuntu客戶端的配置,我個(gè)人認(rèn)為是最難的,因?yàn)槲覍inux只是處于了解狀態(tài),而且ubuntu一般作為服務(wù)器端使用,對于客戶端的資料基本沒有,但是筆者最近安裝了Ubuntu的最新操作系統(tǒng)Ubuntu22.04桌面版,感覺很驚艷啊,在micros Egde瀏覽器的加持下,Ubuntu系統(tǒng)也基本上夠用了,所以很想為Ubuntu系統(tǒng)安裝一個(gè)WireGuard客戶端。

按照前面的規(guī)則,先在服務(wù)器端創(chuàng)建好ubuntu客戶端配置文件,然后下載到ubuntu系統(tǒng)本地,將文件名重命名為wg0.conf,并保存在‘etc/wireguard ’文件夾,若沒有路徑則以以下命令創(chuàng)建:mkdir -p /etc/wireguard,必須要有這一步,因?yàn)楹竺嬗玫玫健?/span>
WireGuard-Ubuntu客戶端可以通過終端安裝,也可以從官網(wǎng)下載.deb客戶端和wirguard-tool.deb,再通過軟件中心安裝。
安裝好后就可以在終端操作了:
最高權(quán)限登錄終端:
sudo -i
提示輸入密碼:
雖然導(dǎo)入了配置文件,但是直接運(yùn)行的時(shí)候出錯(cuò)了,提示網(wǎng)絡(luò)錯(cuò)誤,后來查閱各方資料發(fā)現(xiàn)對于Linux系統(tǒng),必須要設(shè)定本機(jī)網(wǎng)絡(luò)參數(shù),具體請看下文。
查看本機(jī)網(wǎng)絡(luò),對于使用公共 IP 地址通過 SSH 或其他協(xié)議訪問的遠(yuǎn)程對等方,需要向?qū)Φ确降奈募砑右恍╊~外的規(guī)則。這些規(guī)則將確保您在連接系統(tǒng)時(shí)仍可以從隧道外部連接到系統(tǒng)。否則,當(dāng)建立隧道時(shí),通常在公共網(wǎng)絡(luò)接口上處理的所有流量將無法正確路由以繞過隧道接口,從而導(dǎo)致無法訪問的遠(yuǎn)程系統(tǒng):
輸入:ip route list table main default
輸出:
? ? ??default dev wg0 scope link?
? ? ? ?default via 192.168.45.47 dev wlp1s0 proto dhcp metric 600? ???
?記下網(wǎng)關(guān)突出顯示的 IP 地址以供以后使用,并記下網(wǎng)卡號wlp1s0?當(dāng)然每個(gè)人的設(shè)備名稱可能不同。如果是這樣,請?jiān)诿钪刑鎿Q它。
輸入:ip -brief address show wlp1s0? ?
輸出:
wlp1s0? ? ? ? ? ?UP? ? ? ? 192.168.45.40/24? ? ? ? ? ? ? ? ? 240e:44d:5414:502:58b0:27f0:1da5:492e/64? 240e:44d:5414:502:28b8:eb1f:fc41:b387/64 fe80::a547:c15d:61b5:4d78/64
輸入:sudo nano /etc/wireguard/wg0.conf
?編輯 wg0.conf文件將得到的網(wǎng)絡(luò)信息以固定格式加入:PostUp = ip rule add table 200 from xxx.xxx.xxx.xxx(本機(jī)IP地址),PostUp = ip route?add table 200 via?xxx.xxx.xxx.xxx(網(wǎng)關(guān)IP地址),PreDown = ip rule delete table 200 from xxx.xxxx.xxx.xxx(本機(jī)IP),PreDown = ip route delete table 200 via xxxx.xxx.xxx.xxx(網(wǎng)關(guān)IP地址),并保存,這些線路將創(chuàng)建自定義路由規(guī)則,并添加自定義路由以確保到系統(tǒng)的公共流量使用默認(rèn)網(wǎng)關(guān)。
如以下格式:
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxx
Address = 10.0.9.5/24
DNS = 114.114.114.114
PostUp = ip rule add table 200 from 192.168.222.87
PostUp = ip route add table 200 default via 192.168.208.1
PreDown = ip rule delete table 200 from 192.168.222.87
PreDown = ip route delete table 200 default via 192.168.208.1
? ? [Peer]
? ?PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
? ?PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
? ? ? AllowedIPs = 10.0.9.0/24
? ? ? PersistentKeepalive = 25
? ? ? Endpoint = xxx.xxx.xxx.xxx:xxxxx
如果您通過VPN路由所有流量并設(shè)置了DNS轉(zhuǎn)發(fā),則需要在啟動隧道之前在WireGuard對等體上安裝‘resolvconf‘程序。
輸入:sudo apt install?resolvconf?????#安裝resolvconf 程序
重啟wg0服務(wù):
輸入:sudo wg-quick down wg0?? ? ? ? #關(guān)閉隧道wg0
輸出:?[#] ip link delete dev wg0?? ? ?[#] resolvconf -d tun.wg0 -f
輸入:sudo wg-quick up wg0 ? ??? ? ? #重新開啟隧道wg0
??


看到上面的信息基本可以確定客戶端已成功開啟,也可以通過WireGuard服務(wù)器頁面查看客戶端或者ping命令查看是否正常運(yùn)行:

