用最直白的语言对本文所有内容进行定义:

端口转发(-L):用A机器(内网)登录B机器(公网), 在A机器打开端口,将收到的所有请求转发到B机器的某个端口 (在代理机上执行)

内网穿透(-R):用A机器(内网)登录B机器(公网),在B机器打开端口,将收到的所有请求转发回A机器的某个端口 (被代理机上执行)

例:端口转发

服务器A 内网IP  192.168.1.100   (不可访问外网)

服务器B 内网IP  192.168.1.101  外网IP 113.106.16.160

要求:通过连接B的外网 113.106.16.160:2222端口<映射> A的内网IP  192.168.1.100:22端口

ssh -f -N -L 代理(前台)IP:2222:被代理(后台):22 root@代理(前台)IP

ssh -f -N -L *:2222:192.168.1.100:22 root@113.106.16.160

访问代理B的2222等于访问服务器A 192.168.1.100的22口(在代理机B上执行)

场景:实用于没有对没有外网的服务器的通过端口转发访问-共享内网资源

例:内网穿透

公司服务器A 内网IP  192.168.1.100 (可访问外网)

阿里服务器B 内网IP  10.1.9.10         外网IP 113.106.16.160

要求:C 通过B的113.106.16.160:2222端口<映射>A的内网IP  192.168.1.100:22端口

ssh -f -N -R 代理(前台)IP:2222:被代理(后台):22 root@被代理(后台)IP

ssh -f -N -R *:2222:localhost:22 root@113.106.16.160 (被代理A上执行)

访问代理B的2222等于访问服务器A 192.168.1.100的22口(被代理A上执行)

场景:实用于公司内网电脑可以访问外网但不能被外网访问,在不使用VPN的情况下,内网穿透-访问内网资源

注意:进行内网穿透的时候默认只能穿透到远端服务器,远端服务器监听的是127.1的ip,想要监听公网ip的话需要打开sshd的GatewayPorts

参数:
-q 是静默执行,不提示多余信息,
-f 是后台执行,即ssh进程执行为后台进程,登录后即刻返回命令行,
-D 就是本地打算使用的转发端口
-f "sleep 30d"#30天有效 (-N 一直有效)
-C 压缩数据传输
-N 不执行脚本或命令,仅仅做端口转发 通常与-f连用
-L 将本地机(客户机)的某个端口转发到远端指定机器的指定端口
-R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口
-g 表示允许远程主机连接转发端口

SSH全透明代理

ssh -nNTf -D localhost:26 root@113.106.16.160

代理脚本下载:http://pac.itzmx.com/ #只需要把abc.pac 的前句服务器地址改成自己的服务器和端口

安装nginx: yu -y install nginx

把abc.pac 移动到 /usr/share/nginx/html 

在client机器上设置IE代理:

SSH 端口转发+内网穿透的更多相关文章

  1. iptables 端口转发--内网实现上网

    iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 118.x.x.xiptables -A FORWARD -s ...

  2. ssh 端口转发实现外网 80 端口映射到内网 80 端口

    开发中经常需要外网服务映射到本机内网服务的需要,便于调试. 以前都是同事帮着配,这两天自己也看了一下 ssh 端口转发. 同事分分钟钟搞定的事情,自己折腾了 2 天, 真是弱爆了. 最初老想不明白一件 ...

  3. rein 多平台支持的超便携端口转发与内网穿透工具

    介绍 本程序主要用于进行反向代理IP地址和端口,功能类似于 nginx 的 stream 模式和rinetd 的功能:在(1.0.5)版本开始,rein支持内网穿透,这一功能类似于frp 和ngrok ...

  4. 基于frp的内网穿透实例1-通过SSH访问内网机器

    原文地址:https://wuter.cn/1804.html/ 老母鸡终于到了,作为一个能运行linux系统的四核1G硬件,它还是比较小巧的. FRP 全名:Fast Reverse Proxy.F ...

  5. 使用frp进行内网穿透,实现ssh远程访问Linux服务器

    搭建一个完整的frp服务链需要: VPS一台(也可以是具有公网IP的实体机) 访问目标设备(就是你最终要访问的设备) 简单的Linux基础(如果基于Linux配置的话) 我这里使用了腾讯云服务器作为服 ...

  6. NAT、端口映射、内网穿透、公网IP都是啥

    原文地址:https://wuter.cn/1756.html/ 一.IPv4地址 IP协议是为计算机网络相互连接进行通信而设计的协议,它是能使连接到网上的所有计算机网络实现相互通信的一套规则. 这里 ...

  7. NATAPP--实现SSH内网穿透

    NATAPP--实现SSH内网穿透 1. 关于Natapp 2. 使用Natapp 3. Natapp安装和配置 4. XShell连接 相关参考博文原文地址: CSDN:KevenPotter:NA ...

  8. Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问

    Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问 1.使用场景: 需求1.家中服务器 ubuntu 主机,跑接口服务,需要对外暴漏, 需求2.同时需要在外网ssh远程 ​ 关键词: frp内网 ...

  9. p2p-tunnel 打洞内网穿透系列(三)TCP转发访问内网web服务

    系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...

随机推荐

  1. android.os.NetworkOnMainThreadException异常

    在android4.0以前,访问网络的代码可以写在UI主线程,但是在android4.0以上就不能在ui主线程中访问网络了,会出现android.os.NetworkOnMainThreadExcep ...

  2. PHP往mysql数据库中写入中文失败

    该类问题解决办法就是 在建立数据库连接之后,将该连接的编码方式改为中文. 代码如下: $linkID=@mysql_connect("localhost","root&q ...

  3. super作用

    super()的作用: super可以用来访问超类的构造方法和被子类所隐藏的方法,如果子类中有方法与超类中的方法名称和参数相同,则超类中的方法就被隐藏起来,也就是说在子类中重载了父类中的方法. 引用父 ...

  4. 关于容器为NavigationControlle时,view的起始位置的问题

    在iOS 7中,苹果引入了一个新的属性“EdgesForExtendedLayout”,默认值为UIRectEdgeAll,默认的布局将从navigationbar的顶部开始,这就是为什么所有元素都往 ...

  5. Windows多网卡上网设置

    http://blog.tianya.cn/blogger/post_show.asp?BlogID=1566293&PostID=12984307

  6. grunt安装与配置

    安装 CLI npm install -g grunt-cli//全局安装 npm init //初始化package.json npm init   命令会创建一个基本的package.json文件 ...

  7. UE4 UriEncode 问题

    当Uri 路径中带中文字符时,需要进行编码 否则会照成不可预见错误: FString temp = FGenericPlatformHttp::UrlEncode(queryStr); FString ...

  8. travel for django

    参考博客:http://www.cnblogs.com/wupeiqi/articles/5237672.html 一:框架的本质: 最原始的框架:服务端一个简单的socket,接收客户端发出的请求, ...

  9. EtherType

    EtherType is a two-octet field in an Ethernet frame. It is used to indicate which protocol is encaps ...

  10. Twitter API 申请key

    最近听了一下coursera的python课(https://www.coursera.org/learn/python-network-data/home/welcome),讲的挺简单也挺有意思.其 ...