linux 内网服务 端口,LINUX 内网设备将服务映射到公网地址
环境描述:
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 内网设备将服务映射到公网地址相关推荐
- linux内网服务器映射到公网地址吗,LINUX 内网设备将服务映射到公网地址
环境描述: 1.设备A IP:192.168.0.2 位置: 上海 2.设备B IP:1.1.1.1 位置: 北京 设备A为甲方提供的实验室中的设备,设备B为乙方公网设备. 应甲方要求,需要在指定的设 ...
- linux内网发现登录设备,LINUX 内网设备将服务映射到公网地址
环境描述: 1.设备A IP:192.168.0.2 位置: 上海 2.设备B IP:1.1.1.1 位置: 北京 设备A为甲方提供的实验室中的设备,设备B为乙方公网设备. 应甲方要求,需要在指定的设 ...
- 外网访问内网80端口【内网穿透】
微信公众号开发.本地搭建web服务器,或者在本地服务器搭建了IIS或apache等web网站时,需要解决80端口映射的问题. 但很多人在路由器映射80端口的时候,会出现映射失败的情况.造成这种情况的原 ...
- Server-U 访问外网服务器指定端口(内网21端口,外网其他端口)
1.安装server-u,创建用户和域自行百度. 2.先使用同一局域网使用xftp或FileZilla工具进行测试,同一网端无法连接成功请自行百度,这里不详细描述. 3.内外网映射 例如:内网使用ft ...
- linux 关闭web服务器端口,linux(solaris)下如何关掉端口及服务
linux下的方法: 使用命令netstat -ntlp查找到端口号所对应的进程号,然后使用ps -ef查找所对应的具体的进程(名称),然后将该进程kill掉就可以了: chkconfig --lis ...
- 如何起Linux服务器的21端口,linux下开启ftp的21号端口
linux下开启ftp的21号端口 1.先运行vsftpd服务: #service vsftpd start 2.通过iptables开放21号端口 (1) 先查看iptables设置: #iptab ...
- linux防火墙配置80端口,Linux配置防火墙 开启80端口
Linux配置防火墙 开启80端口的方法 命令行输入: vi /etc/sysconfig/iptables 将 -A INPUT -m state --state NEW -m tcp -p tcp ...
- linux查询php占用端口,linux如何查看端口占用
Linux查看端口占用的方法有:lsof -i方法用于查看某一端口的占用情况:netstat -tunlp|grep方法用于查看指定的端口号的进程情况 我们在在项目的部署的时候,经常会碰到端口占用的问 ...
- linux查看远程服务器端口,linux下查看本机和远程服务器的端口是否连通的方法...
linux下查看本机和远程服务器的端口是否连通的方法 如下所示: 1.ssh -v -p [端口号] [用户名]@[IP地址] 2.curl [IP地址]:[端口号] 以上这篇linux下查看本机和远 ...
- linux通过进程看端口,linux下通过进程名查看其占用端口
linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...
最新文章
- linux修改主机名+免密认证+关闭防火墙
- 电厂运维的cis数据_变配电智能化运维作用和优点,智慧供配电物联网
- 将原生SQL功能休眠到您的Spring Data Repository中
- 8. Dropout and Strides For Larger Models
- 从头搭建一个深度学习框架
- Series与DataFrame数据类型操作基础
- Android(Fragment和Activity之间通信)
- 【JAVASCRIPT】如何不使用jquery函数和ajax框架实现ajax效果
- cocostudio的TextField空件实现光标。
- 仓储扫描管理系统服务器价格,仓储条码管理系统解决方案报告书.doc
- 鼠标滑轮成了页面缩放的解决方法
- js pug 代码_前端开发nodejs+pug——注册登录
- VSCode自定义网络背景皮肤
- 春招面经总结(获携程Offer)
- uniapp框架+app打包发布
- 彗星虚表操作模块1.1-百万数据毫秒级加入超级列表框-增加数据库绑定
- 浅析侧供给结构性改革及三去一降一补
- 从零开始学Python练习题(一)
- 跟小伙伴一起分享cfa考一、二级经验。
- 【龙芯1B】:LCD显示图片文字背景色前景色、小创语音控制lcd显示、数码管倒计时