目录
搞网络的,多多少少都会听说过软件路由,如海蜘蛛、RouterOS、维盟软路由等,其中ros因它的强大使用最为广泛。
我接触过一些搞RouterOS(简称ros,全称MikroTik Routers),发现不少人不知道怎么入门,ROS类的教程也很少,资料也少
我搞了一些日子ros,所以分享一下我的学习心得
一、背就相当于作死
我发现很多人学ros也是像我刚刚开始学一样,直接在找一个教程,然后跟着做,多练,做熟悉之后又百度。只是懂一点儿网络基础知识而已。
这样的相当于死背学习方式,会造成,一现问题如果没遇到见的话,要么百度,要么问人,要么就乱搞,万一运气好刚才解决了呢。这类人排障功能很弱,我们戏称“经验派”,这种人不注意原理,或者只懂得简单的原理,遇到自己不懂的,不会应用原理去分析。
PS:还有一种就是理论派,说是说理论很强,实际很弱。这种也是不可取的。
练功不练拳,犹如无舵船,练拳不练功,到老一场空 理论+实践结合
二、需要的技术
2.1 如何学好网络:曲线更美
网络基础不打扎实肯定学好不好ROS!
我们知道MikroTik Routers相关的技术书、论坛在国内很少,资料也很少,所以很多初学者不懂得怎么学习了,尤其是非计算机专业的。
要能会使用ROS,其实可以学第三方的网络知识就行了,如思科、H3C、华为,推荐思科,因为思科的路由系统iso文件可以直接放进模拟器中,更贴近真实的路由器,而H3C、华为则不能,要使用他们指定的路由模拟器。
关于如何学好CCNA,可以看我写的 《如何学好CCNA(网络入门的正确打开方式)》
如果能学习ROS一些基础的话,只需要思科CCNA或同等水平即可,后面如果发现技术水平CCNA不够,可以进阶学CCNP就行了。
推荐书籍:《ccna自学指南第七版》
相关的模拟器:《Cisco Packet Tracer 7.3》简称PT模拟器。如果要与真机交互的话,在学PT模拟器的前提下,可以使用iou模拟器,我已经上传到我的csdn中里面有教程,点IOU下载即可
PT模拟器相关的免费视频:《Packet Tracer使用视频课程》看前3小节即可
不学会CCNA,有点网络基础的时候,就可以转学ROS了。为什么要这样,因为网络除了私有协议之外,公用的协议,原理是一样的,只是不同的路由器操作不同而已。原理你懂了,你只需要ros路由的使用说明即可。这样的好处就可以弥补ros资源少,文档少的现状。
ROS学习推荐
入门pdf资料:余松的《RouterOS入门到精通》,这个挻不错的,最新版本可以看他的博客
ros官网wiki文档:《routeros手册》、《RouterOS说明文档》
PS:在使用ROS中,再反过来体会网络原理在ROS是怎样具体表达出来的,当你从 网络原理-->练习,练习-->体会网络原理 相互验证,学习的过程会有比较大的程度提升。
2.2 拿下ros脚本:学一门编程基础
ROS并不是真正的纯路由,还支持脚本,这样能让它更加强大起来,如果没有脚本功能,ros应该会失色不少。
如何学好ros脚本,其实对有编程经验的人来说,上手是很快的,如果没有编程经验,我建议学一个python,推荐的原因有
1.python既然脚本也可以当编程语言,近几年都很火,尤其是在AI方面,维护方面也使用得多
2.文档、教程、资料都比较多
3.容易上手
4.ROS对接计费系统radius,如freeRadius也支持python
5.更方便使用ros api,ros api支持主流的php、java、python、go等,学了python也更方便学rosAPI
6. 打通OSI七层:学好网络只是学了osi七层上下四层,学点开发基础可以了解上三层,这样整个七层就可以了解个大概,会大有裨益。
只需要学好python基础语法懂得python有些简单的调试,懂一点编程思想即可,这样再学ros脚本会很快,只需要看一下它的基础语法即可。你会发现其实脚本也就那么回事。
推荐学习文章:《Python3教程》,我写的专栏《python 运维基础篇》里面有 python IDE开发工具PyCharm的使用教程
2.3 linux基础:进阶的好帮手
学点linux基础,也是对ros有帮助的:
1. 更好地理解ROS,ros是基于linux的,所以有些linux知识能用上,比如防火墙是基于linux的iptables
2. 主要是为了方便安装与ros配合的软件,如freeRadius一般安装在linux上,freeRadius需要安装mysql也建议安装在同一个机子的,这些都需要linux基础知识
当然,如果只想简单学一些儿网络,linux也可以不用学。
推荐书箱:《鸟哥的Linux私房菜 基础学习篇 第四版》
再推荐一个在线linux命令查询网站 “linux命令大全”
一个业余学习ros的老菜鸟