教程短文資訊

在 NanoPI R2S 上運行 HIP VPLS

簡介

以前,我們演示了一個基於主機身份的虛擬專用服務(HIP-VPLS)的工作原型,當時我們使用了Mininet框架。在這裡,我們將演示如何在實際硬體上部署此系統。我們將使用NanoPi R2S作為HIP-VPLS的平台。回顧一下,虛擬專用區域網服務(VPLS)提供了在現有IP網路上構建第二層通信的手段。可以使用各種方法構建VPLS。然而,當構建生產級VPLS解決方案時,需要清楚如何解決諸如安全性、移動性和L2問題等方面的問題。

主機身份協議(HIP)最初設計用於拆分IP地址的雙重角色。換句話說,HIP是一個介於IP和傳輸層之間的第3.5層解決方案。HIP使用公鑰的哈希作為標識符。這些標識符或主機身份標籤(HITs)暴露給傳輸層,並且永遠不會改變(嚴格來說,如果系統管理員決定旋轉RSA或ECDSA密鑰對,它們可能會發生更改,但這很少發生)。另一方面,HIP使用可路由的IP地址(這些可以是IPv4或IPv6)作為定位器,並用於在端點之間傳遞HIP和IPSec數據包。總體而言,為了相互識別並交換秘密密鑰,HIP依賴於4路握手(也稱為HIP基本交換或HIP BEX)。在BEX期間,對等方協商要使用的一組加密演算法,相互識別(由於HIT是永久的並綁定到公鑰,HIP可以使用基於HIT的簡單防火牆來過濾不受信任的連接),交換密鑰(HIP可以使用Diffie- Hellman和橢圓曲線Diffie-Hellman演算法),甚至使用計算難題(這些基於密碼哈希函數和對等方在哈希函數中找到碰撞的能力;解決方案的複雜性由HIP BEX中的響應器調節)。HIP還支持移動性,並使用單獨的握手過程,其中對等方通知其對等方有關定位器(用於路由目的)的更改。

硬體

在我們的部署中,我們使用了以下設置。對於HIP交換機,我們使用了NanoPi R2S計算平台。我們使用了8埠SNR交換機來連接3個NanoPi R2S,這樣我們就模擬了設置中的IP覆蓋層。NanoPi R2S有兩個介面:一個面向LAN網路,另一個面向WAN網路。NanoPi R2S具有以下特徵:1GB內存,四核CPU,32GB SD卡。為了連接路由器,我們使用了SNR交換機(每個交換機有8個1GB / s埠和兩個小型形式因子(SFP)插槽)。測試床配置如下圖所示:

部署系統

步驟1:安裝依賴

在NanoPi R2S上安裝HIP-VPLS之前,需要安裝一些依賴程序包。在NanoPi R2S上,我們使用的操作系統是Armbian。為了安裝依賴程序包,請執行以下命令:

sudo apt-get update
sudo apt-get install build-essential libssl-dev libnl-genl-3-dev libnl-route-3-dev libpcap-dev

步驟2:下載和編譯HIP-VPLS

接下來,我們需要下載和編譯HIP-VPLS代碼。請按照以下步驟執行:

git clone https://github.com/HIP-VPLS/hip-vpls.git
cd hip-vpls
make
sudo make install

步驟3:配置HIP-VPLS

HIP-VPLS需要一個配置文件,以確定HIP交換機的端點和VPLS域。我們將使用以下示例配置文件:

ini

Copy

[hip-switch]
local-address = 192.168.2.10
insecure = true
[hip-endpoint]
address = 192.168.2.11
hit = 0x123456789abcdef0123456789abcdef01234567
[hip-endpoint]
address = 192.168.2.12
hit = 0x23456789abcdef0123456789abcdef012345678
[vpls-domain]
name = test-domain
hit-list = 0x123456789abcdef0123456789abcdef01234567, 0x23456789abcdef0123456789abcdef012345678

在此示例中,我們有一個HIP交換機和兩個HIP端點。HIP交換機的IP地址為192.168.2.10,我們設置了insecure = true以允許不安全的HIP連接。HIP端點的IP地址分別為192.168.2.11和192.168.2.12,它們都有一個HIT。我們還定義了一個名為test-domain的VPLS域,其中包含兩個HIT。

步驟4:啟動HIP-VPLS

現在,我們已經準備好啟動HIP-VPLS了。請執行以下命令:

sudo hip-vpls -c /path/to/config/file

在我們的示例中,我們的配置文件位於/home/user/hip-vpls.conf,因此我們將運行以下命令:

sudo hip-vpls -c /home/user/hip-vpls.conf

步驟5:測試HIP-VPLS

最後,我們將測試HIP-VPLS是否正常工作。在這裡,我們將ping一下HIP端點之間的VPLS。請在192.168.2.11和192.168.2.12之間執行以下命令:

ping 10.0.0.1

我們的VPLS域的名稱為test-domain,因此它將被路由到10.0.0.1。

結論

我們已經展示了如何在NanoPi R2S上部署HIP-VPLS,這是一個基於主機身份的虛擬專用服務。HIP提供了一個強大的身份驗證和密鑰協商協議,可以用於構建安全的第二層網路。我們還展示了如何使用SNR交換機將多個NanoPi R2S連接在一起,從而模擬IP覆蓋層。這是一個簡單而有效的方法,可以用來測試HIP-VPLS的性能和可伸縮性。

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0

You may also like

Leave a reply

您的電子郵箱地址不會被公開。 必填項已用 * 標註

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

More in:教程

教程

在 Ubuntu Linux 上安裝 Clang

無論您使用的是 Ubuntu 22.04、20.04 或其他任何版本,並且想要安裝 Clang(一個開源的 C、C++ 和 Objective-C 編譯器),本文將對您有所幫助。Clang 是 GNU […]