proxmox是一个虚拟化平台,可以运行在物理服务器上,建立多个虚拟机。它支持多种操作系统,包括Linux、Windows、FreeBSD等。proxmox还支持虚拟化技术,如KVM、LXC等。
安装
下载地址:https://www.proxmox.com/en/downloads
下载好以后放入安装盘里, 推荐使用ventoy制作启动盘,引导启动后安装
联网
安装完成后,需要配置网络,才能使用proxmox管理虚拟机。可以使用以下命令配置网络:
ip a
# 配置网络接口
vi /etc/network/interfaces
# 重启网络服务
systemctl restart networking
或者直接使用
ip a
#查看设备后使用
dhclient eth0 #获取ip
#或者使用
dhcpcd eth0 #获取ip
没有网线
没有网线如果有无线网卡可以使用无线连接,或者手机开热点连接
首先安装必要的包, 可以从其他linux上下载wpa_supplicant等网络包,也可以从手机上共享usb网络
使用usb共享网络有可能不会自动获取ip,需要手动获取ip
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
# 本地回环接口
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"
去除未订阅提示
vi /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
checked_command: function(orig_cmd) {
orig_cmd(); #<-----这里是第一个加的地方
return; #<-----这里是第二个加的地方,后面的不要动,保存⏏退出
-
systemctl restart pveproxy.service
导入镜像
可以直接移动到下面系统路径里
/var/lib/vz/template/iso
或者在pve管理页面local里的iso镜像里上传镜像
创建虚拟机
- 在proxmox中创建一个新的虚拟机。
- 选择要安装的操作系统和版本。
- 配置虚拟机的CPU、内存、硬盘等资源。
- 配置虚拟机的网络接口。
- 启动虚拟机并安装操作系统。
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镜像里面
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远程桌面
- 打开Windows 10虚拟机,点击开始菜单,选择“设置”。
- 在设置窗口中,选择“远程桌面”。
- 在远程桌面设置中,勾选“允许远程连接到此计算机”。
- 设置远程连接的密码,并确认密码。
- 点击“保存”按钮,保存设置。
如果使用wifi连接配置nat虚拟网卡需要在pve主机里配置端口转发 配置/etc/network/interfaces或者使用iptables命令
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建立初始密码
net user administrator /active:yes
net user administrator 1234
net user 1 1234
linux安装freerdp
使用命令连接
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
),这样虚拟机返回的数据能正确回到访问者。这条规则是按子网范围生效的,比如:
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