开发中经常需要外网服务映射到本机内网服务的需要,便于调试。

以前都是同事帮着配,这两天自己也看了一下 ssh 端口转发。 同事分分钟钟搞定的事情,自己折腾了 2 天, 真是弱爆了。

最初老想不明白一件事,为什们外网服务器能够找到我的内网机器,现在才明白原来走的是 ssh 隧道。

需求我的内网机器  192.168.9.100, 我的阿里云外网 123.56.86.52,  现在需要所有对 123.56.86.52  80 端口的访问都映射到  192.168.9.100 的 80 端口。

显然 123.56.86.52 访问不到  192.168.9.100, 但 192.168.9.100 能访问到 123.56.86.52 , 所以很简单 ssh 建立一个远程端口转发就行了。

1  在 192.168.9.100 上执行

ssh -N -v -R 3000:127.0.0.1:80 root@123.56.86.52

-R 表示远程转发,  这句话的意思是 通过 ssh 连接到 123.56.86.52,让 123.56.86.52 监听自己的 3000 端口, 所有通过 3000 端口的数据都通过 ssh 转发到 127.0.0.1 的 80 端口。

这里 127.0.0.1 就是 192.168.9.100 这个机器。  在  ssh 连接的时候通道就建立了, 以后所有的通信都走的是这个通道。

2 既然  123.56.86.52 已经监听在 3000 端口了, 接下来就非常简单了,  服务器上用 nginx 做一个反向代理, 把  80 端口代理到  3000 端口就行了

123.56.86.52 上 nginx 配置如下

location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}

现在外网就成功映射到了我的内网机器

看着同事们 ssh 各种打洞, 各种玩法, 只能膜拜。  ssh 功能强大,通过 ssh 可以在家里随便访问公司内网电脑, 在公司内网电脑也可以远程操作家里的内网电脑。

想学好 ssh 的同学推荐一本书  SSH -The Definitive Guide, 2nd Edition.pdf ,抽空我也要好好学一下。

但最重要的还是要理论结合实际,多看多练。

ssh 端口转发实现外网 80 端口映射到内网 80 端口的更多相关文章

  1. linux下内网端口转发工具:linux版lcx [实现远程内网维护]

    这个工具以前使用的初衷是内网渗透,需要将内网ssh端口转发到外网服务器上.但这个工具同样适用于运维工程师进行远程内网维护. 当然这一切的前提是内网可以访问外网,检测方法当然就是直接ping 一个外网I ...

  2. frp端口映射穿透内网

    前言 frp 是一个高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务,支持 TCP.UDP.HTTP.HTTPS 等协议类型,并且 web 服务支持根据域名进行路由转发. Github: ...

  3. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践

    欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...

  4. 通过rinetd实现端口转发,同时访问阿里云RDS的内外网

    配置方法如下: 1 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz& ...

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

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

  6. iptables后,外网访问网站可以,内网无法访问【已解决】

    最近,到处看到有人问这个问题,怎么以前没人问,现在这么多人问呢?前两天我还在华为的论坛上仔细的说了这个问题,现在复制到这边来.希望能帮助大家理解这个问题. 这是个理论问题,我们先从NAT讲起:NAT有 ...

  7. CentOS下OpenVPN实现公网IP映射到内网(iptables转发功能)(转)

    说明:这种方案的实现前提是必须要有一台拥有公网IP的电脑,OpenVPN搭建过程很普通,关键技术在于iptables的转发.搭建教程可能有点旧了,可以只看iptables的关键点技术. 方案背景: 公 ...

  8. frp内网 穿透映射使内网svn可外网访问

    起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...

  9. 网吧局域网里的设置外网IP地址、设置内网IP地址、限制内网速度和路由器共享

    现在啊,网吧的需求越来越高,同时在经济比较充裕的情况下,作为网吧的老板可能希望打造全千兆的网吧,让每个进入网吧的人都能充分体验高速的感觉,当然更重要的是在同行竞争中处于上游,特别是对网络游戏爱好者的吸 ...

随机推荐

  1. Eclipse下配置主题颜色

    插件地址  http://eclipse-color-theme.github.com/update 安装之后 下载安装好之后,点击window -> preferences -> Gen ...

  2. 关于validate的自定义样式

    $("#Form").validate({ rules: { name: "required" }, messages: { name: "请输入您的 ...

  3. Linux或者window装svn

    Centos7搭建SVN Server手记 安装svn和依赖模块 yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql ...

  4. hdu 1542/1255 Atlantis/覆盖的面积

    1542 1255 两道扫描线+线段树的入门题. 基本没有什么区别,前者是模板,后者因为是求覆盖次数至少在两次以上的,这个同样是具有并集性质的,所以把cover的判断条件更改一下就可以了qwq. hd ...

  5. 忘记Oracle用户名和密码

    方法一: 看看是不是Oracle服务器没有打开 打开cmd,输入sqlplus /nolog,回车---->进入sqlplus; 输入“conn /as sysdba”:以超级管理员的方式连接数 ...

  6. Delphi XE8中的DBExpress使用ODBC方式连接MySQL 5.6.24 X64!!!!

    Delphi:XE2.XE8 MySQL:5.6.24 X64 今天准备做一个使用数据库的REST程序,最开始使用XE2,后来使用XE8,但是我遇到一个让我头疼的问题,就是无法连接我要使用的数据库,这 ...

  7. 不建议使用*{margin:0; padding:0}?

    是不建议用的,应该把具体的标签名都列出来,有时别人在写示例时为了方便会直接这么写; body{ magin:0;padding:0; }这种,就是清除浏览器有可能默认设置边距: 因为“在全局范围使用* ...

  8. jquery展开收缩列表

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  9. ubuntu 12.0.4 下python3.x web环境搭建

    ubuntu 12.0.4 安装python3.x 1. $ sudo add-apt-repository ppa:fkrull/deadsnakes$ sudo apt-get update$ s ...

  10. CentOS6.5更改语言设置

    yum grouplist |grep cn yum groupinstall “Chinese Support”——————————————yum groupinstall “Desktop”vi ...