• 欢迎访问阿黑哥的博客,分享新老技术及精品软件
  • 技术不断,生命不息,折腾不止
  • 推荐使用Chrome浏览器访问本网站
  • 由于之前把部分图片存于七牛云,而没有绑定域名导致图片无法加载。现已部分修复
  • 如果您觉得本博客非常有趣,那就赶紧使用Ctrl+D 收藏本站吧
  • CloudCone VPS双十一超级特价,限量折扣,最低$14.11/年

阿里云一键换装ROS-chr系统

Linux技术 aheig 8个月前 (05-08) 612次浏览 0个评论
文章目录[隐藏]

我的阿里云环境

单网卡网络,系统为 Ubuntu18.04,理论上大部分 Linux 内核发行版都支持
阿里云一键换装 ROS-chr 系统
单网卡为 eth0
阿里云的 linux 下硬盘名称为/dev/vda

注意事项

由于ROS安装完毕后,默认空密码。所以阿里云的安全组建议关闭除 8291 以外的所有端口
装完使用 winbox 连上ROS之后第一时间关闭&更改端口、账号名、密码等

云服务器版(chr)ROS下载地址:https://download.mikrotik.com/routeros/6.46.6/chr-6.46.6.img.zip

脚本食用说明

参考以下脚本命令,根据你的 VPS 实际情况,来设定脚本。

#从 ros 官方下载 CHR 镜像到本地目录,并命名为 chr.img.zip
wget http://download2.mikrotik.com/routeros/6.46.6/chr-6.46.6.img.zip -O chr.img.zip
#把 chr.img.zip 解压为 chr.img
gunzip -c chr.img.zip > chr.img
#把 chr.img 镜像释放到/mnt 目录下
mount -o loop,offset=33554944 chr.img /mnt
#抓取 eth0 的 IP 地址,并赋值参数为 ADDRESS0
ADDRESS0=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1`
#抓取 eth1 的 IP 地址,并赋值参数为 ADDRESS1
ADDRESS1=`ip addr show eth1 | grep global | cut -d' ' -f 6 | head -n 1`
#抓取 ip route 里的 10.0.0.0/8 网关,并赋值参数为 GATEWAY0
GATEWAY0=`ip route list | grep '10.0.0.0/8' | cut -d' ' -f 3`
#抓取 ip route 里的默认网关,并赋值参数为 GATEWAY1
GATEWAY1=`ip route list | grep default | cut -d' ' -f 3`
#echo 后面的为 ROS 里的命令,ROS 的内网网卡赋值内网 IP,外网网卡赋值外网 IP,并设置默认网关以及到阿里云的局域网段的网关,阿里云的局域网有三个段分别是 10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,并赋值给/mnt/rw/autorun.scr,这个脚本有点像 Windows 部署的时候的无人值守,按自己需求,自由发挥编写脚本
echo "/ip address add address=$ADDRESS0 interface=[/interface ethernet find where name=ether1]
/ip address add address=$ADDRESS1 interface=[/interface ethernet find where name=ether2]
/ip route add dst-address=10.0.0.0/8 gateway=$GATEWAY0
/ip route add dst-address=100.64.0.0/10 gateway=$GATEWAY0
/ip route add dst-address=172.16.0.0/12 gateway=$GATEWAY0
/ip route add gateway=$GATEWAY1
" > /mnt/rw/autorun.scr
#卸载已经加载的文件系统
umount /mnt
#立即重新挂载所有的文件系统为只读
echo u > /proc/sysrq-trigger
#用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换(注意上文提及的阿里云的硬盘为/dev/vda)
#if=文件名:输入文件名,缺省为标准输入。即指定源文件。
#of=文件名:输出文件名,缺省为标准输出。即指定目的文件。
dd if=chr.img bs=1024 of=/dev/vda
#重启云服务器
reboot

以上脚本按实际情况酌情使用,因地制宜,折腾需要付出精力。

我测试成功的个人脚本

再强调一遍,这是我的脚本,不保证能够适用于你的服务器,但不介意你尝试

wget http://download2.mikrotik.com/routeros/6.46.6/chr-6.46.6.img.zip -O chr.img.zip
gunzip -c chr.img.zip > chr.img
mount -o loop,offset=33554944 chr.img /mnt
ADDRESS0=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1`
GATEWAY0=`ip route list | grep '172.16.0.0/8' | cut -d' ' -f 3`
echo "/ip address add address=$ADDRESS0 interface=[/interface ethernet find where name=ether0]
/ip route add dst-address=172.16.0.0/12 gateway=$GATEWAY0
/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
reboot

———————————–end—————————————–
参考文献:https://www.cnblogs.com/itfat/p/8183644.html

补充

推荐使用一键脚本
https://github.com/Jamesits/vps2routeros


阿黑哥博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:阿里云一键换装 ROS-chr 系统
喜欢 (4)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址