😀新买了个DMIT 的TYO的服务器,准备DD成ROS用。结果运行了几个DD脚本,机器失联了。
还得根据仔细阅读代码。

绝大部分VPS是单网卡的,所以本文也适用于其他单网卡的机型。

DD 一个 ROS

现在最新的mikrotik系统是7.20.4

#阿里云wget https://download.mikrotik.com/routeros/7.20.4/chr-7.20.4.img.zip -O chr.img.zip && \gunzip -c chr.img.zip > chr.img && \mount -o loop,offset=33571840 chr.img /mnt && \ADDRESS0=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \GATEWAY0=`ip route list | grep default | cut -d' ' -f 3` && \echo "/ip address add address=$ADDRESS0 interface=[/interface ethernet find where name=ether1]/ip route add gateway=$GATEWAY0" > /mnt/rw/autorun.scr && \umount /mnt && \echo u > /proc/sysrq-trigger && \dd if=chr.img bs=1024 of=/dev/vda && \rebootBash

这里面有三段比较特殊的值:

AADDRESS0=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1`mount -o loop,offset=33571840 chr.img /mntdd if=chr.img bs=1024 of=/dev/vda

网卡的值 eth0,网卡需要确认名字

输入 ifconfig 或者ip addr 确认下网卡名字。
也有可能是ens3 等

offset 这个值是img的磁盘

首先,使用命令 fdisk -lu chr.img 查看start值,则用当前数字 *512, 其实还是因为MBR模式的原因,启始单位选择了34,不过以前一些img是从1开始的。

~$ fdisk -lu chr.imgDisk chr.img: 128 MiB, 134217728 bytes, 262144 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0x00000000Device     Boot Start    End Sectors Size Id Typechr.img1   *       34  65569   65536  32M 83 Linuxchr.img2        65570 258047  192478  94M 83 LinuxBash

还有一个就是vda 和 bs=1024

你的盘符不一定是 vda, 可能是sda,使用fdisk -l查看
bs的原则是只要是物理扇区512的整数倍就可以实现I/O对齐
可以选择 bs=512 bs=4K 或者 bs=1M ~ 4M(推荐,拷贝大文件/整盘镜像)

安全设置

重启之后 , ssh 或者 winbox 账号为 admin , 密码为空即可登录
为了安全(如果不希望你的机器直接变成肉鸡的话),你需要
1.创建新的账户,disable admin账户。
2.关闭ssh/web 连接方式,只使用winbox登陆
3.创建一个可信任的ip白名单,或者wireguard链接之后再访问路由器。