centos8.5安装kvm及kvm虚拟机的端口映射问题

1.安装KVM 

  grep -Ei 'vmx|svm' /proc/cpuinfo|more  #查看硬件是否支持虚拟化

  yum install -y virt-* libvirt qemu-img  #安装KVM虚拟机

  lsmod | grep kvm  #是否支持kvm模块

  systemctl enable libvirtd  #系统启动时自动启动kvm服务

  systemctl start libvirtd  #启动kvm服务

  

  常用操作:

  virsh list --all  #查看本机创建的kvm虚拟机列表

  virsh start 虚拟机名  #启动

  virsh shutdown 虚拟机名  #关闭

  virsh autostart 虚拟机名  #配置开机自启动虚拟机

默认虚拟机存储位置:  /var/lib/libvirt/images/ 

2.安装Cockpit运维工具

  yum install cockpit  #安装 cockpit 

  systemctl enable --now cockpit.socket  #开机自启动cockpit 

  yum install cockpit-machines  #安装软件包使cockpit支持WEB管理

  firewall-cmd --add-service=cockpit --permanent  #打开防火墙与cockpit相关的策略
  firewall-cmd --reload

  访问: 使用9090端口通过浏览器访问 开始创建kvm虚拟机吧

3.在kvm中新建的虚拟机使用NAT网络时, 把虚拟机端口映射到宿主机上,使通过公网可访问虚拟机端口
  添加相应的iptables策略:
    添加filter 表的forward链
    iptables -I FORWARD -m state -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT
    添加nat 表的prerouting链, 例: 公网2538端口映射到虚拟机192.168.122.199的22端口
    iptables -t nat -I PREROUTING -p tcp --dport 2538 -j DNAT --to-destination 192.168.122.199:22

    查看一下策略还在不在
     iptables -L -n -t nat|grep 2538
=========================================================================

正常工作:
iptables -I FORWARD -d 0.0.0.0/0 -j ACCEPT
firewall-cmd --zone=public --add-forward-port=port=2538:proto=tcp:toport=22:toaddr=192.168.122.199

不正常工作:
firewall-cmd --permanent --zone=public --direct --add-rule ipv4 filter FORWARD 0 -d 0.0.0.0/0 -j ACCEPT
firewall-cmd --permanent --zone=public --add-forward-port=port=2538:proto=tcp:toport=22:toaddr=192.168.122.199

4.命令方式创建虚拟机:

命令创建虚拟机: 名称为ubuntu-01,4G内存,2个CPU,50G的qcow2格式磁盘,网络为桥接口virbr0
virt-install --name ubuntu-01 --memory 4096 --vcpus 2 --cdrom=/data/ubuntu-20.10.iso --disk size=50 --network=bridge:virbr0,model=virtio

命令行连接虚拟机:
virsh console --domain ubuntu-01 --force

posted @   天海沙  阅读(1130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示