基于之前的部署的环境,我们拉出一朵云和一台路由器,来做实验,验证PC和数据平台是可以互相连通的。
![](https://s2.51cto.com/wyfs02/M00/03/CB/wKiom1mgISTgXs8yAAAjxx7iaeY861.png-wh_500x0-wm_3-wmp_4-s_797404641.png)
首先在gns3中拉取一朵云,选用本地系统中的loopback口
![](https://s4.51cto.com/wyfs02/M00/A2/7C/wKioL1mgIRexOiIjAACZDS8VX8Y538.jpg-wh_500x0-wm_3-wmp_4-s_1395752786.jpg)
查看ip地址是192.168.10.1 255.255.255.0
![](https://s4.51cto.com/wyfs02/M01/03/CB/wKiom1mgIS_AR3KCAAAl-ZADkgo018.jpg)
注意这里需要关闭本地的防火墙,否则可能虎出现ping不通的情况。配置路由器的IP地址,实现左右ping通
![](https://s5.51cto.com/wyfs02/M00/03/CB/wKiom1mgIS-CrTT_AAAiy8U6FH8978.png)
![](https://s5.51cto.com/wyfs02/M01/A2/7C/wKioL1mgISLz0ei_AAA83brs9Lw912.jpg)
完成这个实验之后,就可以开始实现接下来的telnet远程登录了,首先要部署指令
设备允许telnet远程登录
username yerik password 1111
enable password 2222
line vty 0 4
login local
![](https://s1.51cto.com/wyfs02/M00/03/CB/wKiom1mgIbWwTenRAABexvatzO8833.png-wh_500x0-wm_3-wmp_4-s_2857309676.png)
在本地登录查看效果,telnet 192.168.10.100
![](https://s1.51cto.com/wyfs02/M00/A2/7C/wKioL1mgIaiyfKUdAABZt8Gi2Sg979.jpg-wh_500x0-wm_3-wmp_4-s_1948989480.jpg)
![](https://s5.51cto.com/wyfs02/M01/03/CB/wKiom1mgIbaxEI2jAAAdhWFhH9A041.png-wh_500x0-wm_3-wmp_4-s_312415001.png)
在console设置进入用户模式密码
![](https://s5.51cto.com/wyfs02/M00/A2/7C/wKioL1mgIamCHRF0AAAOaUc7Zhs198.png-wh_500x0-wm_3-wmp_4-s_747487152.png)
再次查看效果
![](https://s5.51cto.com/wyfs02/M02/03/CB/wKiom1mgIbeBhfXGAACKiVghHsY095.png-wh_500x0-wm_3-wmp_4-s_1255029563.png)
![](https://s3.51cto.com/wyfs02/M01/03/CB/wKiom1mgIbeg44YVAAB_V4VgKhs308.jpg-wh_500x0-wm_3-wmp_4-s_1080131592.jpg)
接下来通过python,模拟这次登录的过程
import telnetlib
def do_telnet(Host,username,password,finish,commends):
tn= telnetlib.Telnet(Host,port=23,timeout=10)
tn.set_debuglevel(2)
#login input username
tn.read_until('Username:') # 期待回复
tn.write(username+'\n')
#input password
tn.read_until('Password:') # 期待回复
tn.write(password+'\n')
#finish login input commend
tn.read_until(finish)
forcommend in commnds:
tn.write("%s\n"% commend)
tn.read_until(finish)
tn.close()
if __name__=='__main__':
Host="192.168.10.100"
username="yerik"
password="1111"
finish="R1>"#命令提示符(标识着上一条命令已执行完毕)
commends=['enable','2222','showip route']#相关指令
do_telnet(Host,username,password,finish,commends)
以下是运行截图
![](https://s3.51cto.com/wyfs02/M02/03/CB/wKiom1mgIbfzEy-NAACqhF-byOI398.png-wh_500x0-wm_3-wmp_4-s_2465637224.png)
本次实验是基于python2.7,经行编程开发,回忆之前的登录过程
![](https://s4.51cto.com/wyfs02/M00/03/CB/wKiom1mgIbiC_xD1AAAK7MpuCQw913.png-wh_500x0-wm_3-wmp_4-s_3454568762.png)
所以只需要在代码中实现用户名登陆,密码输入,用户权限进入的指令
![](https://s4.51cto.com/wyfs02/M02/A2/7C/wKioL1mgIauy2Lz7AABdL4SoLOE095.png-wh_500x0-wm_3-wmp_4-s_671239207.png)
![](https://s2.51cto.com/wyfs02/M01/03/CB/wKiom1mgIbmyh7WFAABoAEs7o2g604.jpg-wh_500x0-wm_3-wmp_4-s_657314364.jpg)
登陆成功并可以可以获取设备信息了,之后我们可以通过这个方式完成对设备的远程控制,比如创建loopback口,部署ospf协议,开启专线信息,对设备进行巡检,等等,后续章节继续讲解
本文转自:
http://yerikyu.blog.51cto.com/11421505/1959452PS:代码不算多,操作起来也不算麻烦
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rockyw | If it solves your problem, please mark as answer. Thanks !