论如何安装并运行Cisco RV340 img格式镜像

Cisco RV340下载地址

下载链接: https://drivers.softpedia.com/dyn-search.php?search_term=rv340,该网站该可以下载其他版本

一、解包

1、该步骤主要是需要将下载回来的文件进行解压,获取文件内IMG格式的最原始镜像文件,其次再用binwalk工具将IMG镜像文件内文件系统给提取出来。

2、将下回来的img格式的镜像包,使用解压工具进行解压,直至获取到名为:“openwrt-comcerto2000-hgw-rootfs-ubi_nand.img”的img格式文件,解压路径为:C:\Users\MineMine\Downloads\RV34X-v1.0.01.17-2017-05-26-15-14-45-PM\RV34X-v1.0.01\fw\fw~
在这里插入##图片描述
3、进入Ubuntu机器,安装binwalk和相关的配置,执行如下命令:

sudo apt-get update 
sudo apt-get install binwalk liblzo2-dev liblzo2-dev python3-pip -y
sudo pip3 install python-lzo ubi_reader

4、将步骤一解压获取到的“openwrt-comcerto2000-hgw-rootfs-ubi_nand.img”文件,使用binwalk进行提取,获取RV340的文件系统,执行如下命令:

binwalk -Me openwrt-comcerto2000-hgw-rootfs-ubi_nand.img

5、使用ubuntu18请跳过5-7步,在Ubuntu20存在该问题,使用binwalk提取文件系统时,会把软链接给重置为/dev/null,ubuntu18不存在该问题
在这里插入图片描述
6、因此按照网上大佬所提供的通过修改binwalk代码的方式强行绕过了此逻辑,将路径下的文件进行修改:/usr/lib/python3/dist-packages/binwalk/modules/extractor.py,修改内容,如下图所示:

sudo vim /usr/lib/python3/dist-packages/binwalk/modules/extractor.py

在这里插入图片描述
7、再次执行命令,结果如下:

binwalk -Me openwrt-comcerto2000-hgw-rootfs-ubi_nand.img

在这里插入图片描述
在这里插入图片描述

二、部署qemu虚拟系统

1、该步骤主要部署qemu虚拟系统,后面我们的cisco将会在这个虚拟系统中运行。
2、首先用file命令查看一下busybox的文件信息(如下),这里是ARM架构 小端序,因此我们要下载对应的内核映像还有磁盘映像等文件
在这里插入图片描述
3、进入网站下图的三个文件,下载链接: https://people.debian.org/~aurel32/qemu/armhf/
使用wget下载方式:

wget https://people.debian.org/~aurel32/qemu/armhf/debian_wheezy_armhf_standard.qcow2
wget https://people.debian.org/~aurel32/qemu/armhf/vmlinuz-3.2.0-4-vexpress
wget https://people.debian.org/~aurel32/qemu/armhf/initrd.img-3.2.0-4-vexpress

在这里插入图片描述
4、启动脚本:

sudo apt install qemu-system-arm -y
sudo qemu-system-arm -M vexpress-a9 -kernel vmlinuz-3.2.0-4-vexpress \
  -initrd initrd.img-3.2.0-4-vexpress -drive if=sd,file=debian_wheezy_armhf_standard.qcow2 \
  -append "root=/dev/mmcblk0p2" -net nic -net tap,ifname=tap0,script=no,downscript=no \
  -nographic -smp 4

5、如果使用ubuntu18请跳过5-7步骤,Ubuntu20存在该问题执行后提示如下图错误,提示的是:说的是SD card size应该是2的幂,应该改成32GB
在这里插入图片描述
6、解决方法为,执行修改命令,进行修改

qemu-img resize debian_wheezy_armhf_standard.qcow2 32G

7、修改完成后再次执行如下命令:

sudo qemu-system-arm -M vexpress-a9 -kernel vmlinuz-3.2.0-4-vexpress \
  -initrd initrd.img-3.2.0-4-vexpress -drive if=sd,file=debian_wheezy_armhf_standard.qcow2 \
  -append "root=/dev/mmcblk0p2" -net nic -net tap,ifname=tap0,script=no,downscript=no \
  -nographic -smp 4

8、执行完毕后等待几分钟即可进入qemu虚拟系统,完成后如下图所示:(账户密码都为root)
在这里插入图片描述

三、网络配置

1、虚拟系统启动起来后,需要将其与宿主机的网络打通,因此该步骤主要讲述如何将网络与宿主机打通
2、在ubuntu宿主机执行命令:

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

3、在ubuntu宿主机创建一个sh脚本,并运行,脚本内容如下:

#!/bin/sh
#sudo ifconfig eth0 down                 # 首先关闭宿主机网卡接口
sudo brctl addbr br0                     # 添加一座名为 br0 的网桥
sudo brctl addif br0 ens33                # 在 br0 中添加一个接口
sudo brctl stp br0 off                   # 如果只有一个网桥,则关闭生成树协议
sudo brctl setfd br0 1                   # 设置 br0 的转发延迟
sudo brctl sethello br0 1                # 设置 br0 的 hello 时间
sudo ifconfig br0 0.0.0.0 promisc up     # 启用 br0 接口
sudo ifconfig ens33 0.0.0.0 promisc up    # 启用网卡接口
sudo dhclient br0                        # 从 dhcp 服务器获得 br0 的 IP 地址
sudo brctl show br0                      # 查看虚拟网桥列表
sudo brctl showstp br0                   # 查看 br0 的各接口信息
sudo tunctl -t tap0 -u root              # 创建一个 tap0 接口,只允许 root 用户访问
sudo brctl addif br0 tap0                # 在虚拟网桥中增加一个 tap0 接口
sudo ifconfig tap0 0.0.0.0 promisc up    # 启用 tap0 接口
sudo brctl showstp br0

在这里插入图片描述
4、进入qemu虚拟系统,执行:reboot命令,进行重启,重启时间有点长,需要等待一会儿
在这里插入图片描述
5、重启成功后,进入qemu虚拟系统,ping宿主机,如果可以ping通就,网络配置就成功
在这里插入图片描述

四、部署Cisco RV340

1、首先将前面提取出来的文件系统进行打包压缩,并将压缩的文件使用scp命令上传到qemu虚拟系统内

tar -czvf rootfs.tar.gz rootfs
sudo scp -r rootfs.tar.gz root@192.168.10.53:/root/rootfs.tar.gz

2、进入qemu虚拟系统进行解压和赋权操作

tar -xzvf rootfs.tar.gz
chmod -R 777 rootfs

3、切换进入文件系统目录,并执行一下命令

cd rootfs
mount --bind /proc proc
mount --bind /dev dev
chroot . /bin/sh

在这里插入图片描述
4、逐步启动ngix服务,启动过程中会出现许多提示:如找不到设备或找不到目录,但是最后依旧可以启动成功,具体有什么影响目前还未知

/etc/init.d/boot boot
generate_default_cert
/etc/init.d/confd start
/etc/init.d/nginx start

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
5、启动完成后就可以访问网页了
在这里插入图片描述
参考文章:
https://zhuanlan.zhihu.com/p/651668923
https://www.iotsec-zone.com/article/209#cve-2022-20705
https://www.itzgeek.com/how-tos/mini-howtos/change-default-network-name-ens33-to-old-eth0-on-ubuntu-16-04.html
https://blog.csdn.net/QQ1084283172/article/details/69378333

  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值