教程短文资讯

在 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 […]