在Internet中发布位于局域网内的服务器(DNAT)
DNAT策略的原理
目标地址转换,Destination Network Address Translation
修改数据包的目标IP地址
在web服务器上进行的配置
局域网的Web服务器正确设置了IP地址/子网掩码
局域网的Web服务器正确设置了默认网关地址
在linux网关服务器上进行的配置
推荐实现步骤
1. 确认已开启网关的路由转发功能
2. 添加使用DNAT策略的防火墙规则
(注:windows真实机器和linux防火墙的WAN口在同一个网段,所有网卡均为桥接模式)
DNAT 在PREROUTING(城市入口)进行修改ip包里的目的ip地址
linux网关服务器的DNAT功能开启 vim snat_dnat.sh
#!/bin/bash
#清除filter和nat表里的防火墙规则
iptables -t filter -F
iptables -t nat -F
#开启路由功能
echo 1 >/proc/sys/net/ipv4/ip_forward
#添加SNAT策略
iptables -t nat -A POSTROUTING -s 192.168.40.0/24 -o ens36 -j SNAT --to-source 192.168.1.123
#添加DNAT策略
iptables -t nat -A PREROUTING -d 192.168.1.123 -i ens36 -j DNAT --to-destination 192.168.40.22
bash snat_dnat.sh
在web服务器上操作,安装nginx并检查nginx服务是否运行,是否有防火墙开启
ps aux|grep nginx
netstat -anplut|grep nginx
iptables -L
DNAT在转发数据的时候,也是可以修改传输层的源端口和目的端口
如果在iptables规则里没有指定,就不进行修改
在windows浏览器访问防火墙wan口ip地址来访问局域网里的nginx服务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现