首页 > 其他分享 >Proxmox VE 8 用SDN隔离用户网络

Proxmox VE 8 用SDN隔离用户网络

时间:2024-09-02 19:58:08浏览次数:4  
标签:VE 创建 虚拟机 网络 用户 PVE Proxmox SDN

田逸(formyz)


最新发布的Proxmox VE(以下简称PVE) 8在Web管理后台集成了易于操作的SDN(软件定义网络)功能插件,其实质是对不同的PVE用户指定不同的网络,进行逻辑隔离,避免不同的用户设置相同的网络地址而产生冲突。例如用户A,给他指定地址段172.16.10.0/24,另外一个用户的地址段是172.16.20.0/24,如果这个用户A,误操作把它所管理的虚拟机设置成B用户所在网段的地址,是不会有效的,也不会对其他用户产生影响。


环境准备


SDN所包含的组件(软件包)主要有:SDN核心libpve-network-perl、DHCP IPAM(IP Address Manage)、FRRouting(开源的互联网路由协议)。如果你运行的PVE版本是7.X,请用下列指令进行软件包的安装。

apt update

apt install libpve-network-perl

apt install dnsmasq

apt install frr-pythontools

apt update
apt install libpve-network-perl
apt install dnsmasq
apt install frr-pythontools

在PVE 宿主机安装完软件包以后,还需要修改宿主机的网络配置。在宿主系统Debian命令行下,进入目录“/etc/network”,将文本行“source /etc/network/interfaces.d/*”追加到网络配置文件“interfaces”,注意别丢掉那个星号通配符。

Proxmox VE 8 用SDN隔离用户网络_SDN



在没有创建与SDN相关联的区域前,PVE 宿主系统的目录“/etc/network/interfaces.d”目录是空的。


验证网络隔离


为便于读者理解,先做个简单的规划。在单节点上两个资源池、创建两个组及用户,两个虚拟网络并将分别授权给已经创建好的用户组,接着创建两个虚拟机,使虚拟机属于不同的网络及资源组。以下操作,如无特别说明,则默认在PVE Web管理后台进行。


1创建资源组


PVE数据中心级别,点击按钮菜单创建,输入易于辨识的文本对资源组进行命名,如下图所示。

Proxmox VE 8 用SDN隔离用户网络_网络地址_02



在本案中,我创建了两个资源组“mypool”与”mypool1”。


2创建群组


PVE数据中心级别,页面中间菜单栏选定“权限”之子菜单“群组”,再单击页面顶部按钮“创建”,输入文本对其命名,本案创建了两个群组,如下图所示。

Proxmox VE 8 用SDN隔离用户网络_群组_03



3创建用户


PVE数据中心级别,分别创建两个用户,用户formyz隶属于群组“mygrp”,用户“sery”隶属于群组“serygrp”,验证方式采用“Promox VE authentication server”(这种方式不需要在PVE宿主系统创建系统用户,简化了操作也降低了安全风险)。

Proxmox VE 8 用SDN隔离用户网络_SDN_04



4创建SDN区域


SDN的区域就是虚拟网络隔离标识,PVE支持五种类型的隔离方式,它们是:Simple、VLAN、QinQ、VxLAN、EVPN。受条件限制,本案仅以创建Simple区域为例,来演示隔离效果。


PVE数据中心级别,选定页面中部菜单“SDN”子菜单“区域”,再单击顶部按钮“创建”,输入文本给区域命名(文本长度有限制),如果是集群,还可能需要选定物理节点,创建过程如下图所示。

Proxmox VE 8 用SDN隔离用户网络_网络地址_05



依照上法创建好两个区域“simple01”与“tsimple”待用。


5创建虚拟网络(VNET)


数据中心级别,选定SDN子菜单“Vnets”,单击页面顶部菜单按钮“创建”,输入文本为其进行命名,并选定所属区域“simple01”,创建过程如下图所示。

Proxmox VE 8 用SDN隔离用户网络_网络地址_06



选定已经创建好的虚拟网络(Vnet)“mvnet”,点击页面右侧顶部菜单按钮“创建”,创建子网(虚拟网段),输入网络地址及默认网关,并勾选“SNAT”(源地网络地址转换)如下图所示。

Proxmox VE 8 用SDN隔离用户网络_网络地址_07


依照上法,为另一个区域“tsimple”创建子网“vnet01”,其网络参数为”192.168.88.0/24,192.168.88.1”.


确认无误后,鼠标选定菜单“SDN”,再单击顶部按钮“应用”,是设置生效。刷新PVE Web管理后台页面,在页面的左侧,显示刚创建好的两个区域,如果设置有错误,图标将以红色的叉显示,如下图所示。

Proxmox VE 8 用SDN隔离用户网络_SDN_08



选中区域“simple01”,为其赋予组权限“mygrp”,指定相应的角色,如下图所示。

Proxmox VE 8 用SDN隔离用户网络_网络地址_09


同样的方法,将区域“tsimple”隶属于群组“”


6创建虚拟机


创建两个虚拟机,使其属于两个不同的资源组,并为其指定不同的桥接网卡(虚拟网卡)。


创建虚拟机“RRR”,指定其属于资源池“mypool”,如果不这里不指定,也可以在创建好虚拟机后,以成员的方式加入到资源组。

Proxmox VE 8 用SDN隔离用户网络_网络地址_10



网络桥接下拉列表框选定前边步骤创建好的虚拟网络接口“mvnet”,虚拟机使用网络地址“192.168.99.0/24”.创建好虚拟机后,在其上安装操作系统Rocky 9,设置网络地址为“192.168.99.111”,默认网关为“192.168.99.1”,dns为“223.6.6.6”,系统正常启动后,登录到该虚拟机所在的系统,用指令“ping 192.16.99.1”及“ping www.163.com”验证网络的正确性。

Proxmox VE 8 用SDN隔离用户网络_SDN_11



修改次虚拟机的IP地址,使其为PVE宿主机所在的网段地址,重启虚拟机网络服务,网络不可能用,达到网络隔离的目的。


继续创建另外一个虚拟机,使其隶属于资源组“mypool1”选定其网络桥接接口为虚拟网卡“vnet01”,安装操作系统,并设定其IP地址为“192.168.88.111/24”,默认网关为“192.168.88.1”,DNS服务器为“223.6.6.6”,正常启动该虚拟机,进入系统测试网络的连通性。


现在分属与两个资源组的虚拟机已经创建完毕,同时打开两个浏览器,分别以用户“formyz”和“sery”进行登录,查看PVE WEB管理后台,是否只显示各自的成员(虚拟机或存储)。

Proxmox VE 8 用SDN隔离用户网络_群组_12



SSH远程登录两个虚拟机,用命令相互ping对方,或者ssh相互登录,验证网络连通的正确性。


SDN 的背后


PVE Web管理后台设置好SDN相关项且对其进行应用后,在PVE宿主系统Debian的目录“/etc/network/interface.d”生成文本文件“sdn”,其内容大致如下。

Proxmox VE 8 用SDN隔离用户网络_网络地址_13



Linux系统管理员应该对这个很熟悉吧!那就是网络地址转换。


需要注意的是,SDN Simple适合于单节点的PVE,如果是集群,建议使用VLAN方式,并需要交换机在功能上支持,起码能创建trunk。

标签:VE,创建,虚拟机,网络,用户,PVE,Proxmox,SDN
From: https://blog.51cto.com/sery/10700861

相关文章

  • 开机就能打?没那么玄乎!客观分析 “狂躁许可”漏洞(CVE-2024-38077)及其影响范围
    一、事件背景2024年7月9日,微软官方发布了一个针对“windows远程桌面授权服务远程代码执行漏洞”(CVE-2024-38077)的修复补丁包,起初并没有引起大家的警觉。今日在国外某网站上疑似漏洞的作者公开了该漏洞的“POC验证代码”。一时激起千层浪,该漏洞开始疯狂发酵并在安全圈里转发。该文章......
  • WPF communicate across different modules via event
    //Runtimeproject,cclasslibraryusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Linq.Expressions;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Input;namespaceRuntime{publicclassDelCmd:......
  • [vue] jszip html-docx-js file-saver 图片,纯文本 ,打包压缩,下载跨域问题
    npminstalljszipfile-saverimportJSZipfrom'jszip';importFileSaverfrom'file-saver';JSZip创建JSZip实例:constzip=newJSZip();创建文件:支持导出纯文本zip.file("hello.txt","HelloWorld\n");创建文件夹:zip.folder("file")......
  • Vue3 ref 和 reactive 的区别
    Vue3ref和reactive的区别文章目录Vue3ref和reactive的深度解析一、ref和reactive是什么二、vue3中如何使用ref和reactive三、ref和reactive包含哪些属性或方法API四、扩展与高级技巧五、优点与缺点六、对应“八股文”或面试常问问题七、总结与展望Vue3ref和......
  • Python大数据之Hadoop学习——day07_Hive分区表和分桶表
    目录一.分区表一级分区多级分区分区操作hadoop_hive文档二.分桶表基础分桶表:分桶表排序:分区表和分桶表区别一.分区表分区表特点:需要产生分区目录,查询的时候使用分区字段筛选数据,避免全表扫描,替身查询效率 效率上:如果分区表,在查询数据的时候没有分区字段去筛......
  • ETL数据集成丨SQLServer到Doris的无缝数据同步策略
    在数据驱动的新时代,企业对数据的需求日益增加,尤其是数据同步的速度和准确性。随着数据源和数据目标的多样化,如何实现高效、无缝的数据同步成为了许多企业的关注焦点。ETLCloud正是这一领域的先锋,为用户提供了从SQLServer到Doris的无缝数据同步解决方案,助力企业在数据整合和分......
  • CF1998E2 Eliminating Balls With Merging (Hard Version)
    原题链接考虑对于每个\(i\),算出向左扩展到\(1\)时向右至少和至多扩展到哪里,记为\(minr\)和\(maxr\)。那么也就是说每个\(i\)会对\(minr\simmaxr\)做出贡献,差分一下就可以了。重点是怎么计算这两个东西。先说\(maxr\)。如果暴力跳,过程是:先向左扩展直到不能扩展,然后......
  • 使用LiveQing解决大疆无人机RTMP推流直播花屏,同时可以接收OBS等直播推流
    @目录1、流媒体服务搭建2、推流工具准备3、创建鉴权直播间4、获取推流地址5、配置OBS推流6、推流及播放7、获取播放地址7.1页面查看视频源地址7.2接口查询8、更多问题8.1、大疆无人机推流花屏9、RTMP推流视频直播和点播流媒体服务1、流媒体服务搭建Windows/Linux系统环境中搭......
  • Windows server 2012 R2配置NTP Server
    将服务器类型更改成NTP:注册表中找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters下Type值改成"NTP";将注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config下AnnounceFlag项值改成"5";启用NTPServer:将注册表中HKEY_LOCAL......
  • BUUCTF Reverse题解:第二部分(持续更新)
    Welcomeagain,toC12AK'sRejournal!目录题目传送门前言1.[GWCTF2019]pyre题目传送门前言就是不想上课……Re比上课有意思多了qwq1.[GWCTF2019]pyre下载的文件是.pyc格式,它是.py经编译后的字节码文件,可以使用在线工具进行反编译。我们把文件放入,得到如下代码......