qemu模拟器学习1

1.问题

sudo ip tuntap add tap0 mode tap
sudo ip link set tap0 up
sudo ip a add 10.233.11.1/24 dev tap0  然后启动sudo qemu-system-ppc64 \
	-cpu POWER8 \
	-machine pseries \
	-m 8192 \
	-serial mon:stdio \
	-drive file=aix.qcow2,if=none,id=drive-virtio-disk0 \
	-device virtio-scsi-pci,id=scsi \
	-device scsi-hd,drive=drive-virtio-disk0 \
	-prom-env boot-command='boot disk:' \
	-display none \
	-net nic \
	-net tap,script=no,ifname=tap0   出现了0c33
Saving Base Customize Data to boot disk
Starting the sync daemon
Starting the error daemon

System initialization completed.
TE=OFF
CHKEXEC=OFF
CHKSHLIB=OFF
CHKSCRIPT=OFF
CHKKERNEXT=OFF
STOP_UNTRUSTD=OFF
STOP_ON_CHKFAIL=OFF
LOCK_KERN_POLICIES=OFF
TSD_FILES_LOCK=OFF
TSD_LOCK=OFF
TEP=OFF
TLP=OFF
Successfully updated the Kernel Authorization Table.
Successfully updated the Kernel Role Table.
Successfully updated the Kernel Command Table.
Successfully updated the Kernel Device Table.
Successfully updated the Kernel Object Domain Table.
Successfully updated the Kernel Domains Table.
Successfully updated the Kernel RBAC log level. 
Successfully updated the Kernel RBAC log level. 
OPERATIONAL MODE Security Flags
ROOT                      :    ENABLED
TRACEAUTH                 :   DISABLED
System runtime mode is now OPERATIONAL MODE.
Setting tunable parameters...complete
Starting Multi-user Initialization
 Performing auto-varyon of Volume Groups 
 Activating all paging spaces 
0517-075 swapon: Paging device /dev/hd6 is already active.   此时ping 10.233.11.1 -c 4 也没有反映

2.方案

根据您的描述,AIX系统已完成启动但网络不通,这通常由以下原因导致。我将提供完整的排查和解决方案:


1. 网络连接失败原因分析

(1) TAP设备配置不完整
  • 缺少NAT或桥接配置,宿主机无法转发数据包

  • 缺少ARP代理设置,导致IP层不通

(2) AIX网络未配置
  • 系统未分配IP或未启用网卡

  • /etc/hosts 或路由表缺失关键条目

(3) 防火墙阻止
  • 宿主机或AIX防火墙拦截ICMP请求


2. 解决方案步骤

第一步:完善宿主机网络配置

bash

# 启用IP转发
sudo sysctl -w net.ipv4.ip_forward=1

# 设置NAT(关键步骤)
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i tap0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tap0 -m state --state RELATED,ESTABLISHED -j ACCEPT

# 启用ARP代理
sudo ip link set tap0 proxyarp on
第二步:进入AIX系统配置网络
  1. 唤醒控制台

    • 在QEMU窗口按 Ctrl + a c 进入监控台

    • 输入 sendkeys "exec /usr/sbin/clstart\n" 启动命令行

  2. 配置IP地址

    bash

  • ifconfig en0 10.233.11.2 netmask 255.255.255.0 up
    chdev -l en0 -a netaddr=10.233.11.2 -a netmask=255.255.255.0

  • 设置默认路由

    bash

  1. route add default 10.233.11.1

第三步:验证连接

在AIX中执行:

bash

ping 10.233.11.1
ifconfig -a
netstat -rn

3. 备选网络方案(更稳定)

方案1:改用用户模式网络

bash

-net nic,model=virtio -net user,hostfwd=tcp::2222-:22

通过SSH连接测试:

bash

ssh -p 2222 root@localhost
方案2:完整桥接配置

bash

# 宿主机操作
sudo brctl addbr br0
sudo brctl addif br0 tap0
sudo brctl addif br0 eth0
sudo ip link set br0 up

QEMU参数改为:

bash

-net nic,model=virtio -net bridge,br=br0

4. 关键检查命令

位置命令正常输出示例
宿主机ip addr show tap0应显示 10.233.11.1/24
AIXlsdev -Cc adapter确认网卡(en0)状态
AIXarp -a应显示宿主机的ARP记录

5. 常见问题处理

(1) 如果AIX无网络设备

检查是否识别到虚拟网卡:

bash

lsdev -Cc adapter  # 应看到"Virtual I/O Ethernet Adapter"
(2) 如果宿主机ping不通

检查防火墙规则:

bash

sudo iptables -L -v -n
(3) 网络服务未启动

在AIX中手动启动:

bash

startsrc -t tcpip

6. 永久生效配置

在AIX中保存网络配置:

bash

mktcpip -h aixvm -i en0 -a 10.233.11.2 -m 255.255.255.0 -g 10.233.11.1

宿主机持久化iptables规则:

bash

sudo apt install iptables-persistent
sudo netfilter-persistent save

总结流程图

图表

代码

sequenceDiagram
    宿主机->>TAP设备: 配置IP和NAT
    TAP设备->>QEMU: 传递网络数据
    QEMU->>AIX: 虚拟网卡交互
    AIX->>AIX: 配置IP和路由
    AIX->>宿主机: 发起Ping测试
    宿主机-->>AIX: 返回响应

请按步骤操作,通常网络不通的问题在完成 第一步第二步 后即可解决。如果仍有问题,建议改用更简单的 -net user 模式测试基础连通性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值