找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7086|回复: 7

[其它] 用RouterOS打造串口服务器

[复制链接]
发表于 2010-5-26 17:06:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 zhjchina 于 2010-5-26 17:10 编辑

一般RouterBoard都会带有1个串口,基于X86的routeros能支持1-2个串口,如果我们附加一块MOXA的8端口串口卡,在X86下将支持多达10个串口。
如果善加利用,我们就能利用RouterOS打造一台高档的串口服务器。一般8端口的串口服务器价格高达数千元,这样我们就能低廉的价格取得同样的串口服务器
功能。

     Routeros的串口最常用的功能是用作串口调试,这在无显卡输出及键盘输入的系统上相当方便。而且服务器大都支持console redirect,也就是说,我们将能通过串口
监控RouteROS硬件输出和软件信息。
     
     下面简要介绍下如何进行串口调试

       console.JPG
      进入主板的Advanced setting,找到console redirection,将其设置为enable。
    这样我们通过ROS的串口就行看到系统启动时的自检信息,并可以通过串口进行bios设置。

    下一步是进行RouterOS的软件部分设置
    serial.jpg
      将上图所示从除Serial 全部禁用
    再进入 System-ports,按如图设置
ports.jpg

      最好将波特率等信息全部设置成和Bios中的Console direction全部相同,这样在系统启动以后,就不需要再去调整串口连接信息   
    这样我们就能从console口上查看到系统的软件和硬件的所有信息。

   这是Mikrotik RouterOS中串口的最基本应用

    另外我们还能用RouterOS实现 serial over IP 的功能。
    如果我们需要管理位于其他的地点的串口设备,比如说位于机房的交换机等等。 或者我们得亲自去机房调试,或者去买一台价格不菲的串口服务器。
现在有了RouterOS,我们完全可以用RouterOS来取代串口服务器。

    我们可以将串口设备用空Modem线连接至RouterOS路由器的空闲的串口。
    如果使用的是RouterBoard或者是仅有一个串口的X86系统,首先必须关闭serial0上的串口控制台,如下图,将serial0禁用
    seraildisable.jpg

    对于链接到RouterOS上的串口设备,RouterOS提供了3种访问方法

  1. 直接用 serial-terminal访问
   在winbox下无法通过此方式访问。
   在命令行下运行如下命令
   /system serial-terminal serial0 、
  在访问串口设备前,先按Ctrl+A, 会弹出一个如下的菜单
   serial-terminal.jpg
   然后按R,先让RouterOS和串口设备先确定传输速率,就能进入串口设备的管理了。

  2. 直接用SSH,Telnet或Mac-telnet管理串口设备
  首先在RouterOS上建立一个串口专用账号,如图
user.jpg
然后点击Password生成密码。

  假如用户名为serial, 我们把serial 账号链接到serial0上,输入如下命令
/special-login add user=serial port=serial0
  打开你的SSH软件,配置好ip,用户名为serial 和密码,连接到RouterOS,将会直接连接到你的串口设备

这种方法的优点在于,如果你只想让用户管理串口设备,可以给其指定特殊账号,而不必要给他RouterOS的管理权。

  3.使用虚拟串口登录串口设备

   有些串口设备的管理软件不一定是文本方式,可能是基于windows系统其他类似图形系统。用以上的方法就很难管理。
我们可以在PC上虚拟某个端口,如COM10,在本机上连接该端口就等同于连接到RouterOS上的真实物理设备。

  现在有很多串口管理设备提供以上的Serial over ip功能,但是我们现在用RouterOS也能免费实现串口服务器的功能。

首先在RouterOS 上如下配置
/port remote-access add port=serial0 protocol=rfc2217 tcp-port=22222
这段命令的意思是RouterOS监听TCP 22222端口,然后将数据包转发给serial0
如果我们仅允许某些ip访问串口的话,可以用local-address参数进行限制
  
  下面在PC端进行配置

   在如下网址下载虚拟串口软件 http://www.skycn.com/soft/30517.html#downUrlMap

   下载后安装运行,选择中文
   VPSM.jpg
   选择运行在client方式,支持运行在server的设备,软件界面如下
   VPSM-setup.jpg

   下面增加一个虚拟串口
   选择虚拟串口及设备管理,再选择新增虚拟串口
    add-port.jpg
    我的RouterOS的TCP监听端口为22222,ip为192.168.0.17 ,设置本地虚拟串口为com11,各位按自己的实际情况进行设置。

   完成这个步骤以后,就能用串口调试软件如超级终端来进行配置了。我用SecureCRT进行连接。如下图所示
    sercurtlog.jpg

    如图所示,我连接到了我的RouterOS上串口连接的一台RB450G。

  对于RouterBoard之类的设备,该方法的一个副作用就是,如果你无法通过网络连接到你的RouterBoard,那么因为com口被占用做串口服务器,
你将不能通过com口再对RouterBoard进行管理。那唯一的办法就是对其进行Reset了。

   参考文献:http://wiki.mikrotik.com/wiki/Serial_Port_Usage

   最后打个广告,本人有VPN服务器带宽出售,可解决多线状态下的电信ADSL封禁问题。有需要的可与本人联系 QQ:3234721

评分

参与人数 1铜板 +6 收起 理由
bobwalker + 6

查看全部评分

routeros
发表于 2010-5-26 18:20:23 | 显示全部楼层
如果怕網絡斷掉ROS失聯的話,我是這樣做的.......
直接找一台舊的56K 數據機接在ROS 串口,ROS做PPP-Server,
管理員直接從遠端打電話撥接進來登入ROS即可.
routeros
回复

使用道具 举报

发表于 2010-5-26 23:59:58 | 显示全部楼层
有空试试
routeros
回复

使用道具 举报

发表于 2010-5-27 01:11:29 | 显示全部楼层
不错.....这样也挺方便的
routeros
回复

使用道具 举报

发表于 2010-5-27 11:52:47 | 显示全部楼层
没有试过ROS的串口功能。有空也玩玩。
routeros
回复

使用道具 举报

发表于 2010-5-27 19:33:44 | 显示全部楼层
留个记号!哪天会用得上。
routeros
回复

使用道具 举报

发表于 2010-6-2 14:03:20 | 显示全部楼层
很多主板的Advanced setting,都找不到console redirection
routeros
回复

使用道具 举报

发表于 2011-10-26 02:27:17 | 显示全部楼层
串口是很有用的,做路由准系统的时候,只要留个串口出来就可以了,vga、键盘等口都不用露出来了~
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-3 10:59 , Processed in 0.175524 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表