玩转qemu之NAT

在基本环境搭建这一节中,设置了一个本地网络,虚机只能访问host,无法访问外网,如果需要访问外网需要设置SNAT

iptables -t nat -A POSTROUTING -s 192.168.120.0/24 ! -d 192.168.120.0/24 -j MASQUERADE

这样虚机可以访问外网了

在ubuntu系统上面碰到的问题:

1.vnet0, virbr0 没有up,导致ping 不通: 

   解决办法: ip link set if up

2. 系统路由表里没有到virbr0的路由

ip route add 192.158.122.0/24 dev virbr0

3.iptables forward链默认是drop,导致ping 不通外网ip

iptables -N vm-service
iptables -A vm-service -j ACCEPT
iptables -A FORWARD -s 192.168.122.0/24 -j   vm-service
root@alloc-ThinkPad-L480:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0           
DOCKER-ISOLATION-STAGE-1  all  --  0.0.0.0/0            0.0.0.0/0     
<think>好的,用户想了解如何使用QEMU进行磁盘镜像格式转换。首先,我需要回忆相关的QEMU命令和步骤。记得qemu-img是主要的工具,用来转换镜像格式,比如从raw转qcow2或者vmdk转qcow2。 然后,查看用户提供的引用内容,引用[2]、[3]、[4]都提到了qemu-img的使用方法。比如引用[3]中的转换命令是qemu-img convert -p -f vmdk -O qcow2 all.vmdk fish.qcow2,这可以作为一个例子。 接下来,需要整理一个清晰的步骤教程。可能包括安装qemu工具、基本命令结构、具体示例以及注意事项。同时,用户可能需要了解不同格式的特性,比如qcow2支持快照和压缩,而raw是直接二进制数据,这在引用[1]和[4]中都有提到。 另外,用户可能不知道如何安装qemu-img,所以需要包含安装步骤。不同系统的安装命令可能不同,比如Ubuntu用apt,CentOS用yum。还需要解释命令参数,比如-f是源格式,-O是目标格式,-p显示进度。 还要考虑用户可能遇到的常见问题,比如格式不匹配或者路径错误,所以注意事项部分需要提醒他们检查源格式和路径是否正确。此外,转换后的验证步骤也很重要,比如用qemu-img info检查结果是否正确。 最后,生成相关问题,帮助用户进一步学习,比如不同镜像格式的区别、qcow2的优势,以及如何创建新的镜像。这些问题需要基于已有的引用内容,确保答案的相关性和准确性。</think>### 使用QEMU进行磁盘镜像格式转换教程 #### 1. 安装qemu-img工具 QEMU的磁盘镜像管理工具`qemu-img`是格式转换的核心组件。安装方式如下: - **Ubuntu/Debian**: ```bash sudo apt-get install qemu-utils ``` - **CentOS/RHEL**: ```bash sudo yum install qemu-img ``` #### 2. 基本命令格式 转换镜像的通用语法为: ```bash qemu-img convert -p -f [源格式] -O [目标格式] [输入文件路径] [输出文件路径] ``` - `-p`: 显示转换进度 - `-f`: 指定源格式(可省略,工具会自动检测) - `-O`: 强制指定目标格式 示例:将`raw`转换为`qcow2` ```bash qemu-img convert -p -f raw -O qcow2 input.raw output.qcow2 ``` #### 3. 常见格式转换示例 - **VMDK转qcow2**(如VMware镜像转换)[^3]: ```bash qemu-img convert -p -f vmdk -O qcow2 source.vmdk target.qcow2 ``` - **qcow2转raw**(获取原始二进制镜像)[^4]: ```bash qemu-img convert -p -f qcow2 -O raw input.qcow2 output.raw ``` - **ISO转qcow2**(需先挂载ISO并复制文件到虚拟磁盘): ```bash qemu-img create -f qcow2 os.qcow2 10G ``` #### 4. 验证转换结果 使用`qemu-img info`检查镜像信息: ```bash qemu-img info target.qcow2 ``` 输出应显示格式为`qcow2`,并包含虚拟大小和实际占用空间。 #### 5. 注意事项 - **兼容性**: 目标格式需支持虚拟机平台(如KVM默认支持`qcow2`,VMware需`vmdk`) - **路径问题**: 输入输出路径需用绝对路径或正确相对路径 - **空间预留**: 转换过程需要临时存储空间,需确保磁盘足够 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值