首页 > 技术文章 > 阿里云专有网络下一键安装RouterOS-ROS系统

itfat 2018-01-03 16:03 原文

阿里云上不要克隆ROS,而是每个ROS都要去新增创建,否则你第二个ROS就无法登录用户ID了,会出现如下错误:

 

提示这个系统ID已经用过一次测试帐号了,也就无法登录帐号,也就无法用正版了,只能一直用1M的免费版

因为ROS官方提供的CHR镜像是用16G版本做出来的,所以我们用dd的方法做出来的ROS,空间都是16G。

如果你的云端是40G空间或者更多呢,也只用了16G空间,是不是很浪费。

可以看看我另外一篇博客。有介绍解决方案

https://www.cnblogs.com/itfat/p/11643144.html

 

1、阿里云环境centos6.9 x64:

内网网卡为eth0

阿里云的linux下硬盘名称为/dev/vda

注意阿里云的安全组建议开放任意协议和端口,任意IP允许访问

今天测试阿里云2C4G的死活失败,但是1C1G就OK。大家注意下。

**********************************************************

BWG的洛杉矶CN2 GIA速度杠杠的!!!大家可以用89.208.252.*来测试速度。非常牛逼!

 今天用chr-6.39.2死活装不到BWG的服务器上去。

 去官方查了下资料才知道,原来新版本的chr才有virtio-scsi硬盘驱动。。。

 最后装了6.43.1版本搞定。大家注意下!

 https://download.mikrotik.com/routeros/6.43.1/chr-6.43.1.img.zip -O chr.img.zip

**********************************************************

 

2、安装完ROS:chr-6.39.2.img版本

内网网卡为ether1

上面描述的很重要,你要根据你的VPS实际网卡情况,来设定脚本。

wget https://download.mikrotik.com/routeros/6.43.1/chr-6.43.1.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 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 && \
reboot

命令说明:

1、wget从ros官方下载CHR镜像到本地目录,并命名为chr.img.zip;建议wget下载。自己搭建http下载的地址,比如可以放到阿里云的oss下载路径。

http://lbros.oss-cn-hangzhou.aliyuncs.com

2、gunzip把chr.img.zip解压为chr.img

3、把chr.img镜像释放到/mnt目录下

4、抓取eth0的IP地址,并赋值参数为ADDRESS0

7、抓取ip route里的默认网关,并赋值参数为GATEWAY0

8、echo后面的为ros里的命令,ROS的内网网卡赋值内网IP,并设置默认网关,

并赋值给/mnt/rw/autorun.scr,这里可以干好多事情,大家自由发挥

9、umount /mnt,卸载已经加载的文件系统/mnt

10、echo u > /proc/sysrq-trigger 立即重新挂载所有的文件系统为只读

11、dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

if=文件名:输入文件名,缺省为标准输入。即指定源文件。

bs=1024,block size,类似于格式化的时候最小单位,1024就是1KB,官方的img,dd出来的就是16GB的ROS,没办法最大化利用空间。不过对于ROS CHR来说空间用途不大。

of=文件名:输出文件名,缺省为标准输出。即指定目的文件。

12、reboot重启机器

关于偏移量offset=33554944,是怎么计算出来的?

今天学习了大玩家老师的视频,才真正知道啥意思。

下载完chr.img.zip并解压为chr.img以后,可以用命令fdisk -lu chr.img,能看到截图如下:

 

 可以看到一个扇区是512字节,并且chr.img有2个分区,我们需要的是第2个分区,也就是从65537开始的扇区。

我们把65537*512=33554944,这个数值正好是offset=33554944。所以,我们需要使用命令,查看下偏移量是多少!

同样我们看下官方的6.47版本的偏移量是多少:

 

 

 

 

 可以计算出来。6.47版本的偏移量就是1*512,那么offset=512。

所以不同的官方版本,偏移量是不同的。大家一定要注意!

最后,附带下老师提供的新版一键安装脚本:

老师的脚本,每次会下载官方的最新版本,默认是https://download.mikrotik.com/routeros/,如果变化了。注意更改下。

偏移量offset默认是512.如果官方变化了。自己修改下。

默认关闭了eth1的dhcp,自动获取IP

设置了管理员默认密码是1212,可以自己修改下。

大家需要完整的教程记得联系老师的QQ/VX:1247004718

 

#https://download.mikrotik.com/routeros/6.48.2/chr-6.48.2.img.zip
#!/bin/bash
#filename install_chr.sh
#author dawanjia
#QQ/VX:1247004718

 ====================================================================================================

LATESTVER=`curl -s http://upgrade.mikrotik.com/routeros/LATEST.6 |awk '{print $1}'`
URL=https://download.mikrotik.com/routeros/$LATESTVER/chr-$LATESTVER.img.zip
wget $URL -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img && \
mount -o loop,offset=512 chr.img /mnt && \
ADDRESS=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY=`ip route list | grep default | cut -d' ' -f 3` && \
echo "/ip dhcp-client dis 0
/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
/ip dns set server=223.5.5.5,223.6.6.6
/user set admin password=1212" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/vda && \
reboot

  ====================================================================================================

最终脚本应该分为2个步骤:

 ====================================================================================================

1、查看偏移量

LATESTVER=`curl -s http://upgrade.mikrotik.com/routeros/LATEST.6 |awk '{print $1}'`
URL=https://download.mikrotik.com/routeros/$LATESTVER/chr-$LATESTVER.img.zip
wget $URL -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img
fdisk -lu chr.img

 ====================================================================================================

2、根据看到的偏移量,执行后续版本,红色字体的是几个要根据自己情况更改的:

mount -o loop,offset=512 chr.img /mnt && \
ADDRESS=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY=`ip route list | grep default | cut -d' ' -f 3` && \
echo "/ip dhcp-client dis 0
/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
/ip dns set server=223.5.5.5,223.6.6.6
/user set admin password=1212" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/vda && \
reboot

  ====================================================================================================

国内节点的一件脚本:

  ====================================================================================================

LATESTVER=`curl -s http://upgrade.mikrotik.com/routeros/LATEST.6 |awk '{print $1}'`
URL=http://ros-pack.mrli888.cn:6080/$LATESTVER/chr-$LATESTVER.img.zip
wget $URL -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img && \
mount -o loop,offset=512 chr.img /mnt && \
ADDRESS=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY=`ip route list | grep default | cut -d' ' -f 3` && \
echo "/ip dhcp-client dis 0
/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
/ip dns set server=223.5.5.5,223.6.6.6
/user set admin password=1212" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/vda && \
reboot

  ====================================================================================================

ROS7.0的CHR版本的一键,今天做腾讯云的CHR,做了三遍才成功。不知道为啥,如果不成功的小伙伴,重做三遍试试!!!或者更换为centos6试试

LATESTVER=`curl -s http://upgrade.mikrotik.com/routeros/LATEST.7 |awk '{print $1}'`
URL=https://download.mikrotik.com/routeros/$LATESTVER/chr-$LATESTVER.img.zip
wget $URL -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img && \
mount -o loop,offset=33571840 chr.img /mnt && \
ADDRESS=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY=`ip route list | grep default | cut -d' ' -f 3` && \
echo "/ip dhcp-client dis 0
/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
/ip dns set server=223.5.5.5,223.6.6.6
/user set admin password=1212" > /mnt/rw/autorun.scr && \
umount /mnt && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/vda && \
reboot

 ====================================================================================================

LATEST.7改为了7版本,偏移量如下图是65570*512=33571840

 

   ====================================================================================================

推荐阅读