Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 从局域网内部访问DNAT的网络服务器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个带路由器的小型网络,它维护与Internet,服务器和本地网络中的一些工作站的连接. 服务器应该从Internet访问,并且在路由器iptables中设置了几个DNAT条目,如下所示: -A PRERoutING -i ppp0 -p tcp -m multiport --dports 22,25,80,443 -j DNAT --to-desTination 192.168.2.10 外
我有一个带路由器的小型网络,它维护与Internet,服务器和本地网络中的一些工作站的连接.

服务器应该从Internet访问,并且在路由器iptables中设置了几个DNAT条目,如下所示:

-A PRERoutING -i ppp0 -p tcp -m multiport --dports 22,25,80,443 -j DNAT --to-desTination 192.168.2.10

外部数据包通过ppp0接口进入路由器,内部数据包来自br-lan,实际上包括交换机和WLAN适配器.问题是,然外部访问工作正常,但尝试通过DNS解析的外部IP(分配给ppp0)从LAN内部访问服务器失败.

我能够发明的唯一解决方案是向路由器的/ etc / hosts添加静态条目,指向内部IP,但由于没通配符(我至少有三个顶级域分配给该系统,不计算数十子域名),这是相当脆弱和@R_917_10197@的.你能提出更好的建议吗?

我只找到了这个question,这不是很有用.

如果这是相关的,路由器使用dnsmasq运行OpenWRT 10.03 Kamikaze.

解决方法

我很惊讶,在将近8年后,没有人使用OpenWRT中认使用的UCI配置系统解释如何以正确的方式执行此操作.

Steven Monday的答案是正确的,但它直接使用iptables命令,这是一个比UCI配置系统更低的层,如果可能的话,大多数OpenWRT用户最好不要使用它.

通过UCI中另一个内部主机的公共IP /端口组合访问内部服务器的正确方法是在文件/ etc / config / firewall中的每个特定DNAT目标下启用配置选项反射.记录此行为here.

例如:

配置重定向
期权目标’DNAT’
选项src’wan’
选项dest’lan’
选项proto’tcp’
选项src_dport’44322′
选项dest_ip’192.168.5.22′
选项dest_port’443′
选项名称’apache @R_674_10107@S server’
选项反射’1′

注意:根据指示的OpenWRT文档,认情况下启用反射.在我的测试中,情况并非如此.

大佬总结

以上是大佬教程为你收集整理的linux – 从局域网内部访问DNAT的网络服务器全部内容,希望文章能够帮你解决linux – 从局域网内部访问DNAT的网络服务器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。