求助:无线环境,有一个主控节点,实现ssh超远程间接广播调用目的节点组件

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
henry90
帖子: 1
注册时间: 2012-04-13 15:36

求助:无线环境,有一个主控节点,实现ssh超远程间接广播调用目的节点组件

#1

帖子 henry90 » 2012-04-13 16:08

问题描述:
测试某无线协议,为了在同一层间增加尽可能多的跳数,需要调低无线网卡发射功率,调低功率后,假设主控节点离目的调用节点有五跳,就不能直接登录。
例如,设主控节点IP:192.168.0.1;间隔至少五跳的一个目的节点IP:192.168.0.15。
在未调低功率条件下,可以直接ssh [email protected]。但是调低功率以后,不可能直接这样做,进而导致不能运行测试脚本。

例如,脚本运行为:quickrun.py linksname host1 host15 protocolname;
其中,quickrun.py是一个跑协议数据的脚本,后面跟的都是这个脚本运行需要的参数;linksname是一个连接文件的名字,quickrun.py只是调用它,不需要关心它的内容;host1表示1号机,host15表示15号机; protocolname是要测试的协议的名字。
quickrun.py运行过程中需要启动一个组件,其名为click,这样启动:startClick(nodes, '-d %s -t %s %s %s' % (runDelay, runTime, log, proto));
startClick的函数定义是:
def startClick(nodes, cmd, dir = RUNTIME_DIR):
print "START", cmd
forNodes(nodes, 'ssh root@%(ip)s ' + ("'cd %s && bash ./startup.sh %s &'" % (dir,cmd)) )
如上所见,需要用到ssh登录,为了测试方便,可以设定ssh无密码登录。
问题说完了,困境在于:主控节点距离目的节点太远,在运行quickrun.py linksname host1 host15 protocolname;这条命令时,没办法直接连到host15。
我思考的两种解决方案:1.使用ssh间接登录,即,主控节点先登录到一台机,再使用这台机登录到目标机,例如,host1先登录到host8,再使用host8登录到host15,网上有教程,但是在我的测试环境中不现实,因为这种方法需要找路径,即,需要组网,对我的测试网络不具有实施性

求助!!!!!!!!!!!!
2.主控节点广播控制信息,中间节点监听,再转发控制信息,这个是盲目转发,即广播,但是我不会,也没有头绪,求教诸位大神,这种方法改怎么做,需要写哪些东西?
回复