iptables 内网转发

 

 

linux系统

1.准备环境

云服务器  193.112.1.43(公)172.16.0.23(内)

数据库pgsql   内网 172.16.32.98:5432                   同一私有网络,默认内网互通

2.云服务器上做如下转发

iptables -t nat -A PREROUTING -d 172.16.0.23 -p tcp --dport 5432(服务器端口) -j DNAT --to-destination 172.16.32.98:5432       #目的地址转换

iptables -t nat -A POSTROUTING -d 172.16.32.98 -p tcp --dport 5432(数据库端口) -j SNAT --to-source 172.16.0.23                  #源地址转换

echo 1 > /proc/sys/net/ipv4/ip_forward                      #开启转发(临时生效)

需修改sysctl.conf:net.ipv4.ip_forward = 1  执行sysctl -p马上生效  (永久生效)

3.测试通过云服务器的外网IP加端口可以正常访问。

windwos系统

1.准备环境

云服务器 193.112.224.83(公)172.16.32.87(内)

云数据库pgsql   内网 172.16.32.98:5432                   同一私有网络,默认内网互通

2.云服务器上做如下转发

netsh interface portproxy add v4tov4 listenport=5432(服务器端口)connectaddress=172.16.32.98 connectport=5432(数据库端口)

相关参数说明:

  • listenport 必需。指定要监听的端口
  • listenaddress 需要监听的计算机ip,未指定则默认值为本机
  • connectport 需要转发的端口,未指定则默认值为本地计算机上的listenport
  • connectaddress 需要转发的计算机ip,未指定则默认值为本机
  • protocol 指定的协议,暂仅支持TCP

查看规则是否存在

netsh interface portproxy show all

删除规则

netsh interface portproxy delete v4tov4 listenport=5432

3.测试通过云服务器的外网IP加端口可以正常访问。

posted @   ascertain  阅读(448)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-09-24 shell中特殊变量
2020-09-24 python -m json.tool中文乱码
2020-09-24 shell数组${arr[*]}和${arr[@]}区别
点击右上角即可分享
微信分享提示