不使用端口映射,让自己的内网服务器的某个端口映射到外网
来源:互联网 发布:linux安装扫描漏洞 编辑:程序博客网 时间:2024/06/03 18:55
最近在外地出差,
因为代码服务器放在内网,而因为某些原因,公司的宽带并没有公网地址,所以在外地就没有办法拉取git代码了,
经过多方查找,终于找到了一个好点的解决方案。即使用SSH的返向连接,建立一个临时通道。到我阿里云外网的一台主机上,然后访问阿里云的那台主机就相当于访问内网的这台主机,类拟于建立了一个VPN。
前提条件:有一个外网能访问的主机。操作系统linux A IP是:20.22.22.31
内网有一台也是linux系统,B 192.168.0.10
假设我内网的git 服务器在C上,端口是80 192.168.0.11
做法如下:
在B机器上执行如下命令:
ssh -s -N -R 20.22.22.31:83:192.168.0.11:80 root@20.22.22.31
然后输入密码
这时。在服务器上就可以看到有一个监听了一个83端口:
tcp 0 0 127.0.0.1:83 0.0.0.0:* LISTEN 2734/sshd
这里,就打通了服务器上的83端口到192.168.0.11的80端口的通道。
但这个端口是监听127.0.0.1的,也就是说只能在服务器上能访问,
这是在服务器上,再通过nginx进行端口映射上到外网
在nginx的http里加上:
upstream git {
server 127.0.0.1:83;
}
server{
listen 80;
server_name git.xxx.cn;
location /{
root html;
index index.html index.php;
proxy_pass http://git;
}
}
这相就可以通过git.xxx.cn来拉代码了。
发果不想通过nginx进行转发,可以开启SSD的端口转发功能,
vi /etc/ssh/sshd_config
找到:
#GatewayPorts yes
把前面注释去掉。
然后在ssh -s -N -R那条命令上加上以下参数:
-o GatewayPorts=yes
这时,服务器上的83端口监听的域名就变成0.0.0.0:83了 可以很方便的直接进行访问了。
- 不使用端口映射,让自己的内网服务器的某个端口映射到外网
- 端口映射器与端口映射软件的区别及内网发布网站到外网的使用
- Centos服务器的端口映射
- 自己搭建服务器通过外网访问内网的方法(端口映射、内网穿透、重定向等)
- 内网网站发布到外网的路由器端口映射方法
- 虚拟服务器的路由端口映射
- [内网端口映射]内网端口映射ubuntu
- 外网访问内网服务器 端口映射
- 内网机器端口的主机(内网主机)端口映射
- 通过路由器的端口映射实现外网对局域网内WEB服务器的访问
- ssh反向隧道实验——没有端口映射的前提下,让外网访问内网服务器
- 端口映射,灰鸽子内网端口映射,灰鸽子映射
- 使用virtualbox的端口映射功能
- 内网端口映射
- ftp内网端口映射
- 内网端口映射
- 端口映射 内网穿透
- 内网端口映射软件之80端口映射全端口映射
- win7 DOS utf-8汉字乱码的问题
- IOS10、XCode8开发的记事本(适合初学者)
- Nginx安装(一把成)
- scala 2.11 没有Application特质
- TensorFlow新手实战破验证码(1)
- 不使用端口映射,让自己的内网服务器的某个端口映射到外网
- ssl1007 and ssl -最大乘积 and 加法最大【区间dp练习】
- New B——C语言简介
- 三天三夜!2017钛媒体T-EDGE年度国际盛典狂欢派对正式开始~丨钛空舱福利秒杀进行中
- 代码优化
- 数据恢复软件 R-Studio 官方中文破解版V8.5.170097下载 | 含r-studio 注册码
- XListView 的使用(上啦加载 下拉刷新)(demo)
- 洛谷P1251:网络流24题——餐巾计划问题
- LeetCode小白菜笔记[6]:Valid Parentheses