femu使用虚拟网卡拥有独立IP

总结

本文讲述了如何在femu中使用虚拟网卡的方式让其拥有独立的IP地址,方法是实验室学弟找的,我记录一下

1. 安装

femu是在QEMU上进行使用的,可以更加精确地模拟一个NVMe的SSD盘,所以整个femu运行起来其实很像在虚拟机上对虚拟出来的SSD进行测试。所以还是需要一个虚拟的操作系统的

安装的话,直接在Github上读它们自己的Readme就可以,这里是femu网址,跟着上面的命令来就可以。虚拟机的镜像文件可以直接用他们自己做好的

2. 网络

在run-blackbox.sh中,可以看到网络连接是使用本地NET连接的,将主机的8080端口与femu虚拟机的22端口做绑定,这样femu的网络流量可以走22端口转发到主机的8080端口,再有8080端口做流量转发

使用端口转发,可以使用

ssh -p 8080  femu@localhost

进行ssh远程登录femu,femu也可以连接外网。femu本身的IP地址并没有太多的功能。

如果要使用IP地址进行访问的话,需要使用网络桥接功能

可以使用

netstat -aptn

来观察端口的状态

3. qemu使用桥接

  1. 主机端运行以下命令
#!/bin/sh

sudo apt-get install bridge-utils
sudo apt-get install uml-utilities

sudo ifconfig "$1" down    				# 关闭网卡
sudo brctl addbr br0					# 添加网桥br0
sudo brctl addif br0 "$1"				# 将$1网口的配置复制一份到br0
sudo brctl stp br0 off					# 关闭网桥
sudo brctl setfd br0 1					# 设置网桥的fd(标识符)
sudo brctl sethello br0 1				# 设置hello协议的时延
sudo ifconfig br0 0.0.0.0 promisc up	# 开启网桥br0
sudo ifconfig "$1" 0.0.0.0 promisc up	# 开启$1网卡
sudo dhclient br0						# 向路由器获取IP地址
sudo brctl show br0						# 打印网桥信息
sudo brctl showstp br0					# 打印网桥stp信息
sudo tunctl -t tap0 -u root				# 新建一个tap0网卡
sudo brctl addif br0 tap0				# 将tap0网卡加入到br0上
sudo ifconfig tap0 0.0.0.0 promisc up	# 开启tap0网卡
brctl showstp br0						# 打印网桥stp信息
sudo systemctl restart zerotier-one.service	# 重启zerotier
# 如果zerotier连接不上再去服务器那边重启ssh服务
  1. 在run-blackbox.sh中修改net的配置
sudo x86_64-softmmu/qemu-system-x86_64 \
    -name "FEMU-ZNSSD-VM" \
    -enable-kvm \
    -cpu host \
    -smp 8 \
    -m 32G \
    -device virtio-scsi-pci,id=scsi0 \
    -device scsi-hd,drive=hd0 \
    -drive file=$OSIMGF,if=none,aio=native,cache=none,format=qcow2,id=hd0 \
    -device femu,devsz_mb=4096,femu_mode=3 \
    -net tap,ifname=tap0,script=no,downscript=no \ # 新添加,告诉femu使用桥接模式,网卡选择tap0
    -net nic,macaddr=`dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^\(.\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\14:\2:\3:\4:\5:\6/g'` \ # 使用随机的mac地址
    -nographic \
    -qmp unix:./qmp-sock,server,nowait 2>&1 | tee log

在主机端新增一个网桥br0,以及新增一个虚拟网卡tap0,原先的网卡还是用于与主机通信,tap0虚拟网卡用于与femu进行通信,femu启动时获取的ip地址与主机在同一个网段下,相当于将femu看成主机的子设备,并且在同一局域网的设备时可以通过ssh远程访问的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值