2025年KVM虚拟化技术(kvm虚拟化技术实战与原理解析 pdf)

KVM虚拟化技术(kvm虚拟化技术实战与原理解析 pdf)p 项目六构建 KVM 虚拟机网络与服务构建 KVM 虚拟机网络 云网络技术项目教程 项目描述为提高服务器资源利用率 降低 IT 运维成本 采用 KVM 虚拟化技术构建虚拟机集群 在集群中构建虚拟化网络 实现虚拟机的内外网络互联 绑定多网卡提高网络节点的可用性 配置 DHCP 服务为虚拟机分配 IP 地址 部署负载均衡服务实现 WEB 服务的高可用 配置防火墙和安全组规则加固网络安全 p

大家好,我是讯享网,很高兴认识大家。




讯享网

 <p>项目六构建KVM虚拟机网络与服务构建KVM虚拟机网络《云网络技术项目教程》项目描述为提高服务器资源利用率,降低IT运维成本,采用KVM虚拟化技术构建虚拟机集群。在集群中构建虚拟化网络,实现虚拟机的内外网络互联。绑定多网卡提高网络节点的可用性,配置DHCP服务为虚拟机分配IP地址,部署负载均衡服务实现WEB服务的高可用,配置防火墙和安全组规则加固网络安全。</p> 

讯享网

项目6任务思维导图如图6-1所示。图6-1项目6任务思维导图构建KVM虚拟机网络【知识目标】(1)掌握KVM(Kernel-basedVirtualMachine,基于内核的虚拟机)虚拟化的特点。(2)掌握KVM虚拟化的实现方式。(1)能够安装管理KVM虚拟机。(2)能够配置多网卡绑定提高网络可用性。(3)能够配置KVM虚拟机集群的内外网互联。【技能目标】【网络拓扑】任务6-1的网络拓扑如图6-2所示。图6-2任务6-1网络拓扑必备知识1.KVM虚拟化KVM是一种基于Linux内核的虚拟化技术,它允许在一台物理主机上创建和管理多个虚拟机。KVM利用了Linux内核的虚拟化功能,将物理服务器划分为多个独立的虚拟机,每个虚拟机都可以运行自己的操作系统和应用程序。通过在Linux内核中加载KVM模块,将其转变为一个虚拟化层,提供对硬件的直接访问和管理能力,使虚拟机可以与物理硬件之间进行直接的交互。每个虚拟机都被视为一个独立的进程,并且具有自己的虚拟CPU、内存、磁盘和网络设备等,KVM虚拟化的主要特点包括以下几种。(1)硬件支持KVM依赖于处理器的虚拟化扩展,使虚拟机可以直接访问物理硬件,并获得接近本地性能的性能,通过直接访问硬件和优化的虚拟化技术,KVM可以实现较低的虚拟化开销。(2)完整的虚拟化KVM提供了完全虚拟化的能力,可以运行几乎所有的操作系统,包括Windows、Linux、Unix等。(3)灵活性和可扩展性KVM可以根据需要动态分配和管理虚拟机的资源,如CPU、内存和存储等,允许虚拟机在不同的物理主机之间进行迁移,以实现负载均衡和故障恢复。(4)安全性和隔离性由于每个虚拟机都是独立的进程,它们之间是完全隔离的。这提供了更高的安全性,可以防止一个虚拟机中的应用程序影响其他虚拟机或主机系统。必备知识2.KVM虚拟化实现方式在服务器上虚拟出计算机的过程如图6-3所示,首先在服务器硬件上安装Linux操作系统,KVM内核模块就自动被安装了,通过KVM内核可以对CPU和内存进行虚拟化,提供给客户机(虚拟机)使用,实现磁盘和网卡等IO(输入输出)设备的虚拟化,需要借助QEMU(QuickEmulator,快速仿真器)实现,虚拟了CPU、内存、磁盘、网卡等设备后,就可以在客户机(虚拟机)上安装操作系统了各种应用了。图6-3任务6-1服务器虚拟计算机过程必备知识3.使用KVM和QEMU方法QEMU是一款开源工具,在安装KVM虚拟机时,直接安装到Linux操作系统上,使用相关命令虚拟磁盘和网卡等IO设备。KVM是Linux操作系统的内核,用户安装了Linux后就安装KVM内核模块,但用户是无法直接管理KVM的,需要在Linux上安装libvirt工具实现对KVM的相关管理,如图6-4所示,安装了libvirt工具后,还需要使用virsh命令行、virt-manager等工具对libvirt进行操作,间接的管理KVM内核模块。图6-4任务6-1使用KVM内核模块创建KVM虚拟机1.配置服务器网络环境首先使用CentOS8.ova模板机创建三台名称为node1、node2、node3的服务器,在node1上再添加两块网卡。三台服务器的网卡及IP地址配置如表6-1所示。表6-1网卡地址及所属网络服务器名称网卡名称

连接到网络网络模式IP地址node1ens160VMnet1仅主机192.168.10.2ens192lan1区段自定义网络不配置IP地址ens256lan1区段自定义网络不配置IP地址ens161VMnet8nat不配置IP地址node2ens160VMnet1仅主机192.168.10.3ens192lan1区段自定义网络不配置IP地址node3ens160VMnet1仅主机192.168.10.4ens192lan1区段自定义网络不配置IP地址其中node1、node2、node3的ens160网卡用于登录管理主机,在node1上将ens192和ens256绑定,与node2和node3的ens192网卡用于跨主机之间的网络通信,node1的ens161用于内部网络与外部网络互联,也就是说,node2和node3的虚拟机访问外部网络流量需要经过node1服务器的ens161网卡。将node1服务器的ens192、ens256网卡、node2服务器的ens192网卡、node3服务器的ens192网卡设置为lan1区段。方法是首先在每台服务器的“虚拟机设置”对话框中单击“LAN区段(S)…”按钮,添加一个lan区段,名称为lan1,然后服务器中的每块网卡设置为lan1区段,设置node1服务器网卡的lan1区段如图6-5所示。图6-5任务6-1node1服务器的网卡lan区段设置配置完成后,查看node1服务器的网卡和IP地址配置,如图6-6所示。图6-6任务6-1node1服务器网卡配置查看node2服务器的网卡和IP地址配置,如图6-7所示。图6-7任务6-1node2服务器网卡配置查看node3服务器的网卡和IP地址配置,如图6-8所示。图6-8任务6-1node3服务器网卡配置创建KVM虚拟机2.在服务器上安装KVM虚拟机(1)检查基础环境在node2和node3安装KVM虚拟机的过程是一致的,所以这里以node2服务器节点为例,讲解安装KVM虚拟机的过程,node3服务器的虚拟机安装参照node2完成。①检查服务器是否开启了硬件虚拟化支持由于KVM虚拟化是需要硬件虚拟化辅助实现的,所以查看服务器是否开启了硬件虚拟化的支持,方法是使用egrep抓取/proc/cpuinfo信息,命令如下。[root@node2]#egrep’(vmx|svm)‘/proc/cpuinfo结果如图6-9所示。图6-9任务6-1查看硬件是否开启了cpu虚拟化支持在结果中发现了vmx的信息,说明硬件已经开启了虚拟化支持,如果没有此信息,首先在计算机的BIOS(basicinputoutputsystem,基本输入输出系统)中开启CPU的虚拟化,然后在VMware中开启每个节点的CPU虚拟化,如图6-10所示。图6-10任务6-1VMware中开启节点的CPU虚拟化②检查内核是否加载了KVM模块使用lsmod|grepkvm命令可以查看内核是否加载了kvm模块,结果如图6-11所示。图6-11任务6-1查看内核是否加载了KVM模块从结果中可以看到,内核中已经加载了KVM虚拟化内核模块。(2)安装管理程序管理KVM内核模块需要安装libvirt程序,模拟虚拟磁盘和网卡的程序是qemu,安装和运维虚拟机需要使用virt-manager工具,首先安装这3个软件。[root@node2]#yuminstalllibvirtqemu-kvmvirt-manager-y使用virt-manager或命令行通过libvirt程序创建管理虚拟机,启动libvirt并设置开机自启动的命令如下。[root@node2]#systemctlstartlibvirtd&&systemctlenablelibvirtd(3)启动virt-manager图形安装界面①安装gui(GraphicalUserInterface,图形用户接口)图像界面在node2服务器上,需要安装CentOS的图形化界面,支持virt-manager的启动,命令如下。[root@node2]#yumgroupinstall”ServerwithGUI”-y安装完成后,重启启动node2,使用SecureCRT再次登录。②windows主机安装Xming软件在CentOS上运行virt-manager软件时,需要在windows上安装Xming软件提供图形化支持,首先在windows上启动Xming安装程序,如图6-12所示。图6-12任务6-1启动Xming安装程序安装时,不用修改默认的选项,每个步骤直接点击“Next”按钮,将Xming安装到Windows上,安装完成后,启动Xming,在“任务栏”的右下角会看到Xming软件启动图标,等待virt-manager的连接。③设置secureCRT转发X11数据包在secureCRT的“选项”中选择“会话”选项,选中“端口转发”下的“远程/X11”选项,选中转发“X11数据包(F)”和“强制X11鉴权(N)”,单击“确定”按钮,如图6-13所示。图6-13任务6-1开启X11数据转发④启动virt-manager管理程序在node2上启动virt-manager软件,命令如下。[root@node2]#virt-manager启动完成后,在windows上会启动virt-manager的图形化界面,如图6-14所示。图6-14任务6-1virt-manager图形安装界面创建KVM虚拟机3.创建centos6虚拟机(1)上传centos6.5安装文件选择CentOS6.5的原因是占用的资源比较少,将CentOS-6.5的镜像文件上传到libvirt镜像文件默认目录/var/lib/libvirt/images,如下所示。[root@node2images]#lsCentOS-6.5.iso(2)使用virt-manager创建VM1虚拟机在virt-manager启动页面,单击“创建虚拟机”图标,如图6-15所示。图6-15任务6-1创建虚拟机弹出“生成新虚拟机”对话框,如图6-16所示。图6-16任务6-1选择安装操作系统方式图6-17任务6-1选择操作系统镜像文件选择默认的“本地安装介质(ISO映像或者光驱)(L)”安装操作操作系统,单击“前进”按钮。在“生成虚拟机5的步骤2”对话框中选择“浏览”按钮,如图6-17所示。图6-18任务6-1选择安装文件在弹出的对话框中,选择/var/lib/libvirt/images目录下的默认安装文件CentOS6.5.iso文件,单击“选择卷”按钮,如图6-18所示。图6-19任务6-1导入系统文件和版本选择后,在“生成虚拟机5的步骤2”对话框中就会显示镜像文件的名称,在对话框的下方,选择安装操作系统版本,一般情况下,会根据选择的镜像自动识别,如图6-19所示。图6-20任务6-1选择内存大小和CPU核数在弹出的“生成虚拟机5的步骤3”中选择内存大小为1024M,CPU核心数为1,单击“前进”按钮,如图6-20所示。图6-21任务6-1选择虚拟磁盘空间在弹出的“生成虚拟机5的步骤4”中选择默认的为虚拟机创建9G磁盘镜像,单击“前进”按钮,如图6-21所示。图6-22任务6-1修改虚拟机名称与选择网络在弹出的“生成虚拟机5的步骤5”中修改虚拟机的名称为vm1,在“选择网络”选项,选择默认的“虚拟网络‘default’:NAT”,如图6-22所示。单击“完成按钮”后,弹出安装虚拟机操作系统的界面,如图6-23所示,需要注意的是这里的对话框是针对vm1这个虚拟机的,和virt-manager启动后的管理界面是两个对话框,也就是说这个界面是vm1虚拟机的控制台,在控制台可以对虚拟机进行各种详细的操作,而virt-manager主要用来安装和克隆虚拟机等操作。图6-23任务6-1安装CentOS6.5操作系统图6-24任务6-1安装成功界面安装CentOS6.5的过程与项目3中制作CentOS8模板机的过程基本一致,这里不再赘述,具体操作在微课视频中讲解,需要注意的有两点,一在配置网络时,将网卡设置为默认启动。二是root用户的密码要求6位,这里设置为000000。安装成功的界面如图6-24所示。图6-25任务6-1登录vm1虚拟机单击“重新引导”按钮进入操作系统登录页面,输入用户名root,密码000000后登录操作系统,查看IP地址,如图6-25所示。图6-26任务6-1登录vm2虚拟机图6-25任务6-1登录vm1虚拟机管理KVM虚拟机1.使用virt-manager管理虚拟机(1)在virt-manager主界面管理虚拟机使用virt-manager创建虚拟机后,可以对虚拟机进行管理,在虚拟机名称列表中,右键单击“VM1”,在弹出的菜单中,可以对虚拟机进行暂停、关机、重启、克隆、迁移、删除、打开控制台等操作,在克隆虚拟机时,需要将虚拟机关机,如图6-27所示。图6-27任务6-1鼠标右键管理虚拟机(2)控制台管理虚拟机点击virt-manager启动页面的“打开”图标或者右键单击虚拟机后,在弹出菜单出选择“打开”都可以进入虚拟机的控制台,在虚拟机控制台中,可以登录虚拟机操作系统、添加虚拟机硬件、拍摄快照等操作,如图6-28所示。图6-28任务6-1虚拟机控制台后续在网络配置中,会使用到“显示虚拟机硬件详情”图标,修改网卡所连接的网桥信息。管理KVM虚拟机2.使用命令行管理虚拟机(1)虚拟机域管理在服务器上,使用virsh命令可以更加细致的管理虚拟机,每个虚拟机被称为一个域。可以使用virsh–help查看管理虚拟的所有命令。查看当前所有虚拟机的命令如下。[root@node2]#virshlist–all结果如图6-29所示。图6-29任务6-1查看所有虚拟机如果只查看正在启动的虚拟机可以去掉–all选项,使用virshshutdown命令关闭虚拟机,关闭vm1虚拟机的命令如下。[root@node2]#virshshutdownvm1如果使用shutdown关闭虚拟机没有生效,可以使用virshdestroy命令强制关闭虚拟机,强制关闭虚拟机vm1的命令如下。[root@node2]#virshdestroyvm1关闭后,再使用virshlist命令已经不能看到虚拟机了,使用virshlist–all查看运行和关闭的虚拟机,结果如图6-30所示。图6-30任务6-1关闭虚拟机后再次查看使用virshstart命令开启关闭的虚拟机,如打开vm1的命令如下。[root@node2]#virshstartvm1使用virshlist命令查看启动的虚拟机,可以发现vm1已经启动了,如图6-31所示。图6-31任务6-1开启vm1后查看虚拟机(2)虚拟机网络管理使用virshdomiflist可以显示服务器上的虚拟网卡信息,如查看vm1的虚拟网卡信息命令如下。[root@node2]#virshdomiflistvm1结果如图6-32所示。图6-32任务6-1vm1的虚拟网卡说明在node2服务器上的vnet12与虚拟机中的网卡eth0是成对出现的,即虚拟机与外部通信流量先到达vnet0,使用ethtool命令可以查看vnet0的类型为tap虚拟网卡,如图6-33所示。图6-33任务6-1查看虚拟网卡vnet0的类型在node2服务器上使用iplink查看当前的网卡链接,如图6-34所示。图6-34任务6-1node2服务器网卡信息发现在node2服务器上新建立了3张网卡,分别是virbr0、birbr0-nic、vnet0,其中vnet0就是与vm1虚拟机的通信网卡了。查看网卡IP地址时,发现virbr0配置了IP地址192.168.122.1/24,如图6-35所示,这时由于libvirt程序配置了DHCP分配功能,为virbr0虚拟网桥和虚拟机vm1分配了相应的IP地址。接下来分析三张网卡之间的关系,在node2服务器上安装bridge-utils网桥工具,查看当前的网桥信息,如图6-36所示。图6-35任务6-1virbr0的IP地址图6-36任务6-1查看网桥信息从结果中发现virbr0是qemu工具建立的虚拟网桥,连接到了tap网卡vnet0上,再通过vnet0与虚拟机vm1进行通信,virbr0-nic虚拟网卡也绑定到了virbr0上,暂时没有连接其他设备,处于关闭状态。在node3服务器上,同样可以查看网桥和连接的网卡信息,如图6-37所示。图6-37任务6-1node3网桥信息绑定多网卡提高网络可用性1.配置网络节点的双网卡绑定根据任务拓扑所示,在网络服务器上需要将ens192和ens256两块网卡绑定在一块,为node2和node3上的虚拟机提供高可靠的网络服务,配置过程如下。(1)加载bonding模块在绑定多张网卡时,需要使用Linux内核模块bonding,所以首先加载它,命令如下。[root@node1]#modprobe–first-timebonding加载完成后,查看内核模块是否加载,命令如下。[root@node1]#lsmod|grepbonding结果如图6-38所示。图6-38任务6-1查看内核加载bonding模块从结果中发现,bonding模块已经被加载成功。(2)配置绑定网卡首先进入到网络配置文件目录,在目录下创建文件ifcfg-bond1,打开文件输入以下内容。DEVICE=bond1BOOTPROTO=staticONBOOT=yesUSERCTL=noBONDING_OPTS=“mode=1miimon=100”其中USERCTL=no指定只有root用户或具有特权的用户才能对绑定接口进行操作和配置。BONDING_OPTS是绑定网卡的重要选项,miimon=100指明每个接口检查链路状态的时间是100毫秒,也就是说加入到bond1的多网卡需要经过100毫秒进行链路状态检查。mode指定的是数据发送与接收的模式,常见的bonding模式包括负载均衡模式、主备模式,两种模式的解释如下。①负载均衡模式mode=0是负载均衡模式,表示多块网卡同时收发数据,作用是增加了带宽,实现了负载均衡。②主备模式mode=1是主备模式,只有一块网卡收发数据,另一块网卡做备份,实现了网卡备份。(2)将ens192和ens256加入绑定网卡bond1在ens192和ens256配置文件的末尾加上以下配置。MASTER=bond1SLAVE=yes第一行配置指明bond1网卡是本网卡的主网卡,第二行配置指明本网卡是从网卡,配置完成后重启网络管理和网络链接。绑定多网卡提高网络可用性2.测试双网卡绑定(1)查看配置效果①查看网卡信息首先在node1服务器上使用iplink命令查看网卡信息,如图6-39所示。图6-39任务6-1查看node1网卡配置从结果中发现,新增加了一块网卡bond1,而且ens192和ens256的主网卡已经设置成bond1了。②查看负载均衡配置信息查看/proc/net/bonding/bond1文件可以观察网卡绑定配置信息,如图6-40所示。图6-40任务6-1网卡负载均衡绑定信息从结果中发现,网卡绑定模式是(active-backup)主备模式,当前的主网卡是ens192,网卡ens256作为备份网卡。(2)测试效果①配置网卡临时IP地址由于本任务是不需要为绑定网卡bond1配置IP地址的,所以为bond1配置临时IP地址,用于测试,测试完成后,删除临时IP地址。配置bond1的IP地址为1.1.1.1/24,命令如下。[root@node1]#ipaddradd1.1.1.1/24devbond1在node2服务器上,配置ens192的临时IP地址为1.1.1.2/24,命令如下。[root@node2]#ipaddradd1.1.1.2/24devens192②测试node2与node1服务器上的bond1连通性在测试之前,首先在node1上分别抓取ens192和ens256的网卡icmp协议流量,命令如下。[root@node1]#tcpdump-iens192-picmp[root@node1]#tcpdump-iens256-picmp在node2服务器上测试与bond1的192.168.1.1连通性,结果如图6-41所示。图6-41任务6-1测试node2与node1服务器网卡bond1连通性从结果中发现,已经能够正常通信。查看ens192抓取数据的流量,如图6-42所示。图6-42任务6-1ens192网卡的数据流量查看ens256抓取数据的流量,如图6-43所示。图6-43任务6-1ens256网卡的数据流量从抓取流量的结果可以发现,2块网卡中只有ens192承载了node2服务器到node1服务器的测试流量,说明网卡将ens192和ens256绑定成bond1的操作成功了,主备模式已经生效,测试完成后将node1服务器上bond0的临时IP地址和node2服务器上ens192的临时IP地址删除,命令如下。[root@node1]#ipaddrdel1.1.1.1/24devbond1[root@node2]#ipaddrdel1.1.1.2/24devens192桥接KVM虚拟机到自定义网络1.配置服务器node2和node3在node2服务器上创建了vm1虚拟机,在node3服务器上创建了vm2虚拟机,需要将vm1和vm2连接到集群网络之中,配置步骤如下。(1)配置node2的虚拟网桥并且绑定网卡①创建虚拟网桥br2在node2服务器的网络配置目录,创建虚拟网桥文件ifcfg-br2,在br2中输入以下内容。TYPE=BridgeNAME=br2DEVICE=br2ONBOOT=yes②创建ifcfg-ens192.10子接口创建ens192网卡的子接口ens192.10,封装vlan标记为10,在网络配置目录下创建ifcfg-ens192.10文件,在文件中输入以下内容。VLAN=yesTYPE=VLANPHYSDEV=ens192VLAN_ID=10NAME=ens192.10DEVICE=ens192.10ONBOOT=yesBRIDGE=br2其中最后一行配置指明将此网卡绑定到br2网桥上,保存后,重启网络管理程序和链接。③绑定虚拟网卡到br2网桥将node2上连接vm1的虚拟网卡绑定到br2网桥上,在虚拟机vm1的控制台下,选择左侧“NIC”网卡,在“网络源”处选择指定共享设备名称,在“网桥名称”文本框中输入br2,单击“应用”按钮,如图6-44所示。图6-44任务6-1绑定虚拟网卡到br2网桥绑定完成后,重启虚拟机vm1,重启完成,查看node2服务器上的网桥配置,结果如图6-45所示。需要说明的是虚拟网卡是在虚拟机启动时,由qemu创建的,所以虚拟网卡的名称是有可能变化的,但不会影响虚拟机与外部通信。图6-45任务6-1node2服务器虚拟网桥信息从结果可以看出,br2已经成功绑定了ens192.10和vnet0虚拟网卡。(2)配置node3的虚拟网桥并且绑定网卡①创建虚拟网桥br3在node2服务器的网络配置目录,创建虚拟网桥文件ifcfg-br3,在br2中输入以下内容。TYPE=BridgeNAME=br3DEVICE=br3ONBOOT=yes②创建ifcfg-ens192.10子接口创建ens192网卡的子接口ens192.10,封装vlan标记为10,在网络配置目录下创建ifcfg-ens192.10文件,在文件中输入以下内容。VLAN=yesTYPE=VLANPHYSDEV=ens192VLAN_ID=10NAME=ens192.10DEVICE=ens192.10ONBOOT=yesBRIDGE=br3其中最后一行配置指明将此网卡绑定到br3网桥上,保存后,重启网络管理程序和链接。③绑定虚拟机网卡到br3网桥将node3上连接vm2的虚拟网卡绑定到br3网桥上,在虚拟机vm2的控制台下,选择左侧“NIC”网卡,在“网络源”处选择指定共享设备名称,在“网桥名称”文本框中输入br3,单击“应用”按钮,如图6-46所示。图6-46任务6-1绑定虚拟机网卡到网桥br3绑定完成后,重启虚拟机vm2,重启完成,查看node3服务器上的网桥配置,结果如图6-47所示。图6-47任务6-1node2服务器虚拟网桥信息从结果可以看出,br3已经成功绑定了ens192.10和vnet1虚拟网卡。绑定多网卡提高网络可用性2.配置网络节点node1(1)创建网桥br1并绑定bond1.10在node1服务器的网络配置目录下,创建ifcfg-br1文件,在文件中输入以下内容。TYPE=BridgeNAME=br1DEVICE=br1ONBOOT=yes然后创建ifcfg-bond1.10文件,将该网卡配置成bond1的子接口,封装vlan标记为10,在文件中输入以下内容。VLAN=yesTYPE=VLANPHYSDEV=bond1VLAN_ID=10NAME=bond1.10DEVICE=bond1.10ONBOOT=yesBRIDGE=br1其中PHYSDEV=bond1指明物理网卡是bond1网卡,最后一行配置BRIDGE=br1指定该网卡绑定到br1虚拟网桥上,配置完成后重启网络管理程序和链接,查看网桥配置如图6-48所示。图6-48任务6-1br1网桥绑定bond1.10网卡(2)创建虚拟路由r1和虚拟网桥brout①创建brout虚拟网桥在网络配置目录下,创建ifcfg-brout文件,在文件中输入以下内容。TYPE=BridgeNAME=broutDEVICE=broutONBOOT=yes②创建虚拟路由和veth虚拟网卡在node1服务器上创建虚拟路由器r1,为虚拟机提供网关和路由转发服务,r1通过brout连接到ens161网卡,实现与外界互联,配置如下。[root@node1]#ipnetnsaddr1#添加名称空间r1[root@node1]#iplinkaddveth1typevethpeernameveth11#添加成对虚拟网卡[root@node1]#iplinksetveth11up#启动虚拟网卡veth11[root@node1]#iplinksetveth1netnsr1#移动虚拟网卡veth1到r1下[root@node1]#ipnetnsexecr1iplinksetveth1up#启动veth1[root@node1]#iplinkaddvethbr1typevethpeernamevethbr11#添加成对网卡[root@node1]#iplinksetvethbr11up#启动vethbr11[root@node1]#iplinksetvethbr1netnsr1#移动vethbr1到r1下[root@node1]#ipnetnsexecr1iplinksetvethbr1up#启动vethbr1[root@node1]#brctladdifbr1veth11#网桥br1绑定veth11[root@node1]#brctladdifbroutvethbr11#网桥brout绑定vethbr11[root@node1]#brctladdifbroutens161#网桥brout绑定ens161③创建虚拟路由的IP地址和网关配置虚拟路由r1连接内部网络的网卡IP地址为192.168.1.1/24,为虚拟机提供网关,配置连接外部网络的网卡IP地址为192.168.200.10/24,将网关设置为vmnet8网络的网关地址192.168.200.2,配置如下。[root@node1]#ipnetnsexecr1bash#进入虚拟路由r1[root@node1]#ipaddradd192.168.1.1/24devveth1#设置内网IP地址[root@node1]#ipaddradd192.168.200.10/24devvethbr1#设置外网IP地址[root@node1]#routeadddefaultgw192.168.200.2#设置默认路由(网关)(3)配置Iptables规则实现内外网络互联虚拟机的数据到达路由器r1后,路由器需要将进行源地址转换,实现虚拟机访问外部网络,当外部主机访问虚拟机时,需要在路由器的外部网络接口上增加IP地址,然后配置Iptables目的地址转换实现外部主机访问内部网络的虚拟机,配置如下。[root@node1]#ipnetnsexecr1bash进入虚拟路由r1[root@node1]#iptables-tnat-APOSTROUTING-s192.168.1.0/24-jSNAT–to192.168.200.10#将来自192.168.1.0/24网络的源地址转换为192.168.200.10[root@no

小讯
上一篇 2025-04-21 15:04
下一篇 2025-06-17 10:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/189953.html