内网穿透 (1) — ssh 反向代理

栏目: 后端 · 发布时间: 7年前

内容简介:因为各种各样奇怪的问题,各大公司学校,甚至一个家庭,都会有一个局域网,在学校和公司内部,甚至还会出现局域网套局域网的情况(毕竟一个路由器就可以组网了) ,形成一个树状结构,底层级的可以访问高层级,高层级却无法直接访问低层级这个时候有两种解决方式端口转发需要硬件支持,而且一个端口最多只能整一台机子……(除非你的交换机支持多个IP你还会配置)

0 说在前面

因为各种各样奇怪的问题,各大公司学校,甚至一个家庭,都会有一个局域网,在学校和公司内部,甚至还会出现局域网套局域网的情况(毕竟一个路由器就可以组网了) ,形成一个树状结构,底层级的可以访问高层级,高层级却无法直接访问低层级

这个时候有两种解决方式

  • 端口转发
  • 内网穿透

端口转发需要硬件支持,而且一个端口最多只能整一台机子……(除非你的交换机支持多个IP你还会配置)

今天我们就来讲讲内网穿透最基础的实现方法 —— ssh 反向嗲里

1 关于ssh

说起 ssh 并不是一个陌生的话题,在大多数时候,我们都会通过ssh远程控制服务器,以使用命令行,即使是内部的服务器也一样

ssh是一种加密的网络传输协议,在一定程度上避免了明文传输会带来的一系列分限

Warning: ssh 加密算法已经有能力被刺探及干扰,甚至有概率被破解,读取原文

2 故事背景

先让我们假设一个背景

现在有 3 台机子,网络访问情况如下:

  • A 位于 a 局域网内
  • B 位于 a b 两个局域网内
  • C 位于 b 局域网内

我们现在想让 C 能够访问 A

我们将以 B 机作为代理机器,使 C 通过 B 访问 A

3 ssh 的反向代理

ssh -R port:host:hostport

将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口

我们可以这样理解:

port
host
hostport

反向代理需要 A 机器 主动连接 B 机器,并需要以 root 身份登陆 B 机器

4 访问

如果是 A 网页需要在 C 上面可以访问,我们可以通过 Apache2 Nginx 等将上文的 port 在转发到 80 / 443等端口上,不需要 C 可以通过 ssh 直接连接 B 来 访问 A

可以通过 ssh 密钥简化过程

如果出现因超时而自动断开的问题,可以在 /etc/ssh/sshd_config 尾部加入以下命令

ClientAliveInterval 30 # B 每隔30秒发送一次请求给 A,然后 A 响应,从而保持连接
ClientAliveCountMax 3 #B 发出请求后,A 没有响应得次数达到3,就自动断开连接,正常情况下,A 不会不响应

5 附加

这里有一些可能有用的参数

-v 调试链接,会显示出详细问题
-f 后台运行 ssh
-N 不运行命令,仅转发端口
-C 允许压缩数据

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

解密搜索引擎技术实战

解密搜索引擎技术实战

罗刚 / 2011-6 / 69.80元

《解密搜索引擎技术实战-Lucene&Java精华版(附盘)》,本书主要包括总体介绍部分、爬虫部分、自然语言处理部分、全文检索部分以及相关案例分析。爬虫部分介绍了网页遍历方法和如何实现增量抓取,并介绍了从网页等各种格式的文档中提取主要内容的方法。自然语言处理部分从统计机器学习的原理出发,包括了中文分词与词性标注的理论与实现以及在搜索引擎中的实用等细节,同时对文档排重、文本分类、自动聚类、句法分析树......一起来看看 《解密搜索引擎技术实战》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换