proxmox是一个虚拟化平台,可以运行在物理服务器上,建立多个虚拟机。它支持多种操作系统,包括Linux、Windows、FreeBSD等。proxmox还支持虚拟化技术,如KVM、LXC等。


安装

下载地址:https://www.proxmox.com/en/downloads

下载好以后放入安装盘里, 推荐使用ventoy制作启动盘,引导启动后安装

联网

安装完成后,需要配置网络,才能使用proxmox管理虚拟机。可以使用以下命令配置网络:

bash
ip a

# 配置网络接口
vi /etc/network/interfaces

# 重启网络服务
systemctl restart networking

或者直接使用

bash
ip a
#查看设备后使用
dhclient eth0 #获取ip
#或者使用
dhcpcd eth0 #获取ip

没有网线

没有网线如果有无线网卡可以使用无线连接,或者手机开热点连接

首先安装必要的包, 可以从其他linux上下载wpa_supplicant等网络包,也可以从手机上共享usb网络

使用usb共享网络有可能不会自动获取ip,需要手动获取ip

bash

ip a #查看手机usb共享设备
ip route del default #删除默认路由
dhclient [usbdevice] #获取ip
ip a #查看网络连接状态
ip route #查看路由表
#如有必要编辑/etc/resolv.conf配置dns
#和/etc/iwd.conf

给虚拟机用的 NAT 桥接

/etc/network/interfaces

bash
# 本地回环接口
auto lo
iface lo inet loopback

# 无线网卡配置:连接 WiFi,自动获取 IP(如 192.168.1.10)
auto wlan0
iface wlan0 inet dhcp
    wpa-ssid [wifi名称]
    wpa-psk [wifi密码]

# 给虚拟机用的 NAT 桥接
auto vmbr1
iface vmbr1 inet static
    address 192.168.100.1
    netmask 255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0

    # 启动时添加 iptables NAT 转发规则(假设 wlan0 是 WiFi 网卡名)
    post-up iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o wlan0 -j MASQUERADE
    post-up iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT
    post-up iptables -A FORWARD -d 192.168.100.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT

    # 停止时删除规则,避免重复
    post-down iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o wlan0 -j MASQUERADE
    post-down iptables -D FORWARD -s 192.168.100.0/24 -j ACCEPT
    post-down iptables -D FORWARD -d 192.168.100.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT

管理虚拟机

网络连接后根据安装配置的ip地址或域名,使用浏览器访问proxmox的web管理界面,默认端口是8006

"curl http://domain:8006"

去除未订阅提示

bash
vi /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
checked_command: function(orig_cmd) {
        orig_cmd(); #<-----这里是第一个加的地方
            return; #<-----这里是第二个加的地方,后面的不要动,保存⏏退出
-
systemctl restart pveproxy.service

导入镜像

可以直接移动到下面系统路径里

bash
/var/lib/vz/template/iso

或者在pve管理页面local里的iso镜像里上传镜像

创建虚拟机

  1. 在proxmox中创建一个新的虚拟机。
  2. 选择要安装的操作系统和版本。
  3. 配置虚拟机的CPU、内存、硬盘等资源。
  4. 配置虚拟机的网络接口。
  5. 启动虚拟机并安装操作系统。

virtio驱动

Virtio驱动程序是虚拟化平台中常用的驱动程序,用于提高虚拟机的性能和兼容性。

windows virtio驱动

windows一般不带驱动,需要安装 文档: https://192.168.1.10:8006/pve-docs/chapter-qm.html#_install_guest_agent

驱动地址: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

下载iso上传到pve镜像里面

bash
rsync -az ./virtio-win.iso root@remote:/var/lib/vz/template/iso

machine: q35提供了PCIe直通能力,i440fx在q35出现兼容问题时候使用 SCSI Controller: VirtIO SCSI 或者 VirtIO SCSI single(为每个磁盘提供独立IO线程) Qemu Agent: 提高虚拟机与PVE交互,除兼容问题,建议开启 Disk Bus/Device: 性能排行 VirtIO > SCSI > sata > ide Cache:建议默认 CPU Type: host是最好性能的,默认将获得更好的迁移兼容性https:///[your-server]:8006/pve-docs/pve-admin-guide.html#chapter_qm_cpuvcpu_list Extra CPU Flags: 标记某个性能更好 Memory Ballooning Device: 动态分配内存,增加内存延迟共享内存,建议开启。2010 年后发布的所有 Linux 发行版都有气球内核驱动程序 包括。对于 Windows 操作系统,需要手动添加气球驱动程序,并且可以 客人的减速,所以我们不建议在关键上使用它 系统。 Network Model: VirtIO > Intel E1000 > Realtek 8139 还有vmxnet3是另外的寄生虚拟设备,在导入其他虚拟化平台时使用。the vmxnet3 is another paravirtualized device, which should only be used when importing a VM from another hypervisor. vlan tag: 用于标记网络流量,通常不需要

linux版本virtio驱动

linux virtiofsd驱动(rust)

https://gitlab.com/virtio-fs/virtiofsd

开始安装

windows 10如果选择了VirtIO 那么需要在安装选择硬盘时添加驱动(e.g., viostor\win10\amd64 for 64-bit Windows 10, viostor\2k22\amd64 for Windows Server 2022, etc.).

使用虚拟机

配置windows10远程桌面

  1. 打开Windows 10虚拟机,点击开始菜单,选择“设置”。
  2. 在设置窗口中,选择“远程桌面”。
  3. 在远程桌面设置中,勾选“允许远程连接到此计算机”。
  4. 设置远程连接的密码,并确认密码。
  5. 点击“保存”按钮,保存设置。

如果使用wifi连接配置nat虚拟网卡需要在pve主机里配置端口转发 配置/etc/network/interfaces或者使用iptables命令

bash
auto wlan0
iface wlan0 inet dhcp
    post-up iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.100.62:3389
    post-up iptables -t nat -C POSTROUTING -s 192.168.100.0/24 -o wlan0 -j MASQUERADE || iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o wlan0 -j MASQUERADE

    post-up echo 1 > /proc/sys/net/ipv4/ip_forward #使开启ip转发也可以直接修改配置文件

使用rdp远程桌面连接

winidows建立初始密码

bash
net user administrator /active:yes
net user administrator 1234
net user 1 1234

linux安装freerdp

使用命令连接

bash
xfreerdp /u:1 /p:"1234" /f /v:192.168.1.10

使用rustdesk的ip连接

被控端设置enable direct ip access并在pve主机里配置端口转发

配置文件/etc/network/interfaces 之前-j MASQUERADE只需要一次,之前添加了就可以省略 ✅ 原因解释:

  • MASQUERADE 是作用在 POSTROUTING 链,用于出站数据包伪装源地址,通常用在 NAT 出口设备。

  • 它的作用是:让经过主机转发出去的包,源地址被改成主机的 IP(比如 192.168.1.10),这样虚拟机返回的数据能正确回到访问者。

  • 这条规则是按子网范围生效的,比如:

bash
    post-up iptables -t nat -C POSTROUTING -s 192.168.100.0/24 -o wlan0 -j MASQUERADE || iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o wlan0 -j MASQUERADE

    post-up iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 21118 -j DNAT --to-destination 192.168.100.62:21118