繼續關於 ZeroTier 的故事,從文章中概述的理論“
- 讓我們建立並配置一個專用網路控制器
- 讓我們建立一個虛擬網絡
- 讓我們配置節點並將其連接到它
- 讓我們檢查一下它們之間的網路連接
- 讓我們阻止從外部存取網路控制器的 GUI
塞特沃伊·科恩特羅利勒
如前所述,要建立虛擬網路、管理虛擬網路以及連接節點,使用者需要一個網路控制器、一個圖形介面 (GUI),以兩種形式存在:
ZeroTier GUI 選項
- 開發商 ZeroTier 提供的一款,作為公有雲 SaaS 解決方案提供,有四種訂閱計劃,包括免費,但託管設備數量和支援等級有限
- 第二個來自獨立開發人員,功能簡化,但可作為私有開源解決方案在本地或雲端資源上使用。
在我的實踐中,我同時使用了兩種方法,因此,我最終選擇了第二種。 原因是開發商的警告。
「網路控制器充當 ZeroTier 虛擬網路的認證機構。 包含控制器金鑰的檔案必須仔細保護並安全存檔。 它們的妥協使得未經授權的攻擊者能夠創建欺詐性的網絡配置,而它們的丟失會導致失去控制和管理網絡的能力,從而導致網絡無法使用。”
→
而且,你自己的網路安全偏執的跡象:)
- 即使 Cheburnet 出現,我仍然必須能夠存取我的網路控制器;
- 只有我應該使用網路控制器。 如有必要,允許您的授權代表接觸;
- 應該可以限制從外部對網路控制器的存取。
在本文中,我認為沒有太多必要單獨討論如何在本地實體或虛擬資源上部署網路控制器及其 GUI。 這也有3個原因:
- 信件將會比計劃的多
- 已經關於這個了
告訴 關於 GUI 開發者 GitHub - 這篇文章的主題是關於其他事情的
因此,選擇阻力最小的路徑,我將在這個故事中使用基於 VDS 的 GUI 的網路控制器,該控制器由
最初設定
從指定範本建立伺服器後,使用者會透過瀏覽器造訪 https:// 來存取 Web-GUI 控制器:3443
預設情況下,伺服器已包含預先產生的自簽章 TLS/SSL 憑證。 這對我來說已經足夠了,因為我阻止了從外部存取它。 對於那些希望使用其他類型證書的人,有
當使用者第一次登入時 登入 使用預設登入名稱和密碼 - 管理員 и 密碼:
建議將預設密碼更改為自訂密碼
我的做法有點不同 - 我不更改現有用戶的密碼,而是創建一個新用戶 - 創建用戶.
我設定了新用戶的名稱 - 用戶名:
我設定了一個新密碼 - 輸入新密碼:
我確認新密碼 - 重新輸入密碼:
您輸入的字元區分大小寫 - 請小心!
下次登入時確認密碼變更的複選框 - 下次登入時更改密碼: 我不慶祝。
若要確認輸入的數據,請按 設置密碼:
然後:我重新登入 - 登出 / 登入,已經在新用戶的憑證下:
接下來,我轉到用戶選項卡 - 用戶 並刪除該用戶 管理員點擊其姓名左側的垃圾桶圖示。
將來,您可以透過點擊使用者名稱或設定的密碼來更改使用者的密碼。
建立虛擬網絡
要建立虛擬網絡,用戶需要轉到選項卡 添加網絡。 從點 用戶名单 這可以透過頁面完成 首頁 — Web-GUI 的主頁,顯示該網路控制器的 ZeroTier 位址,並包含透過它建立的網路清單頁面的連結。
在頁面上 添加網絡 使用者為新建立的網路指定一個名稱。
應用輸入資料時 - 創建網絡 使用者將被帶到一個包含網頁清單的頁面,其中包含:
網絡名稱 — 連結形式的網路名稱,當您點擊它時可以更改它
網絡ID — 網路識別符
細節 — 連結到包含詳細網路參數的頁面
易於設置 — 連結到頁面以方便設置
成員 — 連結到節點管理頁面
如需進一步設置,請點擊鏈接 易於設置。 在開啟的頁面上,使用者為正在建立的網路指定 IPv4 位址範圍。 這可以透過按下按鈕自動完成 產生網路位址 或透過在對應欄位中手動輸入網路網路遮罩 CIDR.
確認資料輸入成功後,您必須使用「後退」按鈕返回包含網路清單的頁面。 至此,基本的網路設定就可以認為完成了。
連接網路節點
- 首先,必須在使用者想要連接到網路的節點上安裝 ZeroTier One 服務。
什麼是 ZeroTier One?零級一級 是一種運行在筆記型電腦、桌上型電腦、伺服器、虛擬機器和容器上的服務,透過虛擬網路連接埠提供與虛擬網路的連接,類似於 VPN 用戶端。
安裝並啟動服務後,您可以使用 16 位元位址連線到虛擬網路。 每個網路都顯示為系統上的虛擬網路端口,其行為就像常規乙太網路端口一樣。
可以找到發行版以及安裝命令的鏈接在製造商的頁面上 .您可以透過具有管理員/root 權限的命令列終端機 (CLI) 管理已安裝的服務。 在 Windows/MacOS 上也使用圖形介面。 在 Android/iOS 中僅使用 GUI。
- 檢查服務安裝是否成功:
命令行界面:
zerotier-cli status
其結果是:
200 info ebf416fac1 1.4.6 ONLINE
GUI:事實上,應用程式正在運行,並且其中存在一行包含節點 ID 和節點位址的行。
- 將節點連接到網路:
命令行界面:
zerotier-cli join <Network ID>
其結果是:
200 join OK
GUI:
Windows上: 右鍵單擊該圖標 零級一級 在系統托盤中並選擇該項目 - 加入網絡.
MacOS的: 啟動應用程序 零級一級 在列選單中(如果尚未啟動)。 點擊 ⏁ 圖示並選擇 加入網絡.Android/iOS:應用程式中的 +(加上圖像)
在出現的欄位中,輸入 GUI 中指定的網路控制器 網絡ID,然後按 加入/新增網絡. - 為主機指派 IP 位址
現在我們返回到網絡控制器,並在帶有網絡列表的頁面上點擊鏈接 成員。 如果您在螢幕上看到與此類似的圖片,則表示您的網路控制器已收到來自所連接節點的確認與網路連線的請求。
在此頁面上,我們暫時保留所有內容並點擊鏈接 IP分配 進入為節點指派IP位址頁面:
分配地址後,點擊按鈕 上一頁 返回已連接節點清單頁面並設定名稱 - 會員名 並選中複選框以授權網路上的節點 - 合法。 順便說一句,這個複選框對於將來與主機網路斷開/連接是一個非常方便的事情。
使用按鈕儲存更改 刷新. - 檢查節點的網路連線狀態:
若要檢查節點本身的連線狀態,請執行:
命令行界面:zerotier-cli listnetworks
其結果是:
200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24
GUI:網路狀態應該是好的
若要連接其餘節點,請對每個節點重複操作 1-5。
檢查節點網路連通性
我透過運行命令來做到這一點 平 在連接到我目前管理的網路的裝置上。
在 Web-GUI 控制器的螢幕截圖中,您可以看到連接到網路的三個節點:
- ZTNCUI - 10.10.10.1 - 我的帶有 GUI 的網路控制器 - RuVDS DC 之一中的 VDS。 對於正常工作,不需要將其添加到網絡,但我這樣做是因為我想阻止從外部存取 Web 介面。 稍後會詳細介紹這一點。
- 我的比較 - 10.10.10.2 - 我的工作電腦是實體 PC
- 備份 - 10.10.10.3 — 另一個 DC 中的 VDS。
因此,我在工作電腦上使用以下命令檢查其他節點的可用性:
ping 10.10.10.1
Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64
Ping statistics for 10.10.10.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 14ms, Average = 6ms
ping 10.10.10.3
Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Ping statistics for 10.10.10.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 4ms, Maximum = 15ms, Average = 7ms
使用者有權使用其他工具來檢查網路上節點的可用性,這些工具都內建在作業系統中,例如 NMAP、Advanced IP Scanner 等。
我們從外部隱藏對網路控制器 GUI 的存取。
一般來說,我可以使用 RuVDS 個人帳戶中的防火牆來減少未經授權存取我的網路控制器所在的 VDS 的可能性。 這個主題更有可能是一篇單獨的文章。 因此,在這裡我將展示如何僅從我在本文中建立的網路提供對 GUI 控制器的存取。
為此,您需要透過 SSH 連接到控制器所在的 VDS,並使用以下命令開啟設定檔:
nano /opt/key-networks/ztncui/.env
在開啟的檔案中,在包含開啟 GUI 的連接埠位址的「HTTPS_PORT=3443」行之後,您需要新增一行,其中包含開啟 GUI 的位址 - 在我的範例中是 HTTPS_HOST=10.10.10.1 .XNUMX.
接下來我將儲存文件
Сtrl+C
Y
Enter
並運行命令:
systemctl restart ztncui
就是這樣,現在我的網路控制器的 GUI 僅適用於網路節點 10.10.10.0.24。
取而代之的是結論
這是我想要完成基於 ZeroTier 建立虛擬網路的實用指南的第一部分的地方。 我期待你的評論。
同時,為了打發時間,直到下一部分出版,我會告訴你如何將虛擬網路與實體網路結合,如何組織「公路戰士」模式等等,我建議你試試使用帶有GUI 的專用網路控制器組織您自己的虛擬網絡,該控制器基於市場上的VDS
聚苯乙烯 是的! 我差點忘了! 您可以使用該節點的 CLI 中的命令從網路中刪除該節點。
zerotier-cli leave <Network ID>
200 leave OK
或節點上客戶端 GUI 中的刪除命令。
->
->
->
來源: www.habr.com