ssh 搭建代理服务器

栏目: 服务器 · 发布时间: 6年前

内容简介:环境把 client 的某个端口流量通过 ssh 转发到 server, ssh client 端口会连到 server 上可以搭建简单的代理服务器

ssh 搭建代理服务器

环境

  • A 192.168.111.2
  • B 192.168.111.3
  • C 192.168.111.4

端口转发分类

  • 本地端口转发
  • 远程端口转发

本地端口转发

把 client 的某个端口流量通过 ssh 转发到 server, ssh client 端口会连到 server 上

# 格式
# ssh -L <local port>:<remote host>:<remote port> <SSH hostname>
ssh -L 2222:localhost:22 192.168.111.3 # 只有本机可连接
ssh -gL 2222:localhost:22 192.168.111.3 # 其他主机连接
ssh 127.0.0.1 -p 2222 <等同于> ssh 192.168.111.3 -p 22

远程端口转发

# 命令格式如下:
# ssh -R <remote port>:<local host>:<local port> <SSH hostname>
root@client $ ssh -R 2222:localhost:22 192.168.111.3
# 在 Server 上连接本地的 2222 端口等同于连接 Client 的 22 端口
root@server $ ssh 127.0.0.1 -p 2222  <等同于>  root@server $ ssh 192.168.111.2 -p 22
# 远程端口转发不能通过设置 -g 选项使外部主机连接 Server 的 2222 端口

动态端口转发

可以搭建简单的代理服务器

# 根据数据包的目的IP和目的端口实现动态转发的,工作机制类似于代理
# 命令格式如下:
# ssh -D <local port> <SSH hostname>
root@client $ ssh -D 1080 192.168.111.3
root@client $ ssh -gD 1080 192.168.111.3
# 发往 Client 1080 端口的数据包将通过 SSH 连接发往 Server ,并在 Server 上重新发起请求

端口转发实践

防火墙穿透

A 通过 B 去连接 C的 mysql

# 在 A 上执行
root@A ssh -gL 3306:192.168.111.4:3306 192.168.111.3 -p 22

内网穿透

需要做两次端口转发:一次远程端口转发把公网的 2221(因为绑定在 lo 上,所以只能本机访问) 端口转发到家庭主机的 22 端口,一次本地端口转发把公网的 2222 端口转发到 2221 端口

root@home $ ssh -R 2221:localhost:22 35.194.*.* # 家庭主机操作
root@public $ ssh -gL 2222:localhost:2221 localhost # 公网 IP 操作
user@anywhere $ ssh -D 1080 35.194.*.* -p 2222 # 任意主机操作
# 如果想访问家庭网络中其他主机上的资源的话,只要指定这个代理即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

趋势红利

趋势红利

刘润 / 文化发展出版社(原印刷工业出版社) / 2016-6-1 / 45.00

【编辑推荐】 1、国内顶尖的互联网转型专家,海尔、百度等知名企业战略顾问刘润送给传统企业的转型、创新“导航仪”,这个时代企业家的必修课 站在近200年商业全景图角度,刘润发现三种企业类型(产品型、渠道型、营销型),针对不同企业类型定制转型战略(找到自己的未来红利),方便 传统企业对号入座:不走错路就是节省时间,适合自己的最有效率。 本书内容还源自芬尼克兹、红领集团、名创优品、必要......一起来看看 《趋势红利》 这本书的介绍吧!

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

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试