点击关注公众号,回复“1024”获取2TB学习资源!

笔者在工作中遇到此场景,如下两条网络限制下,总部如何访问分公司内部web服务器?

  • dmz服务器可以访问总部外网服务器22端口,不可以访问web服务器;

  • web服务器不可访问公网,但是到dmz网络无限制。

初看需求,我们第一个想到的肯定是内网端口映射到公网,或者vpn,但是不修改网络策略情况下很难实现。有没有别的方法呢,我们继续从纯网络角度分析现有条件。

网络通信是双向的,有请求,有回应,就是我们俗称的“通”。dmz可以访问外部22端口,代表请求,回包两个通信通道都是通畅的,我们是否可以借助回包通道,从外部发起到内部的反向访问呢?答案当然是有的,我们来试一试,需要ssh工具。

我们在dmz执行如下命令。

[root@dmz]#  ssh -f -N -g -R  6606:10.1.1.1:80 root@115.100.100.100-f  #代表后台运行程序
-N  #表示使用远程端口转发创建ssh隧道
-g  #监听本机所有IP地址
-R  #表示使用远程端口转发创建ssh隧道

命令结合起来什么意思呢,我们使用root用户远程连接到115.100.100.100,并且远程主机监听6606端口,当访问此端口时,会跳转到dmz的80端口。此过程会使用到ssh隧道。dmz运行之后,总部服务器的已经有了端口监听。

[root@center]# netstat -tunlp | grep 6606tcp        0      0 127.0.0.1:6606          0.0.0.0:*               LISTEN      8616/sshd: root

我们在总部服务器尝试端口提示拒绝,代表网络已经打通了,但是dmz服务器并没有监听80端口,所以报端口拒绝。

[root@center]# telnet 127.0.0.1 6606Trying 127.0.0.1...telnet: connect to address 127.0.0.1: Connection refused

如法炮制,再把web服务器到dmz的网络反向打通,dmz服务器访问本地80端口时将跳转到web服务器的80端口。

[root@web]# ssh -f -N -g -R  80:10.1.1.1:80 root@10.1.1.2

再次到总部服务器测试访问就能通信了。

[root@center]# telnet 127.0.0.1 6606Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.

我们最后从网络角度来回顾数据包的的转发过程。

从总部服务器看到如下信息。

#dmz服务器以115.100.100.101:29493作源,访问本地22端口,建立了tcp连接。
[root@center]# ss | grep 115.tcp    ESTAB      0      0      172.16.1.1:22                115.100.100.101:29493
[root@center]# netstat -tpna | grep 115.tcp        0      0 172.16.1.127:22      101.230.91.53:29493     ESTABLISHED 8555/sshd: root
#本地端口也对应到了进程号8616
[root@center]#netstat -tunlp | grep 6606tcp        0      0 127.0.0.1:6606          0.0.0.0:*               LISTEN      8616/sshd: root[root@center]# ps -ef | grep 8616root      8616  8555  0 Dec03 ?        00:01:04 sshd: root.

当总部服务器访问127.0.0.1:6606时,网络连接信息如下。

#双向通道已经建立[root@center]# ss | grep 6606tcp    ESTAB      0      0      127.0.0.1:6606                 127.0.0.1:51158tcp    ESTAB      0      0      127.0.0.1:51158                127.0.0.1:6606

我们最后用图片来展示最终网络转发过程。

dmz发起ssh连接到总部服务器,并且远程端口转发。远程服务器访问转发端口时,数据将封装到回包通道,由于ssh本身加密,外部网络无法知晓网络交互逻辑,从而实现反向访问。

链接:zhuanlan.zhihu.com/p/444319023

如果本文对你有帮助的话,欢迎点赞&在看&转发,这对我继续分享&创作优质文章非常重要。感谢

