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

centos8.5安装kvm及kvm虚拟机的端口映射问题的更多相关文章

  1. Linux安装VritualBox实现虚拟机win2003端口映射 支持远程

    1. 使用VNC登录到Linux系统 2. 安装VritualBox 找到VritualBox的软件包 这里的是run格式的 可以直接在终端运行  需要几分钟时间 3.VritualBox新建虚拟机 ...

  2. 虚拟机kali端口映射外网vps

    前言:我们常用的kali系统一般都是在虚拟机里面运行,这样在真实环境中外网是访问不到你的kali攻击机的,这时候我们就需要给kali映射一个外网vps. 一.在vps启动frp 服务端 安装frp并解 ...

  3. 详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

    本文以VirtualBox为例 如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3. ...

  4. VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

    一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3.虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机) 4.主机不能ping通虚拟机 应 ...

  5. Python 3 虚拟机端口映射 VMware

    编程语言(以Python 3 为例子) 编程语言最开始就是机器语言(低级语言,计算机能认识:0101... 最底层的指令代码),学习很困难.现在用机器语言的很少,芯片厂商的技术人员来编程之外:发展下来 ...

  6. 在CentOS6的上安装Windows2012R2的KVM虚拟机

    在CentOS6的上安装Windows2012R2的KVM虚拟机 1:上传cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso下载驱 ...

  7. KVM下windows虚拟机使用virtio驱动

    KVM下windows虚拟机默认disk使用的是Qemu IDE硬盘,网卡默认是rtl8139网卡.为了使kvm主机在相同的配置下,有更好的效率,可以将网卡和磁盘替换成virtio的驱动. windo ...

  8. CentOS 7 安装配置KVM 通过KVM安装CentOS系统

    搭建环境 : CentOS 7 [root@KVM ~]# systemctl stop firewalld [root@KVM ~]# systemctl disable firewalld [ro ...

  9. kvm创建新虚拟机

    安装图形化管理界面yum install virt-manager -y 安装好之后 新建虚拟机,我使用的方法是使用ISO镜像文件安装 选择镜像 设置内存 如此,一步一步走下去即可,不再截图 创建好之 ...

  10. kvm虚拟机最佳实践系列2-创建KVM及KVM优化

    创建KVM及KVM优化 把KVM优化与KVM创建放在一起,是因为我们创建的KVM是要用在生产环境中,所以基础优化工作是必备的. 创建KVM 创建系统盘, 大小: 操作系统通常都不到10G,所以系统盘2 ...

随机推荐

  1. “堆内存持续占用高 且 ygc回收效果不佳” 排查处理实践

    作者:京东零售 王江波 说明:部分素材来源于网络,数据分析全为真实数据. 一. 问题背景 自建的两套工具,运行一段时间后均出现 内存占用高触发报警,频繁young gc且效果不佳.曾经尝试多次解决,因 ...

  2. mybatis动态标签——sql标签

    mapper接口 Emp getEmpById(@Param("id") Integer id); mapper.xml <!-- sql片段:可以记录一段sql,在需要用的 ...

  3. VUE学习-列表渲染

    列表渲染 v-for <!-- v-for="(v,k,i) in arr/obj" --> <ul id="app"> <li ...

  4. javaweb项目启动脚本

    #存放的位置www_path=/home/project/api #编译好的jar名称jar_name=springboot1.0.jar #获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀 ...

  5. 代码随想录训练营day 4|链表基础理论,移除链表元素,设计链表,反转链表

    链表理论基础 链表是一种由指针串联在一起的线性结构,每一个节点都由一个数据域和一个指针域组成. 链表的类型有:单链表.双链表.循环链表. 链表的存储方式:在内存中不连续分布. 链表的定义很多人因为不重 ...

  6. doskey: windows版 Alias

    1.编辑doskey.bat文件 2.打开注册表寻找.HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor (自行百度) 3.添加d ...

  7. Teamcity 部署

    1.先安装docker环境 team_city安装 2.docker run -it --name teamcity-server \ -v /data/teamctiy_data/:/data/te ...

  8. TypeScript - 属性的修饰符

    class Person { /** * TS 可以再属性前增加属性的修饰符 * public 修饰的属性可以再任意位置访问(修改)默认值 * private 私有属性,私有属性只能在类内部进行访问和 ...

  9. 音乐下载器,音乐解析软件,全网音乐免费下载,mp3格式音乐下载,flac格式音乐下载,无损音质音乐下载器,你想听的都搜的到~

    在这个音乐版权被三分天下的时代,想必大家也都会有这种的困扰,喜欢的音乐很多,刚好这些音乐的版权还分散在三大主流音乐厂商的手里. 这样的话,想要听或者下载自己喜欢的音乐可能要开多个会员,而且下载的音乐单 ...

  10. WPF-序列化

    public class SerializeHelper { #region 二进制格式 /// <summary> /// Binary 序列化使用前需要标记类可序列化 /// < ...