在ubuntu22.04虚拟机下 使用qemu安装arm 64 ubuntu18.04和网络配置

qemu安装虚拟机的步骤可以参考
https://blog.csdn.net/weixin_51760563/article/details/119935101

踩的坑:如果是从官网下载的较新的qemu自己进行的编译安装,请注意在编译时首先要开启以下常用功能:

./configure --enable-virtfs #开启virtio-9p的支持,用来主机和虚拟机间共享文件夹
--enable-vhost-net
--enable-vhost-user #网络配置的支持

在安装完系统后,参考https://www.cnblogs.com/yuanyin/p/15022427.html进行网络配置,我翻了好多博客,就这个是好用的
以防原博客丢失,下面记录一下流程
1.在host端首先建立一个bridge设备 br0:

brctl addbr br0

2.新增网口 tap0:

tunctl

3.把网口插在交换机上:

brctl addif br0 tap0

4.使能网口和交换机:

ip link set br0 up
ip link set tap0 up

5.给交换机设备一个ip地址:

ifconfig br0 192.168.1.1/24

6.打开host上的ip转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

这是为了让桥设备收到数据包之后,根据数据包中的目标ip地址查找host中的路由表进行数据包转发。

7.设置nat (eth0连接外网)

 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

这个的意思是br0设备或者其它网卡转发数据包从eth0网口出去的时候更改数据包中的源ip地址(改成eth0的ip地址),需要注意这一步里的eth0,根据自己的实际配置来,比如你的实际的网络连接是ens33,eth0就替换成ens33。

8.qemu端:

-netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no \
-device tap,netdev=mynet0 \

我实际测试,他给的这个用不了,我实际用的如下:

-netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no \
-device virtio-net-pci,netdev=mynet0 \

完整的启动命令(命令中还带了一个共享文件夹的配置,如果不需要就去掉):

qemu-system-aarch64 -m 2048 -cpu cortex-a72 -smp 6 -M virt -bios QEMU_EFI.fd -nographic -device virtio-scsi-device -drive if=none,file=ubuntuimg.img,format=raw,index=0,id=hd0 -device virtio-blk-device,drive=hd0 -fsdev local,security_model=passthrough,id=fsdev0,path=./shared,readonly -device virtio-9p-device,fsdev=fsdev0,mount_tag=hostshare -netdev tap,id=mynet0,ifname=tap0,script=no,downscript=no -device virtio-net-pci,netdev=mynet0

暴露给guest端的e1000网卡跟host上的tap0关联

9.guest端:

ifconfig eth0 192.168.1.20/24
route add default gw 192.168.1.1

这个地方也不一定是eth0,要看虚拟机实际扫描到的网卡
可以使用

ifconfig -a

来查看实际的网卡,然后替换eth0。

10.配置完这些之后,还需要配置DNS,安装network-manager

sudo apt-get install network-manager

然后

sudo vim /etc/systemd/resolved.conf

在文件中找到“DNS=”行,将其更改为:

DNS=114.114.114.114 223.5.5.5 223.6.6.6

保存并退出文件,然后重新启动systemd-resolved服务:

sudo systemctl restart systemd-resolved.service

然后就可以换国内源,进行后续开发了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值