<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何在五分鐘內(nèi)裝好 WireGuard?!

          共 3123字,需瀏覽 7分鐘

           ·

          2020-11-23 23:41

          點(diǎn)擊上方藍(lán)色“程序猿DD”,選擇“設(shè)為星標(biāo)”

          回復(fù)“資源”獲取獨(dú)家整理的學(xué)習(xí)資料!

          作者 |?米開朗基楊

          來源 |?https://fuckcloudnative.io/

          前言

          WireGuard 的安裝和使用條件非??量?/strong>,對內(nèi)核版本要求極高,不僅如此,在不同的系統(tǒng)中,內(nèi)核,內(nèi)核源碼包,內(nèi)核頭文件必須存在且這三者版本要一致。所以一般不建議在生成環(huán)境中安裝,除非你對自己的操作很有把握。Red Hat、CentOS、Fedora 等系統(tǒng)的內(nèi)核,內(nèi)核源碼包,內(nèi)核頭文件包名分別為?kernel、kernel-devel、kernel-headers,Debian、Ubuntu 等系統(tǒng)的內(nèi)核,內(nèi)核源碼包,內(nèi)核頭文件包名分別為?kernel、linux-headers。

          果這三者任一條件不滿足的話,則不管是從代碼編譯安裝還是從 repository 直接安裝,也只是安裝了?wireguard-tools?而已。而 WireGuard 真正工作的部分,是?wireguard-dkms,也就是動(dòng)態(tài)內(nèi)核模塊支持(DKMS),是它將 WireGuard 編譯到系統(tǒng)內(nèi)核中。因此,在某些 VPS 商家,是需要你先自主更換系統(tǒng)內(nèi)核,并事先將這三者安裝好,才有可能不會(huì)出現(xiàn)編譯或安裝失敗。

          當(dāng)然,目前 WireGuard 已經(jīng)被合并到?Linux 5.6?內(nèi)核中了,如果你的內(nèi)核版本 >= 5.6,就可以用上原生的 WireGuard 了,只需要安裝 wireguard-tools 即可。例如,對于 Ubuntu 20.04 來說,它的內(nèi)核版本是 5.4,雖然小于 5.6,但經(jīng)過我的測試發(fā)現(xiàn)它已經(jīng)將 WireGuard 合并到了內(nèi)核中,我們只需要安裝 wireguard-tools 即可:

          $?sudo?apt?install?wireguard?-y

          下面討論 WireGuard 在低版本內(nèi)核中的安裝方法。

          1. 升級(jí)內(nèi)核

          對于 Ubuntu 等 apt 系的發(fā)行版來說,不需要升級(jí)內(nèi)核即可安裝 WireGuard,可以略過此步驟。

          如果你使用的是 CentOS 等 rpm 系的發(fā)行版,必須要升級(jí)內(nèi)核,步驟如下:

          ① 載入公鑰

          $?rpm?--import?https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

          ② 升級(jí)安裝 elrepo

          $?rpm?-Uvh?http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

          ③ 載入 elrepo-kernel 元數(shù)據(jù)

          $?yum?--disablerepo=\*?--enablerepo=elrepo-kernel?repolist

          ④ 安裝最新版本的內(nèi)核

          $?yum?--disablerepo=\*?--enablerepo=elrepo-kernel?install??kernel-ml.x86_64??-y

          ⑤ 刪除舊版本工具包

          $?yum?remove?kernel-tools-libs.x86_64?kernel-tools.x86_64??-y

          ⑥ 安裝新版本工具包

          $?yum?--disablerepo=\*?--enablerepo=elrepo-kernel?install?kernel-ml-tools?kernel-ml-devel?kernel-ml-headers?-y

          ⑦ 查看內(nèi)核插入順序

          $?grep?"^menuentry"?/boot/grub2/grub.cfg?|?cut?-d?"'"?-f2

          CentOS?Linux?(3.10.0-1127.10.1.el7.x86_64)?7?(Core)
          CentOS?Linux?(5.7.2-1.el7.elrepo.x86_64)?7?(Core)
          CentOS?Linux?(0-rescue-96820b9851c24560b5f942f2496b9aeb)?7?(Core)

          默認(rèn)新內(nèi)核是從頭插入,默認(rèn)啟動(dòng)順序也是從 0 開始。

          ⑧ 查看當(dāng)前實(shí)際啟動(dòng)順序

          $?grub2-editenv?list

          saved_entry=CentOS?Linux?(3.10.0-1127.10.1.el7.x86_64)?7?(Core)

          ⑨ 設(shè)置默認(rèn)啟動(dòng)

          $?grub2-set-default?'CentOS?Linux?(5.7.2-1.el7.elrepo.x86_64)?7?(Core)'

          最后重啟檢查:

          $?reboot
          $?uname?-r

          2. 安裝 WireGuard

          升級(jí)內(nèi)核之后,就可以根據(jù)官方文檔[1]來安裝 WireGuard 了。不過這里我要介紹一個(gè)更狂野的安裝方法,它更高效,也更不容易出錯(cuò),那就是通過源代碼編譯安裝。先別急著反駁,我知道從源代碼編譯看起來一點(diǎn)都不容易,但請聽我說完。你以為我會(huì)教你如何從頭開始編譯嗎?那不可能,有違我這篇文章的初衷,我要推薦一位大佬——秋水逸冰的一鍵安裝腳本,它可以讓你哼著小曲就能從源碼編譯安裝 WireGuard,只需一條命令即可。

          腳本的使用方法超級(jí)簡單,先下載腳本,然后賦予執(zhí)行權(quán)限,最后執(zhí)行一條命令搞定:

          $?/opt/wireguard.sh?-s

          關(guān)于該腳本需要說明幾點(diǎn):

          • 支持兩種安裝方式:既支持從源代碼編譯安裝,也支持從包管理器直接安裝。
          • 腳本會(huì)創(chuàng)建默認(rèn)的 wg0 設(shè)備,以及 wg0 的客戶端配置,并生成客戶端配置對應(yīng)的二維碼 png 圖片。
          • 腳本會(huì)修改本機(jī)防火墻設(shè)置,如果未啟用防火墻,則會(huì)出現(xiàn)警告提示,需要手動(dòng)去設(shè)置。
          • 腳本會(huì)從 1024 到 20480 隨機(jī)生成監(jiān)聽端口。
          • 腳本支持新增,刪除,列出客戶端功能。
          • 腳本支持查看已安裝的 WireGuard 的版本號(hào)。
          • 腳本支持從代碼編譯安裝的方式升級(jí) WireGuard 到當(dāng)前最新版本。

          對于咱手藝人來說,肯定是不想用它自動(dòng)生成的配置的,如果你想自己生成配置文件,請直接將配置文件目錄清空:

          $?rm?-rf?/etc/wireguard/*

          然后手動(dòng)生成秘鑰和配置文件,具體的流程請參考:WireGuard 的搭建使用與配置詳解[2]。

          如果你想通過 Web UI 來管理 WireGuard 的配置文件,可以看看這個(gè)項(xiàng)目:Wg Gen Web[3]

          參考資料

          [1]官方文檔:?https://www.wireguard.com/install/

          [2]WireGuard 的搭建使用與配置詳解:?https://fuckcloudnative.io/posts/wireguard-docs-practice/

          [3]Wg Gen Web:?https://github.com/vx3r/wg-gen-web

          最后,給大家提供一鍵安裝腳本。


          按照下面的步驟領(lǐng)取吧

          • 領(lǐng)取方式:

          長按掃碼關(guān)注

          關(guān)注后發(fā)消息?[一鍵安裝腳本]即可獲取,還在等什么

          DD自研的滬牌代拍業(yè)務(wù),點(diǎn)擊直達(dá)



          【往期推薦】

          收入最高的 24 個(gè)開發(fā)人員職位

          2020-11-22

          索賠 100 萬!只是因?yàn)橐粋€(gè)開源插件?

          2020-11-21

          快速搞懂監(jiān)控、鏈路追蹤、日志三者的區(qū)別

          2020-11-21

          讀完《Effective Java》后,總結(jié)了 50 條開發(fā)技巧

          2020-11-20

          35歲之后,你還會(huì)繼續(xù)寫代碼嗎?

          2020-11-19


          深度內(nèi)容

          推薦加入




          瀏覽 78
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷综合激情国产日韩 | 日日操夜夜爽 | 青青草超踫| 国产又爽 又黄 A片免费观看 | 99热这里没有精品 |