在 KVM 中安装 pfsense 2.5.2(freebsd 12)

在 KVM 中安装 pfsense 2.5.2(freebsd 12)

似乎我在将基于 freeBSD12 构建的 pfSense 防火墙安装到 Ubuntu 中的 qemu/kvm 中时遇到了问题。

当它开始启动时,在“安装框”之前我得到了一个内核恐慌失败的形象

以下是我的版本

bridge-utils is already the newest version (1.6-2ubuntu1).
libvirt-clients is already the newest version (6.0.0-0ubuntu8.15).
libvirt-daemon-system is already the newest version (6.0.0-0ubuntu8.15).
qemu-kvm is already the newest version (1:4.2-3ubuntu6.19).
virt-manager is already the newest version (1:2.2.1-3ubuntu2.1).
virtinst is already the newest version (1:2.2.1-3ubuntu2.1).

似乎过去曾出现过一个错误,需要您将芯片组设置为 i440fx,但是我设置的就是这个。

我尝试了 qcow2 和 ISO 存储,正如我读过的其他帖子所建议的那样,但还是出错了。我还从另一个镜像重新下载了安装 pfsense ISO,并尝试只安装 freebsd 12。我得到了同样的内核恐慌。

我不确定这是我在 kvm 中缺少的设置,因为我对它还不熟悉,或者我使用的版本是否存在 freebsd 问题?

附注/更新一下,我记得我已经能够安装使用不同 BSD 的 OPNsense。

virt-manager 配置 XLM

domain type="kvm">
  <name>freebsd12.0</name>
  <uuid>ec3e8b14-bceb-49d9-a4bd-1608af31fc9d</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://freebsd.org/freebsd/12.0"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory unit="KiB">1048576</memory>
  <currentMemory unit="KiB">1048576</currentMemory>
  <vcpu placement="static">1</vcpu>
  <os>
    <type arch="x86_64" machine="pc-i440fx-focal">hvm</type>
    <boot dev="hd"/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state="off"/>
  </features>
  <cpu mode="host-model" check="partial"/>
  <clock offset="utc">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/home/jc/Virtual Machines/pfsense.qcow2"/>
      <target dev="vda" bus="virtio"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0"/>
    </disk>
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw"/>
      <target dev="hda" bus="ide"/>
      <readonly/>
      <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    </disk>
    <controller type="usb" index="0" model="ich9-ehci1">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x7"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci1">
      <master startport="0"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0" multifunction="on"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci2">
      <master startport="2"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x1"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci3">
      <master startport="4"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x2"/>
    </controller>
    <controller type="pci" index="0" model="pci-root"/>
    <controller type="ide" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/>
    </controller>
    <controller type="virtio-serial" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/>
    </controller>
    <interface type="bridge">
      <mac address="52:54:00:55:83:9c"/>
      <source bridge="br1"/>
      <model type="virtio"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
    </interface>
    <serial type="pty">
      <target type="isa-serial" port="0">
        <model name="isa-serial"/>
      </target>
    </serial>
    <console type="pty">
      <target type="serial" port="0"/>
    </console>
    <channel type="spicevmc">
      <target type="virtio" name="com.redhat.spice.0"/>
      <address type="virtio-serial" controller="0" bus="0" port="1"/>
    </channel>
    <input type="mouse" bus="ps2"/>
    <input type="keyboard" bus="ps2"/>
    <graphics type="spice" autoport="yes">
      <listen type="address"/>
      <image compression="off"/>
    </graphics>
    <sound model="ich6">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/>
    </sound>
    <video>
      <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
    </video>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="1"/>
    </redirdev>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="2"/>
    </redirdev>
    <memballoon model="virtio">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x08" function="0x0"/>
    </memballoon>
  </devices>
</domain>

非常感谢您提出关于尝试什么的想法。

问候,

答案1

似乎你正在使用非常旧版本的 libvirt。

您有以下选择:

改用 OPNsense

OPNSense 简介与 PfSense 一样,它是 m0n0wall 的一个分支。它具有一组类似的功能,但有时做同样的事情感觉有点复杂。OPNSense 建立在 HardenedBSD 之上,具有整体更好的安全性,并解决了 PfSense 的各种安全问题,例如以 root 身份运行 Web 界面。

我大约半年前从 PfSense 转到了 OPNsense,到目前为止没有遇到任何问题。

安装新版本的 Kubuntu

您可以简单地使用非 LTS 版本的 Kubuntu。

等待 Kubuntu 22.04 LTS

Ubuntu 22.04 LTS 预计将于 2022 年 4 月 21 日发布。

升级非常简单并允许您访问更新的软件包。

如果您可以等待那么长时间并且希望保留使用 LTS 版本,那么这将是首选方案。

找到更新版本的 PPA

最困难的部分是找到 PPA,添加它非常容易。

自己动手建造

将较新版本的 ubuntu 的 deb-src 添加到您的 sources.list 并获取必要的软件包,或者为每个软件包获取一个 tarball 并根据其文档进行编译。

例如,libvirt 是通过 meson 编译的。

相关内容