SSH 隧道的使用

合作部门提供的 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 同理。

具体操作:

# 记录本机现在的 ip 地址、子网掩码、默认网关、DNS 服务器等信息。
ipconfig /ALL

ipconfig-0.jpg

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

配置多 ip

config-multi-ip.jpg

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

# 此时查看
ipconfig /ALL

# 多出了 redis 集群相应的 ip ,且能 ping 通
# 这样 ip 就配置成功了

ipconfig-1

端口的映射

#  不用担心这是 *unix 命令怎么在 windows 上执行的问题,使用 git bash 就可以了。
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
    

使用 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 就看熟悉哪个了。

【LIXI.FUN - SSH 隧道的使用】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lixifun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值