[Debian10] 使用 KVM 虚拟机并配置桥接网络
原文:https://www.cnblogs.com/DouglasLuo/p/12731591.html
参考资料:https://wiki.debian.org/KVM
如果要在debian下使用虚拟机其实有很多的解决方案。比如VirtualBox。但是我不想用VirtualBox。主要是想尝试下使用其他的虚拟机软件。在这里,我们来使用kvm。在debian下使用kvm其实很方便,有一个现成的kvm图形管理器叫virt-manager。可以像其他的虚拟机如VirtualBox,VMWare Workstation一样管理虚拟机。首先我们来安装所需要的软件包。
sudo apt-get install qemu-kvm libvirt-clients libvirt-daemon-system
这里每个包具体是做什么用的,我就不说了,因为我不知道分别是做什么用的。。。。。。
安装完这些包以后,就需要将当前的用户添加到libvirt用户组。这样做的目的是为了,使当前用户可以直接管理虚拟机而不需要提权(这一段是看官方wiki的。因为接下来我使用的是图形界面管理虚拟机,所以我不知道是不是必须步骤)
sudo adduser xiaoming libvirt #把xiaoming替换成自己的用户名
推荐使用命令查看自己的用户是否可以管理虚拟机。
sudo virsh list --all
然后就可以安装图形管理工具来管理虚拟机了。管理kvm虚拟机,主要是通过使用一个叫做virt-manager的图形界面工具实现的。使用apt-get安装virt-manager。
sudo apt-get install virt-manager
到这里,就可以通过图形界面工具管理虚拟机了。安装完virt-manager之后应该可以在应用程序菜单找到它。接下来创建虚拟机什么的就我就不说了。
接下来来讲如何将kvm虚拟机桥接到物理网络。首先我们需要安装开启桥接接口所需的工具的软件包。
sudo apt-get install bridge-utils
安装完以后,就可以使用brctl命令创建桥接接口并管理桥接接口。
sudo brctl addbr br0 #创建一个桥接接口,名字叫br0 sudo brctl show #输出系统上的所有桥接接口
这时候使用命令ip addr show应该就可以看到我们刚刚创建的那个桥接接口了。
然后将连接着家用路由器物理网卡接口加入到刚刚创建的br0桥接接口中。
sudo brctl addif br0 enp0s25 #enp0s25替换成自己的网络接口的名称
通过执行命令sudo brctl show就可以看到enp0s25,已经加入br0中了。
bridge name bridge id STP enabled interfaces br0 8000.f0def11b0be2 no enp0s25
删除内网网络接口的ip地址,把物理网卡接口配置到桥接接口上,并开启桥接接口。然后添加默认网关。
sudo ip addr del dev enp0s25 192.168.1.8/24 #把接口替换成自己的接口 sudo ip addr add 192.168.1.8/24 dev br0 sudo ip link set up br0 sudo route add default gw 192.168.1.1/24
这时候在virt-manager中配置虚拟机的网络,将网络设置给刚刚创建的桥接接口,虚拟机就处于桥接模式了。
恢复原来的状态,只需要将桥接接口关闭,然后从桥接接口中删除物理网卡接口,即可。
sudo ip link set br0 down sudo brctl delif br0 enp0s25 sudo ip link set enp0s25 down sudo ip link set up enp0s25 #重启物理网卡
原文地址:https://www.cnblogs.com/DouglasLuo/p/12731591.html
推荐阅读
-
[Ubuntu] VMware 虚拟机的网络配置(桥接模式)
-
VMware虚拟机配置桥接网络
-
使用固定静态 IP 设置 VMware 虚拟机桥接网络
-
[Debian10] 使用 KVM 虚拟机并配置桥接网络
-
Java 类加载器的作用 - 简介:类加载器是 Java™ 中一个非常重要的概念。类加载器负责将 Java 类的字节码加载到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模型、加载类的具体过程和线程上下文类加载器等。然后介绍了如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™ 中的应用。 类加载器是 Java 语言的一项创新,也是 Java 语言广受欢迎的重要原因之一。它允许将 Java 类动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 开始出现,最初是为了满足 Java Applets 的需求而开发的,Java Applets 需要从远程位置下载 Java 类文件并在浏览器中执行。现在,类加载器已广泛应用于网络容器和 OSGi。一般来说,Java 应用程序的开发人员不需要直接与类加载器交互;Java 虚拟机的默认行为足以应对大多数情况。但是,如果遇到需要与类加载器交互的情况,而您又不太了解类加载器的机制,就很容易花费大量时间调试异常,如 ClassNotFoundException 和 NoClassDefFoundError。本文将详细介绍 Java 的类加载器,帮助读者深入理解 Java 语言中的这一重要概念。下面先介绍一些基本概念。 类加载器的基本概念 顾名思义,类加载器用于将 Java 类加载到 Java 虚拟机中。一般来说,Java 虚拟机以如下方式使用 Java 类:Java 源程序(.java 文件)经 Java 编译器编译后转换为 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码并将其转换为 java.lang 实例。每个实例都用来表示一个 Java 类。通过该实例的 newInstance 方法创建该类的对象。实际情况可能更加复杂,例如,Java 字节代码可能是由工具动态生成或通过网络下载的。 基本上,所有类加载器都是 java.lang.ClassLoader 类的实例。下面将详细介绍这个 Java 类。 java.lang.ClassLoader 类简介 java.lang.ClassLoader 类的基本职责是根据给定类的名称为其查找或生成相应的字节码,然后根据这些字节码定义一个 Java 类,即 java.lang.Class 类的实例。除此之外,ClassLoader 还负责加载 Java 应用程序所需的资源,如图像文件和配置文件。不过,本文只讨论它加载类的功能。为了履行加载类的职责,ClassLoader 提供了许多方法,其中比较重要的方法如表 1 所示。下文将详细介绍这些方法。 表 1.与加载类相关的 ClassLoader 方法
-
使用KVM、Bond和Bridge实现多网卡网络桥接设置