在debian系统上使用kvm、添加网卡设备案例

案例目的: 按照下面的表格的要求配置5台虚拟机。

主机名 角色 系统 IP
web0 外网Web服务器 redhat9.3 172.168.122.101
web1 内网Web服务器 redhat9.3 192.168.122.101
server 分离服务器 redhat9.3 192.168.122.7 172.168.122.7
client0 外网客户机 redhat9.3 192.168.122.18
client1 内网客户机 redhat9.3 172.168.122.18

1、基础命令回顾

配置主机IP

shell 复制代码
nmcli connection modify [网络连接名] ipv4.addr [主机ip] ipv4.dns [dns服务器的ip地址,多个dns服务器ip用引号括起来,并用`,`分隔] ipv4.method manual connection.autoconnect yes 

注意:网络连接名通过ifconfig进行查看。

配置主机名

shell 复制代码
hostnamectl hostname [主机名]
reboot //配置完成,重启后才能生效

2、实验分析

上述虚拟机,根据网络配置可以分为三类

  1. 网段为172.168.122.0/24的主机
    web0
    client1
  2. 网段为192.168.122.0/24的主机
    client0
    web1
  3. 同时包含172.168.122.0/24和192.168.122.0/24两个网段的主机
    server

Result :

  1. 总共包含两个网段,这意味着我们要创建两个虚拟网络,来分别管理两个网段的主机。
  2. server主机包含两个网段的ip,所以server主机要同时包含这两个虚拟网络。

3、准备两个虚拟网段

其中default 是虚拟机的默认的虚拟网络,负责管控192.168.122.0/24,所以我们就只需要创建一个新的虚拟网络来管控网段172.168.122.0/24。

想要知道这部分内容更详细的细节请参照VM虚拟机网段配置

3.1 进入目录/etc/libvirt/qemu/networks/

shell 复制代码
cd /etc/libvirt/qemu/networks/

3.2 拷贝default.xml 为 b-network.xml

shell 复制代码
cp default.xml b-network.xml             

3.3 修改b-network.xml

修改b-network.xml内容与下面保持一致。

shell 复制代码
xwang@xwangl:/etc/libvirt/qemu/networks$ sudo cat b-network.xml 
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit default
or other application using the libvirt API.
-->
<network>
  <name>c-network</name> <!--这里要修改,修改成c-network即虚拟网络的名称。也是唯一的,所以要修改。-->
  <forward mode='nat'/>
  <bridge name='virbr1' stp='on' delay='0'/> <!--这里也要改,这里标识的是网卡的名称,必须修改,不能重复。-->
  <ip address='172.168.122.1' netmask='255.255.255.0'> <!--根据管理网段的信息进行修改,这个IP一般是这个网段的网关。-->
    <dhcp>
      <range start='172.168.122.2' end='172.168.122.254'/> <!--dhcp范围也要修改为管理网段的范围。-->
    </dhcp>
  </ip>
</network>

3.4 让虚拟机识别这个虚拟网络。

shell 复制代码
sudo virsh net-define /etc/libvirt/qemu/networks/b-network.xml

3.5 检查是否配置成功。

shell 复制代码
xwang@xwangl:/etc/libvirt/qemu/networks$ sudo virsh net-list --all
 名称        状态   自动开始   持久
-------------------------------------
 b-network   活动   是         是
 default     活动   是         是

4、找到对应的虚拟机应用对应的虚拟网络

在虚拟机的这个地方选择虚拟机的虚拟网络。

5、为server添加虚拟网络。

5.1 为server添加一个网络硬件

5.1.1 在这个界面点击添加硬件
4.1.2 添加一个网络的硬件

注意,记得把网络源修改为b-network

4.2 配置server新的虚拟网络
shell 复制代码
nmcli connnection modify [新虚拟网络的名字] ipv4.addr 172.168.122.7/24 ipv4.dns 8.8.8.8 ipv4.gateway 172.168.122.1 ipv4.method manual connection.autoconnect yes
相关推荐
雾时之林1 分钟前
Nginx反向代理与proxy_cache缓存搭建CDN服务器
服务器·nginx·缓存
Hello.Reader33 分钟前
Three.js / Cesium 卡顿怎么办?把三维渲染搬到 GPU 服务器
服务器·开发语言·javascript
Linux_cy35 分钟前
nginx 502 排查手册:九种原因分类、定位命令与检查顺序
linux·运维·服务器·网络·数据库·nginx·ssh
tedcloud1231 小时前
Docker Compose 部署 Uptime Kuma:配置 HTTPS、QQ 邮箱告警与数据备份
服务器·网络协议·ui·docker·容器·https·开源
萝卜兔0081 小时前
PIKACHU_UnsafeFileUpload
javascript·php
前端 贾公子1 小时前
第 6 章:MCP 服务器介绍与接入
运维·服务器·网络
OxYGC2 小时前
[工程] PHP2Shell 漏洞解析:两条 PHP 内核 RCE,为什么应用层的防护全部失效
android·开发语言·php
可乐_不渴2 小时前
# C语言文件操作全解析:从 fopen 到 fclose,一文吃透文件 IO
linux·服务器·c语言
李纲明2 小时前
WordPress 媒体库上传失败或一直转圈:先核 PHP 上传限制与目录权限,再查安全插件与对象存储
运维·开发语言·安全·php·wordpress·媒体库·devdiy
中云DDoS CC防护蔡蔡10 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos