在公网上有一套OpenStack云环境,现在要做一次培训,共15个学员,每个学员分配三台虚拟机,每个学员都可通过ssh登陆管理三台虚拟机进行相关实验。目前国内条件有限就是公网IP地址比较少,不能给每个学员的虚拟机都绑定floatingIP,本人以前看到同事使用ssh隧道技术,专门研究了一天,居然实现了我想的功能,受6月9号蒋迪的《硬盘、RAID组与Ceph的IOPS公式与工具》的启发,现分享给大家。
如图1所示,平台有一台跳板机,绑定公网IP103.x.x.205,可以直接ssh登陆,同一网段内还有三台Linux虚拟机,现实现通过IP103.x.x.205的不同端口分别直接登陆三台虚拟机。
都是搞技术的,咱直接给出操作命令,供大家参考。
登陆方向peixun2--tiaoban
#ssh-keygen
一路回车,生成公钥,如图2所示。
#ssh-copy-id -i .ssh/id_rsa.pub [email protected]
把公钥拷贝到tiaoban机,为开机自动建立隧道做准备,如图3所示。
# viservice.sh
#!/bin/bash
ssh-fCNR 10002:localhost:22 [email protected]
# chmod+x service.sh
#./service.sh
添加执行权限,并执行脚本。
编辑rc.local,添加一行脚本内容。
# vi/etc/rc.d/rc.local
/root/service.sh
登陆tiaoban机,查一下10002端口是否建立,如果有10002端口说明peixun2的脚本执行成功。
#netstat -ano|grep 10002
给大家提个问题,这个隧道建立了,怎么删除呢?
D、二次隧道的建立,编辑脚本service.sh,建立反向隧道
# viservice.sh
#!/bin/bash
ssh-fCNL *:20000:localhost:10000 localhost
ssh-fCNL *:20001:localhost:10001 localhost
ssh-fCNL *:20002:localhost:10002 localhost
这里直接建立了三条本地隧道。
# chmod+x service.sh
添加执行权限,并执行脚本。
编辑rc.local,添加一行脚本内容。
# vi/etc/rc.d/rc.local
/root/service.sh
查一下10002、20002端口是否建立,如果有10002、20002端口说明隧道链建立成功。
#firewall-cmd--add-service=ssh-permanent
#firewall-cmd--add-port=20002/tcp --permanent
#semanageport -a -t ssh_port_t -p tcp 20002
云平台安全组的添加,这里添加一个端口范围,如图所示。
原来的22端口修改为20002端口,如图所示。
咱还是画图吧,这个应该比较直观就不解释了。
本实验虽然很简单,但实现了一个比较实际和有用的功能,希望能给大家启发,先有问题,然后想办法去解决问题,提高自己的工作效率。
作者介绍:
张伟,云技术社区专家,《深度实践OpenStack》系列的主要作者,现海云捷迅资深讲师、架构师。原Sina网、神州数码资深工程师,一直致力于Linux及开源软件相关技术的研究,从事过多年的Linux系统开发和应用系统开发,13年加入到OpenStack的大家庭中,从事过OpenStack安装部署、运维、架构等工作,拥有丰富的OpenStack经验;为惠普、DELL、中国移动(南方基地、重庆)、中国电信(四川)、锐捷、宁夏国电、北京市计算中心等开展过OpenStack相关培训。
云技术社区投稿邮箱[email protected],加入中国最活跃的OpenStack技术讨论QQ群,加群主QQ:502207183,并注明城市、行业、技术方向。
相关阅读:
高端私有云项目交流群,欢迎加入!
收藏了,硬盘、RAID组与Ceph的IOPS公式与工具
KVM设备透传与重定向实战详解
2017版:KVM网络性能调优终极版
2017版:KVM 性能优化之磁盘IO优化
2017版:KVM 性能优化之内存优化
2017版:KVM性能优化之CPU优化