环境描述:

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端口

linux 内网服务 端口,LINUX 内网设备将服务映射到公网地址相关推荐

  1. linux内网服务器映射到公网地址吗,LINUX 内网设备将服务映射到公网地址

    环境描述: 1.设备A IP:192.168.0.2 位置: 上海 2.设备B IP:1.1.1.1 位置: 北京 设备A为甲方提供的实验室中的设备,设备B为乙方公网设备. 应甲方要求,需要在指定的设 ...

  2. linux内网发现登录设备,LINUX 内网设备将服务映射到公网地址

    环境描述: 1.设备A IP:192.168.0.2 位置: 上海 2.设备B IP:1.1.1.1 位置: 北京 设备A为甲方提供的实验室中的设备,设备B为乙方公网设备. 应甲方要求,需要在指定的设 ...

  3. 外网访问内网80端口【内网穿透】

    微信公众号开发.本地搭建web服务器,或者在本地服务器搭建了IIS或apache等web网站时,需要解决80端口映射的问题. 但很多人在路由器映射80端口的时候,会出现映射失败的情况.造成这种情况的原 ...

  4. Server-U 访问外网服务器指定端口(内网21端口,外网其他端口)

    1.安装server-u,创建用户和域自行百度. 2.先使用同一局域网使用xftp或FileZilla工具进行测试,同一网端无法连接成功请自行百度,这里不详细描述. 3.内外网映射 例如:内网使用ft ...

  5. linux 关闭web服务器端口,linux(solaris)下如何关掉端口及服务

    linux下的方法: 使用命令netstat -ntlp查找到端口号所对应的进程号,然后使用ps -ef查找所对应的具体的进程(名称),然后将该进程kill掉就可以了: chkconfig --lis ...

  6. 如何起Linux服务器的21端口,linux下开启ftp的21号端口

    linux下开启ftp的21号端口 1.先运行vsftpd服务: #service vsftpd start 2.通过iptables开放21号端口 (1) 先查看iptables设置: #iptab ...

  7. linux防火墙配置80端口,Linux配置防火墙 开启80端口

    Linux配置防火墙 开启80端口的方法 命令行输入: vi /etc/sysconfig/iptables 将 -A INPUT -m state --state NEW -m tcp -p tcp ...

  8. linux查询php占用端口,linux如何查看端口占用

    Linux查看端口占用的方法有:lsof -i方法用于查看某一端口的占用情况:netstat -tunlp|grep方法用于查看指定的端口号的进程情况 我们在在项目的部署的时候,经常会碰到端口占用的问 ...

  9. linux查看远程服务器端口,linux下查看本机和远程服务器的端口是否连通的方法...

    linux下查看本机和远程服务器的端口是否连通的方法 如下所示: 1.ssh -v -p [端口号] [用户名]@[IP地址] 2.curl [IP地址]:[端口号] 以上这篇linux下查看本机和远 ...

  10. linux通过进程看端口,linux下通过进程名查看其占用端口

    linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...

最新文章

  1. linux修改主机名+免密认证+关闭防火墙
  2. 电厂运维的cis数据_变配电智能化运维作用和优点,智慧供配电物联网
  3. 将原生SQL功能休眠到您的Spring Data Repository中
  4. 8. Dropout and Strides For Larger Models
  5. 从头搭建一个深度学习框架
  6. Series与DataFrame数据类型操作基础
  7. Android(Fragment和Activity之间通信)
  8. 【JAVASCRIPT】如何不使用jquery函数和ajax框架实现ajax效果
  9. cocostudio的TextField空件实现光标。
  10. 仓储扫描管理系统服务器价格,仓储条码管理系统解决方案报告书.doc
  11. 鼠标滑轮成了页面缩放的解决方法
  12. js pug 代码_前端开发nodejs+pug——注册登录
  13. VSCode自定义网络背景皮肤
  14. 春招面经总结(获携程Offer)
  15. uniapp框架+app打包发布
  16. 彗星虚表操作模块1.1-百万数据毫秒级加入超级列表框-增加数据库绑定
  17. 浅析侧供给结构性改革及三去一降一补
  18. 从零开始学Python练习题(一)
  19. 跟小伙伴一起分享cfa考一、二级经验。
  20. 【龙芯1B】:LCD显示图片文字背景色前景色、小创语音控制lcd显示、数码管倒计时

热门文章

  1. WPS个人版安装VBA教程
  2. PI3HDX1204B
  3. Delphi XE 操作sqlite数据库
  4. MySQL数据教程(一)数据库概念,超详细安装和配置数据库,数据库可视化界面介绍
  5. (原创) 心电图机静态心电自动分析算法介绍
  6. 【大数据课程设计】出租车轨迹数据分析
  7. 黑客挂马木马病毒研究 黑客木马的攻击与防止 木马的威力 木马运作流程 黑客的高明 社工学用户行为分析...
  8. vm虚拟机的安装使用装系统有序列号
  9. SQL注入漏洞 攻击
  10. GJB 150A军用设备环境试验方法低气压(高度)试验测试报告