Linux端口映射转发的方法
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,前言当我们在对接第三方的时候,免不了会遇到白名单限制问题,导致我们本地开发环境受限,不能调用接口。难以完成整个业务流程。分析如下场景:比如第三方有台机器 IP 为 1.1.1.1 端口8080正式环境
千家信息网最后更新 2025年02月05日Linux端口映射转发的方法
前言
当我们在对接第三方的时候,免不了会遇到白名单限制问题,导致我们本地开发环境受限,不能调用接口。难以完成整个业务流程。
分析如下场景:
比如第三方有台机器 IP 为 1.1.1.1 端口8080
正式环境为1.1.1.1:8080/pro/api
测试环境为1.1.1.1:8080/test/api
但是第三方的机器不允许任何IP都可以调用,他们只允许你方一台机器加入白名单
比如你线上的一台机器IP是2.2.2.2已经加入白名单,这没问题。
但是你要做开发 要调用他们测试环境的API,却发现调用不了,而且你总不能在2.2.2.2上面写代码调试吧。
解决方案
跳板服务
如果既然不能直接调用1.1.1.1 那么完全让2.2.2.2写个服务,作为跳板,也就是把我们的请求给2.2.2.2,然后2.2.2.2再原封不动传给1.1.1.1
Nginx转发
这个会比跳板服务简单多了。只要2.2.2.2 开启nginx
listen 8080;location /test/api/{ proxy_pass 1.1.1.1:8080;}
端口映射
无论是跳板服务还是nginx转发 我们要做的事情就更多了。所以我们要想到另一种思路。就是2.2.2.2这台机器能不能帮我转发,只是作为一个中间者。就是我请求了2.2.2.2:8080 实际上请求到了是1.1.1.1:8080。即为端口映射。上面两种方案仅仅是用在http。那如果是其他协议呢 比如说sftp(ssh) ftp。也仅仅只有此方案能胜任。
- vi /etc/sysctl.conf开启允许端口转发。net.ipv4.ip_forward =1(CentOS7则是在 /usr/lib/sysctl.d/50-default.conf额外添加)
- iptables -t nat -A PREROUTING -p tcp -d 2.2.2.2 --dport 8080 -j DNAT --to-destination 1.1.1.1:8080 转发请求
- iptables -t nat -A POSTROUTING -p tcp -s 1.1.1.1 --sport 8080 -j SNAT --to-source 2.2.2.2:8080 转发接收
2.2.2.2 8080 转发到1.1.1.1:8080 (其他行情百度,也可以实现本地机器端口转发)
- service iptables save 保存设置
- service iptables restart 重启防火墙
总结
反正就是,多了解Linux,有些时候可以利用Linux知识来解决业务问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
机器
端口
就是
环境
跳板
服务
名单
方案
第三方
问题
业务
时候
开发
测试
原封不动
业务流程
也就是
事情
代码
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术 基础教程
app软件开发人才网
查询无法进行请检查数据库服务器
迅网网络技术
株洲东塔网络安全学院白盒测试
游戏软件开发专业专科学校
北京 软件开发
移动互联网社交网络技术
上海浦东软件开发项目
组态王自带数据库实例
东塔网络安全怎么样
学院网络安全周活动总结
邯郸高新网络技术
服务器依赖库
汕头市左左网络技术
数据库相关知识视频
监控系统中心管理服务器
数据库sql的内容
银行信息网络安全宣传片
前端技术怎么连接到数据库
大数据软件开发有多难
服务器磁盘写入故障
手机打不开万方数据库吗
大学生软件开发流程
建行软件开发中心北京地址
我想要自学编程和软件开发
开源视频服务器
升级服务器还需要安装系统吗
数据库生成表格
互联网科技碰撞测试