环境描述:

1.设备A IP:192.168.0.2 位置: 公司内网地址

2.设备B IP:1.1.1.1 位置: 阿里云公网服务器

设备A为内网服务器,但是能够连接外网,只是不让外网访问,设备B为阿里云公网服务器。

应甲方要求,需要在指定的设备A上部署环境、服务,但是进行功能测试时,要通过公网通信。

设备A只有内网IP,可以访问公网,但是公网无法主动访问设备A,所以现在需要把设备A上的服务映射到设备B上。

映射过程:

1.通过SSH端口转发,将设备A的服务映射到设备B上(因为设备B无法主动连接设备A,所以要在设备A上进行SSH远程端口映射)

在设备A上执行:ssh -o ServerAliveInterval=60 -f -N -R 8080:192.168.0.2:8443 test@1.1.1.1

此命令的作用为:将本机上的服务端口8443,映射到设备B(1.1.1.1)的8080端口,当用户访问设备B的8080端口时,请求会转发到本机的8443端口上,具体是如何实现SSH隧道转发,这里不再描述,有兴趣可以自己搜索资料。

Tips:这里有一个参数 -o ServerAliveInterval=60 必须要加上,不加此参数在长时间无操作的情况下ssh会超时,导致映射断开,此参数为每隔60s向ssh server端发送keep-alive包,保持ssh连接,防止超时

2.经过步骤1的操作,此时已经可以在设备B上看到监听的8080端口了,但是你会发现监听的IP为127.0.0.1这个回环地址(ssh远程映射只能映射远程设备的127上,没有任何办法可以改变),127是无法被外界直接访问的,所以这里我们还需要通过防火墙做一个DNAT,改变原始请求的目的地址(端口)

在设备B上执行:iptables -t nat -A PREROUTING -p tcp --dport 8443 -j DNAT --to-destination 127.0.0.1:8080

此命令的作用为:将访问本机8443端口的TCP报文转发至本机的127.0.0.1的8080端口上

Tips:iptables添加以上规则时,Linux系统出于安全考虑,是不允许将请求转发至127.0.0.1这个回环地址上的,所以我们需要修改内核参数。

sysctl -w net.ipv4.conf.eth0.route_localnet=1

此时就可以将报文DNAT到127地址了。

经过以上两步操作,现在访问1.1.1.1:8443端口即访问192.168.0.2的8443端口

内网地址映射到公网地址相关推荐

  1. linux的内网地址映射到公网地址

    1.启用网关服务器路由转发功能[root@localhost~]# vi /etc/sysctl.confnet.ipv4.ip_forward=1 [root@localhost~]# sysctl ...

  2. NAT环境下,内网用户使用公网地址访问内网服务器

    一.环境 1.单位内部有一台服务器,提供web.ftp.ssh等服务,ip地址为私网地址. 2.出口使用cisco路由器,做端口映射,使服务器对外提供服务. 3.内部用户可以通过私网地址访问服务器,外 ...

  3. java判断内网ip_Java判断IP地址为内网IP还是公网IP的方法

    本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8 ...

  4. 云服务器的内网IP和公网IP应该怎么理解?有什么用?

    在配置小鸟云服务器的过程中,因为在新手期,遇到一些有关于内网IP和公网IP的问题,包括: 1.内网IP和公网IP是什么? 2.内网IP和公网IP有什么用? 3.可以使用外网IP访问内网服务器吗? 4. ...

  5. 内网主机通过公网域名解析访问内网服务器,存在什么问题,如何解决?

    发生问题:数据通信无法实现 根本原因:DNS域名解析解析出来是公网地址,就是内网用户向外网用户发送DNS查询,外网DNS会给内网用户回复,如果防火墙上面加了DNS参数,防火墙就会监控DNS回包,如果发 ...

  6. 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 8-8

    系列文章 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 1-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 2-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可 ...

  7. 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 4-8

    系列文章 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 1-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可访问 2-8 群晖NAS 7.X版搭建博客网站,并内网穿透发布公网可 ...

  8. 群晖NAS搭建WebDav服务,并内网穿透实现公网访问

    WebDAV是基于HTTP协议的通信协议.适用于有些客户限制于其他协议,要求使用WebDAV协议进行数据传输的,下面是通过WebDAV协议来访问群晖NAS的设置教程. 1. 在群晖套件中心安装WebD ...

  9. Mac下Sunny_Ngrok内网地址映射成外网

    我们本地Tomcat服务器访问的时候一般是127.0.0.1加端口号,比如:http://127.0.0.1:8080 但是这个只有统一局域网的设备才能访问,比如我们想发布一个外部网络也可以访问的we ...

  10. 树莓派(raspberry pi)日记1之个人网站的构建(localhost内网穿透实现公网可以访问)

    树莓派(raspberry pi)日记1之个人网站的构建(localhost内网穿透实现公网可以访问) 板子:raspberry pi 3B+ // 作者:shawn 2021.2.9 14:10 A ...

最新文章

  1. 计算机网络——知识结构体系
  2. 【SRIO】2、RapidIO串行物理层的包与控制符号
  3. jupyter notebook 进阶使用:nbextensions
  4. Python如何导入自己编写的py文件
  5. 实验4-2-3 pta验证“哥德巴赫猜想” (20分)
  6. Linux测量进程内存峰值,linux / unix进程的峰值内存使用情况
  7. 业界资讯:adobe air 2.7 beta发布
  8. 随机数演示(窗体应用程序)
  9. android开发GPS定位测试(附效果图和示例)【转】
  10. 简易php access文章管理系统,PHP+ACCESS 文章管理程序代码
  11. Bailian2910 提取数字【DFA】
  12. HTML5 和 JavaScript 特效
  13. Fiddler工具介绍一
  14. 2022年华数杯数学建模
  15. 什么是IEC球压测试?
  16. 查询最近12个月的数据SQL语句
  17. 这是一款功能强大的开源 Python 绘图库
  18. 技术出身能做好管理吗?——能!
  19. 微信PC版史诗级更新,终于摆脱手机了!
  20. 康耐视3D-DSMax图像采集详细操作流程

热门文章

  1. win10熄屏时间不对_详解win10屏幕熄屏时间设置教程
  2. matlab 误码曲线,用matlab画误码率曲线
  3. mysql join 从库_Mysql实现跨库join查询
  4. 未来大数据的主要应用领域包括哪些
  5. python中index什么意思_index在python中是什么意思
  6. 女人总浑身都没有力气怎么回事儿
  7. 解决移动浏览器不能正确转化时间
  8. 今年最热门的十大编程语言排行榜新鲜出炉,第一名着实出乎意料
  9. ckplayer6.8 php播放,ckplayer官方版下载-ckplayer播放器v6.8 最新版 - 极光下载站
  10. cisco路由器配置