妙啊!巧用 SSH 突破限制穿透内网相关推荐

  1. ssh连接linux_使用内网穿透访问内网ssh图文教程

    使用内网穿透访问内网ssh图文教程 穿透内网Linux系统22端口(SSH)教程 此教程可实现在外网SSH连接处于内网的Linux设备 1.下载网云穿linux版本 可使用wget下载或直接在官网下载 ...

  2. 使用SSH反向隧道进行内网穿透

    这篇文章主要介绍了如何利用SSH 反向隧道穿透NAT,并演示了如何维持一条稳定的SSH 隧道. 假设有机器A 和B,A 有公网IP,B 位于NAT 之后并无可用的端口转发,现在想由A 主动向B 发起S ...

  3. 【Ubuntu】开启ssh服务/配置ftp内网穿透/自动连接校园网

    前言 想让工作电脑开启ssh服务,这样就可以在校外进行远程访问办公,电脑的系统为Ubuntu20.04 开启ssh服务 首先查看当前Ubuntu安装的SSH服务: dpkg -l | grep ssh ...

  4. 干货!手把手教你穿透内网

    干货!手把手教你穿透内网 干货!手把手教你穿透内网 cpolar内网穿透使用场景 如何使用cpolar内网穿透? ↓↓ 1. 注册cpolar账号 2. 安装cpolar内网穿透 2.1 Window ...

  5. 穿透内网,连接动态ip,内网ip打洞-----p2p实现原理(转)

    源: 穿透内网,连接动态ip,内网ip打洞-----p2p实现原理 转载于:https://www.cnblogs.com/LittleTiger/p/10107849.html

  6. 用ssh反向连接访问内网主机 ( 实例使用autossh隧道实现mysql的同步 )

    一.准备知识 什么是autossh? 假设有两台主机: A主机为外网,B主机为内网 通常来说外网主机A是无法直接连接到内网主机B的,这时如果要实现A主机通过ssh控制B主机,通常来说有 两种方法: 1 ...

  7. 口语化讲某些软件如BT,电驴,向日葵等穿透内网原理

    一般如果要访问或远程控制内网的电脑,都需要在路由器或网关服务器上做端口映射处理,但某些软件如BT,电驴,向日葵,teamviewer等无需做端口映射即可穿透内网远程通讯.一般宽带路由器对出站通讯(主动 ...

  8. 穿透内网远程访问群晖NAS

    现代科技日新月异,我们身边的电子设备也在不断更新,日积月累之下,被淘汰的电子设备越来越多,难道就让这些性能不算差的电子设备从此闲置么,这明显不符合我们物尽其用的原则,不少玩家都将闲置的电脑改造成了家庭 ...

  9. 穿透内网群晖NAS实现远程访问【无公网IP】

    现代科技日新月异,我们身边的电子设备也在不断更新,日积月累之下,被淘汰的电子设备越来越多,难道就让这些性能不算差的电子设备从此闲置么,这明显不符合我们物尽其用的原则,不少玩家都将闲置的电脑改造成了家庭 ...

最新文章

  1. CVPR 2021:记一次神奇的 Rebuttal 经历
  2. 2011软考软件设计师:C语言代码规范问题(1
  3. C/C++开发游戏项目之《智能图形界面-贪吃蛇》
  4. spark任务shell运行_大数据系列:Spark的工作原理及架构
  5. 串口通讯编程一日通3(COMMTIMEOUTS DCB整理)
  6. Linux系统编程27:进程间通信之管道的基本概念和匿名管道与命名管道及管道特性
  7. 精仿腾讯视频php源码开源免安装版,自动采集
  8. ntp 配置详解(转载后整理汇总)
  9. windows apache 负载均衡配置 Tomcat集群配置
  10. 科研福利!北京超算获AI Perf500总量份额第一,200元卡时免费领取
  11. 实现了一个跨平台的 YUV 文件图片查看器
  12. 微信令人头疼的文件自动下载功能终于不用默认了
  13. Android有那些好的进阶书籍呢
  14. CSS布局及实例仿LOL主页
  15. 手机邮箱看不到已发送邮件_iPhone用户请注意:你的邮件App得禁用,刚曝光的安全漏洞,iOS 6以上设备全中招...
  16. jws webservice 跳过https认证_【大连学为贵5周年庆典】多邻国考试不能认证是怎么回事?这些雷区不要踩!...
  17. DNS域名解析服务详解
  18. c++ 海康工业相机主动抓拍图片
  19. oppo 手机侧滑快捷菜单_OPPO又搞什么鬼?离奇上弹、侧滑第二屏!
  20. linux排查网络问题,Linux网络问题排查(未完待续)

热门文章

  1. 有两个空酒桶,分别能舀3斤和7斤酒,还有1个装满了10斤的酒桶,我要卖5斤酒给剑客,这该如何是好?
  2. 谈莉娜,也被淘汰,社会真是太黑暗了,哎!
  3. PCI-E的针脚定义的简单讲解(备忘)
  4. aspose给word添加水印
  5. android 文本输入区域,android – 键盘模糊输入文本区域
  6. 5种常见的服务器种类是哪些
  7. 机器学习 决策树和随机森林
  8. 如何优雅地使用 Sublime Text
  9. Linux基础命令---lp打印文件
  10. 摄像头测试程序无线摄像头测试程序