合作部门提供的 redis 集群,kafka 集群,限制条件:无 vpn,仅能通过特定跳板机(无 root 权限)连接调试开发。


想要实现:本地开发连接其 redis 集群,kafka 集群进行开发调试等,否则就只能改一次代码打一次包上传了,众所周知 “Java 码农离开 ide(a) 就不会写代码了”。


项目配置文件中可仅填写一部分 redis 集群的节点,其他节点会自动发现,但是对于跑起来的项目来说,实际还是要连接上其他节点的,所以这就要求本地确实能够连接上所有节点(程序自动发现的 ip:port 即为其提供的不可直接访问的 ip:port)。

先考虑所有的 ip:port 组合都是不同的,即不会出现 192.168.1.2:6379, 192.168.1.3:6379 这种 ip 不同 port 相同的情况。


假设跳板机为 dev@192.168.1.2:2222
redis cluster:
192.168.9.1:6379
192.168.9.1:6380
192.168.9.1:6381
192.168.9.2:6479
192.168.9.2:6480
192.168.9.2:6481


任务拆解:
1. 给本机(或者其他可控主机)配置所有的的 redis 绑定的 ip,kafka 同理;
2. 所有的 port 映射到对应的 redis 监听的 port,kafka 同理。


具体操作:
1. cmd -> ipconfig /ALL 记录本机现在的 ip 地址、子网掩码、默认网关、DNS 服务器等信息。



记录红线的内容填入下方的 "使用下面的 IP 地址"


配置多 ip



按照箭头一路填写把 redis 集群的 ip 都添加上即可


此时查看 cmd ipconfig /all



多出了 redis 集群相应的 ip ,且能 ping 通


这样 ip 就配置成功了


2. 端口的映射


ssh -L 192.168.9.1:6179:192.168.9.1:6179 \
    -L 192.168.9.1:6180:192.168.9.1:6180 \
    -L 192.168.9.1:6181:192.168.9.1:6181 \
    -L 192.168.9.2:6279:192.168.9.2:6279 \
    -L 192.168.9.2:6280:192.168.9.2:6280 \
    -L 192.168.9.2:6281:192.168.9.2:6281 \
-Nf dev@192.168.1.2 -p 2222


不用担心这是 *unix 命令怎么在 windows 上执行的问题,使用 git bash 就可以了。

使用 man ssh 查看下是干了点儿啥



-L 绑定地址端口 本地ip:本地port:目的ip:目的port



-N 不要执行远程命令,仅作端口转发



-f 后台执行


完工,现在访问 192.168.9.1 和 192.168.9.2 就会通过 跳板机(192.168.1.2) 连接上远端的 192.168.9.1 和 192.168.9.2。


最后,如果有存在 192.168.9.1:6379 和 192.168.9.2:6379 这样 ip 不同,端口相同的情况,可以考虑起虚拟机给虚拟机按照上面配置,当然虚拟机是用 windows 还是 *unix 就看熟悉哪个了。

SSH隧道的使用的更多相关文章

  1. SSH隧道应用, 突破网络限制

    文/怡文圣美 这篇文章可以帮你解决下面三个问题: 不能直连服务器, 要先登陆跳板机, 造成客户端工具无法连接服务器. 服务器没有公网IP, 且只允许公司IP访问, 要在家里操作要先远程桌面到工作机再登 ...

  2. ssh隧道(端口转发)

    本地转发: ssh -Nf -L [bind_address:]port:host:hostport sshServer -Nf 后台运行 -L 本地转发 [bind_address] 绑定本地地址, ...

  3. 通过 SSH 隧道方式图形化连接 AIX 服务器

    跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...

  4. ssh隧道技术

    大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...

  5. 【转】三种不同类型的ssh隧道

    转自:http://blog.creke.net/722.html 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的 ...

  6. SSH隧道技术----端口转发,socket代理

    原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...

  7. 公司内网Debian Server上的openvpnserver搭建并通过SSH隧道转发到广域网

    因为戴维营公司在长沙的学员,研发人员和北京的研发人员须要协同研发,故须要让北京的兄弟们增加到长沙办公室的内网,訪问版本号 管理server,于是採用在内网server上搭建一个OpenVPN服务,并把 ...

  8. ssh隧道

    最近有需求使用ssh隧道,顺便研究了下,以下记录一下大概说明 ssh隧道顾名思义在可以通过ssh连接的server之间建立加密隧道,常用于突破网络限制 常用三种端口转发模式:本地端口转发,远程端口转发 ...

  9. 配置SSH隧道访问Ubuntu服务器上的MongoDB

    为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...

  10. 调试利器:SSH隧道

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文作者:ivweb 吴浩麟 原文出处:IVWEB社区 未经同意,禁止转载 在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需 ...

随机推荐

  1. JavaScript系列:函数式编程(开篇)

    前言: 上一篇介绍了 函数回调,高阶函数以及函数柯里化等高级函数应用,同时,因为正在学习JavaScript·函数式编程,想整理一下函数式编程中,对于我们日常比较有用的部分. 为什么函数式编程很重要? ...

  2. 分布式系统的延时和故障容错之Spring Cloud Hystrix

    本示例主要介绍 Spring Cloud 系列中的 Eureka,如何使用Hystrix熔断器容错保护我们的应用程序. 在微服务架构中,系统被拆分成很多个服务单元,各个服务单元的应用通过 HTTP 相 ...

  3. poll(2) 源码分析

    poll(2) poll(2) 系统调用的功能和 select(2) 类似:等待一个文件集合中的文件描述符就绪进行I/O操作. 使用 实现 select(2) 的局限性: 关注的文件描述符集合大小最大 ...

  4. java工具类之Arrays、Collections以及比较器

    一.Comparable和Comparator的详解 Comparable & Comparator 都是用来实现集合中元素的比较.排序的,只是 Comparable 是在集合内部定义的方法实 ...

  5. python入门经典_好资源送不停

    Python入门经典(2K超清_送书) https://study.163.com/course/courseMain.htm?courseId=1006183019&share=2& ...

  6. 什么是STM32的ISP?

    上一篇笔记分享了STM32的串口IAP实例:STM32串口IAP分享.其中,下载IAP程序时用ISP的方式进行下载.这里的ISP又是什么呢? ISP方式下载程序原理 ISP:In System Pro ...

  7. oracle数据库的安全测试

    Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上 ...

  8. 从前端到全栈:JavaScript逆袭之路

    JavaScript如何做到上天入地无所不能?JavaScript真的能一统江湖吗? 背景 近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展. 先后涌现出了具备后端能力的no ...

  9. 原生无缝Banner轮播图

    话不多说,先展示效果图.由于录制工具,稍显卡顿,实际是流畅的.可以看到实现了无缝轮播,鼠标悬停,点击左右上下按钮切换Banner的功能,如图1所示. 图1 原生无缝banner效果展示 以我这个轮播图 ...

  10. SpringBoot项目配置Tomcat和JVM参数

    设置Tomcat端口号和连接数等 使用application.properties配置文件有一些参数无法设置,所以推荐创建一个类文件来配置,如下: package com.qipai.springbe ...