配置NAT回流导致外网解析到了内网IP
单位有3个域名,用量很大,2014年开始本人研究部署了Bind+DLZ +Mysql的三机智能多链路DNS,非常好用,优点是:
1、使用Mysql管理记录,配置、管理、查询方便。
2、自动判断运营商,返回指定IP,实现智能多链路。目前我们单位有电信、移动、教育网专线和固定IP,通过Bind的View,判断请求源IP自动返回对应运营商的服务IP。很好很强大也很实用。
3、根据配置自动为内网分配对应的运营商解析。。。我单位内网用户较多,有一个不少见的需求,内网部分用户要使用电信专线、部分用户要使用移动专线,然而走电信的就得用电信DNS解析、走移动就得用移动DNS解析,同样的,Bind的View也很好的解决了这个问题。
然而、、、、、今天突然让我崩溃了,有2、3个域名外网访问部分出错、打不开网页。我仔细研究,发现外网被解析成了内网IP。。。如下图:
这让我很头疼呀,仔细分析,把Bind从Dump缓存、Config文件、ACL文件全部翻了个遍,没发现问题。。。。。这个问题的状况是这样的:只有2、3个域名有这个问题,其它子域名(近几十个)都没问题。。。。
很奇葩,我都有点怀疑跟服务器有没有关系呀。。。。。
折腾2、3天没搞定,也没想通。。。今天晚上从路由器入手打算再走一遍,我手头有3个路由器,一行行看配置,终于找到点眉头,被解析错误的地址,我在其中一个路由器上做了NAT回流。。。
好吧,什么是NAT回流?这里简单讲讲,详细的大家上网搜吧,就是我做了nat server,比如: nat server protocol tcp global X.X.X.X any inside 192.168.200.57 any。这时外网用户通过X.X.X.X的公网IP、内网用户通过192.168.200.57的IP分别可以访问对应的服务,当然主要是用DNS了,但是如果我内网里有人用X.X.X.X的公网IP去访问呢?这时正常、默认的NAT配置是访问不了了,详细我也不说了,搜到这篇文章的兴许就是这个故障,这时就要做一个NAT回流,让路由器从内网过来的访问公网IP请求能够像在外网一样访问,这时配置NAT回流就可以,我是这样弄的(路由器是H3C的):
1、先搞个回流的ACL。。。我的故障就在这里了,一会说。
acl number 3010
rule 5 permit ip source 172.16.0.0 0.0.255.255
rule 6 permit ip source 172.17.0.0 0.0.255.255
rule 7 permit ip source 172.21.0.0 0.0.255.255
rule 8 permit ip source 172.22.0.0 0.0.255.255
rule 15 permit ip source 192.168.0.0 0.0.255.255
rule 100 deny ip
2、在内网接口上配置,注意是内网,而不是外网。
interface GigabitEthernet2/2/0
port link-mode route
nat outbound 3010
nat server protocol icmp global X.X.X.X inside 192.168.200.57
nat server protocol tcp global X.X.X.X any inside 192.168.200.57 any
ip address 10.10.248.1 255.255.255.252
那为什么这个回流会导致外网解析到了内网IP呢???原因是我在做Acl的时候,当时只是为了测试一下这个200.57的业务内网用公网IP访问,就简单的内网IP都给Permit了,这个配置NAT回流是可以了,但由于没有匹配目标IP,导致所有包都能回流,导致内网的DNS回传给外网DNS服务器的响应包识别为是内网地址段来的,就丢了个内网IP给人家运营商服务器。。。把上面Acl改完善就OK了,完整的应该是这样:
rule 5 permit ip source 172.16.0.0 0.0.255.255 destination 192.168.200.57 0
rule 6 permit ip source 172.17.0.0 0.0.255.255 destination 192.168.200.57 0
rule 7 permit ip source 172.21.0.0 0.0.255.255 destination 192.168.200.57 0
rule 8 permit ip source 172.22.0.0 0.0.255.255 destination 192.168.200.57 0
rule 100 deny ip
也就是严格匹配内网地址段 to 内网需要NAT回流的服务器内网地址。。。这样对这台的NAT回流也正常(内网用它的公网IP也可以访问)、同时也不会出现BIND解析出错的问题。。。
当然如果你不提供像我的这个智能BIND解析服务,那你就像上面那个笼统的ACL也是可以的。。。我这是两个功能在一起就冲突了的。
2016-11-18补充:
后来发现,其实光ACL也没用,还是会这样呀。。。。。苦苦研究一个多月,最终在厂商工程师的帮助下解决了问题,原来是路由器的DNS-ALG在作怪,H3C路由器V5平台下ALG功能默认是开启的,而V7下默认是关闭了就没这问题。我的是V5,得手动关闭一下:系统视图下:undo alg dns
解决问题了。。。。OK,那么alg dns是什么鬼呢?来看看:
NAT ALG 功能,仅在要通过NAT 设备进行DNS、FTP、SIP 和RTSP 等应用(如DNS 服务器在公网中,需要在内网中使用域名访问位于内网的服务器时)时,需要配置NAT ALG 功能。使能ALG 功能可以使NAT 设备识别被封装在报文数据部分的IP 地址或端口信息,并根据动态形成的NAT 地址(或同时包括端口号)映射表项进行替换,使报文正常穿越NAT。
所以呢,nat server只在inbound生效,应该是报文从内网返回命中内敛口,出去了返回的是私网解析。。。
至此,该问题彻底解决。。。
配置NAT回流导致外网解析到了内网IP的更多相关文章
- 利用阿里云搭建frp实现外网远程桌面链接内网电脑
主要应用场景:针对学生放假回家使用外网无法远程操作学校的服务器或者电脑,这里通过阿里云的云服务器搭建一个frp服务,实现内网穿透,从而可以直接通过远程桌面或者其他工具实现对校园网内的服务器或者电脑进行 ...
- centos6.5虚拟机配置Nat模式连接外网
想来在虚拟机上搭点软件,于是乎就想让虚拟机连上外网,就用到了Nat模式,自己对网络了解不是太深,以至于配置联网花了一下午.总结下联网步骤. (1)点击虚拟网络编辑器 (2)注意以下几点标红处 (3)点 ...
- 在外网使用ssh连接内网中的多台Linux服务器
最近因为要对全球工控机网络进行协议扫描,需要在实验室配置几台服务器,因为我们只有一个IP地址,所以是用路由器搭建了一个内网(拓扑结构如下图).但是这样做了之后无法在宿舍通过ssh直接连接服务器,因为那 ...
- frp内网 穿透映射使内网svn可外网访问
起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...
- SSH反向连接让外网也可远程访问内网机器
最近把树莓派折腾了一番,放在了家里,但是家里是内网,出门在外,不方便直接ssh上来,于是请教了秦兄,指点迷津,发现SSH反向链接可以实现这个功能. 1. ssh反向链接的概念 A主机:外网,ip:11 ...
- tomcat manager 禁止外网访问 只容许内网访问
参考:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html A default Tomcat installation includes ...
- udp内网穿透 两个内网互联
1,在有外网ip的机器上启动server. package udp; import java.net.DatagramPacket; import java.net.InetSocketAddress ...
- 通过云主机(网关机)远程登录内网mysql
国内的一些云主机平台(UCloud,阿里云,腾讯云等)走的都是网关机+内网机(即局域网)模式,网关机代理外网访问,不能直接连接内网机器.本文介绍通过远程登录云主机,并设置本地代理的方式,通过sqlyo ...
- 【网络】内网穿透方案&FRP内网穿透实战(基础版)
目录 前言 方案 方案1:公网 方案2:第三方内网穿透软件 花生壳 cpolar 方案3:云服务器做反向代理 FRP简介 FRP资源 FRP原理 FRP配置教程之SSH 前期准备 服务器配置 下载FR ...
随机推荐
- Hive性能优化
1.概述 继续<那些年使用Hive踩过的坑>一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题.下面开始本篇文章的优化介绍. 2.介绍 首先 ...
- 冲刺阶段 day5
day5 项目进展 今天我们组的成员聚在一起进行了讨论,首先我们继续编写了学生管理这部分的代码,然后负责数据库的同学完成了数据库的部分,最后进行了学生管理这部分的代码复审 存在问题 因为代码不是一天之 ...
- [ACM_数据结构] 竞赛排名
比赛排名 Time Limit:1000MS Memory Limit:32768K Description: 欢迎参加浙江工业大学“亚信联创杯”程序设计大赛,本次竞赛采用与 ACM/ICPC 相同 ...
- Spring依赖注入(IOC)那些事
小菜使用Spring有几个月了,但是对于它的内部原理,却是一头雾水,这次借着工作中遇到的一个小问题,来总结一下Spring. Spring依赖注入的思想,就是把对象交由Spring容器管理,使用者只需 ...
- SQL语法的重要知识点总结
好几年没写SQL语句了.现在到了新的team,需要用到数据库.作为QA的话时常需要使用客户端工具连接到数据库中找寻或修改数据.这么长时间没使用,一些SQL的使用技巧都忘得差不多了.晚上看了一些资料,花 ...
- JavaScript函数绑定
一个简单的函数绑定 在JavaScript与DOM交互中经常需要使用函数绑定,定义一个函数然后将其绑定到特定DOM元素或集合的某个事件触发程序上,绑定函数经常和回调函数及事件处理程序一起使用,以便把函 ...
- paip.提升效率---提升绑定层次--form绑定取代field绑定
paip.提升效率---提升绑定层次--form绑定取代field绑定 =================== 编辑form中,常常需要,绑定一个对象到个form.. 传统上要绑定field开始. ...
- C++Builder及VC的库相互调用
coff2omf vc.lib bc.lib implib -f xxx.lib xxx.dll dll文件为VC编译的动态库lib文件为你需要转换的c++ builder 使用的静态库. 这也是 ...
- 【转】webstorm 注册码 / phpstorm 注册码
WebStorm注册码 User Name: EMBRACE License Key: ===== LICENSE BEGIN ===== 24718-12042010 00001h6wzKLpfo3 ...
- ie8下jquery改变PNG的opacity出现黑边,ie6下png透明解决办法
目前互联网对于网页效果要求越来越高,不可避免的用到PNG图片,PNG分为几种格 式,PNG8 PNG24 PNG32,其中最常用的,也是显示效果和大小比较适中的则是PNG24,支持半透明,透明,颜色也 ...