内网客户 通过 公网域名/ip 访问内网web服务器 出错

在一内部局域网中,
client  内网地址为 10.0.0.2    
web  服务器内网地址为 10.0.0.1    外网地址为  211.6.15.1    域名为  xx.love.com

问题:在内网10.0.0.2的机器上访问   外网地址 211.6.15.1 或者域名  xx.love.com  都无法访问,


 解决原理:就是内网用户向外网用户发送DNS查询,外网DNS会给内网用户回复,如果防火墙上面加了DNS参数,防火墙就会监控DNS回包,如果发现DNS回包的地址是映射到内网了,那么防火墙就会修改DNS回包把answer的地址改为内网的地址。


一些解决方法:

1.
        ASA5500新版本开发了这个FEATURE能解决这个问题,以前的PIX是不能解决这个问题的,
因为你这个现象是数据流从同一个接口出去再从同一个接口再回来,防火墙认为这是攻击行为,理所当然地拒绝掉。
用下面这个命令:
same-security-traffic permit  intra-interface
!##
intra-interface 
Permits communication in and out of the same interface. 
允许数据流能够从同一个接口进出。


2.
         启用ASA的  DNS Rewrite 技术, 在你NAT 后加上DNS关键字,
  例如 Static (Inside, outside) 202.100.1.2 192.168.1.2 dns ,
 对于内部PC访问服务器发出的DNS查询解析到地址,ASA帮忙转换成内部服务器地址,再将查询结果发给内部PC。
asa82cfg.pdf 第460页。


3.
       通过公网dns访问自己内部的web服务器的这种模式有两种模式,一种是WEB服务器放在自己的内网,一种是 web服务器防在自己的DMZ区,两种alias用法稍微有不一样。
如果是在内网的话,用法如下
   alias (inside)  服务器内网地址   服务器公网地址
如果是在dmz区,用法如下
   alias (inside)  服务器外网地址    服务器DMZ地址 


4.
可以修改客户机10.0.0.2的 hosts文件,添加一个映射
 linux客户机:
     文件位置   /etc/hosts
   查看一下  cat /etc/hosts
   127.0.0.1  localhost  
    添加以下一行命令
    10.0.0.1 xx.love.com

 windows客户机:
 文件位置   C:/Windows/System32/drivers/etc/hosts
  查看文件
   # For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com   
添加一下一行命令
10.0.0.1 xx.love.com


5.最简单的方法
   直接访问内网地址吧!!!  10.0.0.1   



详细了解  请看思科官网 讲解:

背景信息

在典型的 DNS 交换中,客户端将 URL 或主机名发送到 DNS 服务器,以确定该主机的 IP 地址。DNS 服务器接收请求,查找该主机的“名称到 IP 地址”映射,然后将包含 IP 地址的 A 记录提供给客户端。虽然此过程在许多情况下都进行得很好,但也会发生一些问题。如果客户端和客户端尝试访问的主机均位于 NAT 后面的同一专用网络上,但客户端使用的 DNS 服务器位于另一个公共网络上,则会发生这些问题。

方案:两个 NAT 接口(内部、外部)

拓扑

在此场景中,客户端和客户端尝试访问的 WWW 服务器均位于 ASA 的内部接口上。将动态 PAT 配置为允许客户端对 Internet 进行访问。将带有 access-list 的静态 NAT 配置为不但允许 Internet 主机访问 WWW 服务器,而且允许 WWW 服务器访问 Internet。

内网客户 通过 公网域名/ip  访问内网web服务器 出错 - 朝鲜程序员 - 朝鲜程序员的博客

此图说明了这种情况。在这种情况下,地址为 192.168.100.2 的客户端希望使用 server.example.com URL 来访问地址为 192.168.100.10 的 WWW 服务器。客户端的 DNS 服务由地址为 172.22.1.161 的外部 DNS 服务器提供。由于 DNS 服务器位于另一个公共网络上,因此,它不知道 WWW 服务器的专用 IP 地址。然而,它知道 WWW 服务器的映射地址 172.20.1.10。因此,DNS 服务器包含 server.example.com 到 172.20.1.10 的“IP 地址到名称”映射。

问题:客户端无法访问 WWW 服务器

如果在这种情况下未启用 DNS 修正或其他解决方案,则当客户端发送获取 server.example.com 的 IP 地址的 DNS 请求时将无法访问 WWW 服务器。这是因为,客户端接收的 A 记录包含 WWW 服务器的映射的公共地址:172.20.1.10。当客户端尝试访问此 IP 地址时,安全设备会丢弃数据包,因为它不允许在同一个接口上重定向数据包。当 DNS 修正处于禁用状态时配置的 NAT 部分如下所示:

ciscoasa(config)#show running-config
: Saved
:
ASA Version 7.2(1)
!
hostname ciscoasa


!--- Output suppressed.

access-list OUTSIDE extended permit tcp any host 172.20.1.10 eq www


!--- Output suppressed.

global (outside) 1 interface
nat (inside) 1 192.168.100.0 255.255.255.0
static (inside,outside) 172.20.1.10 192.168.100.10 netmask 255.255.255.255
access-group OUTSIDE in interface outside 


!--- Output suppressed.

当 DNS 修正处于禁用状态时 ASDM 中的配置如下所示:

内网客户 通过 公网域名/ip  访问内网web服务器 出错 - 朝鲜程序员 - 朝鲜程序员的博客

 下面是当 DNS 修正处于禁用状态时事件的数据包捕获:

  1. 客户端发送 DNS 查询。

    No.     Time      Source          Destination       Protocol Info
    1       0.000000  192.168.100.2   172.22.1.161      DNS      Standard query 
                                                                 A server.example.com
    
    Frame 1 (78 bytes on wire, 78 bytes captured)
    Ethernet II, Src: Cisco_c8:e4:00 (00:04:c0:c8:e4:00), Dst: Cisco_9c:c6:1f 
    (00:0a:b8:9c:c6:1f)
    Internet Protocol, Src: 192.168.100.2 (192.168.100.2), Dst: 172.22.1.161 
    (172.22.1.161)
    User Datagram Protocol, Src Port: 50879 (50879), Dst Port: domain (53)
    Domain Name System (query)
        [Response In: 2]
        Transaction ID: 0x0004
        Flags: 0x0100 (Standard query)
        Questions: 1
        Answer RRs: 0
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
    
  2. DNS 查询由 ASA 执行 PAT 并被转发。请注意,数据包的源地址已更改为 ASA 的外部接口。

    No.     Time      Source           Destination         Protocol Info
    1       0.000000  172.20.1.2       172.22.1.161        DNS      Standard query 
                                                                    A server.example.com
    
    Frame 1 (78 bytes on wire, 78 bytes captured)
    Ethernet II, Src: Cisco_9c:c6:1e (00:0a:b8:9c:c6:1e), Dst: Cisco_01:f1:22 
    (00:30:94:01:f1:22)
    Internet Protocol, Src: 172.20.1.2 (172.20.1.2), Dst: 172.22.1.161 
    (172.22.1.161)
    User Datagram Protocol, Src Port: 1044 (1044), Dst Port: domain (53)
    Domain Name System (query)
        [Response In: 2]
        Transaction ID: 0x0004
        Flags: 0x0100 (Standard query)
        Questions: 1
        Answer RRs: 0
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
  3. DNS 服务器用 WWW 服务器的映射地址予以回复。

    No.     Time      Source          Destination       Protocol Info
    2       0.005005  172.22.1.161    172.20.1.2        DNS      Standard query response 
                                                                 A 172.20.1.10
    
    Frame 2 (94 bytes on wire, 94 bytes captured)
    Ethernet II, Src: Cisco_01:f1:22 (00:30:94:01:f1:22), Dst: Cisco_9c:c6:1e 
    (00:0a:b8:9c:c6:1e)
    Internet Protocol, Src: 172.22.1.161 (172.22.1.161), Dst: 172.20.1.2 
    (172.20.1.2)
    User Datagram Protocol, Src Port: domain (53), Dst Port: 1044 (1044)
    Domain Name System (response)
        [Request In: 1]
        [Time: 0.005005000 seconds]
        Transaction ID: 0x0004
        Flags: 0x8580 (Standard query response, No error)
        Questions: 1
        Answer RRs: 1
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
        Answers
            server.example.com: type A, class IN, addr 172.20.1.10
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
                Time to live: 1 hour
                Data length: 4
                Addr: 172.20.1.10
    
  4. ASA 撤消 DNS 响应的目标地址的转换并将数据包转发到客户端。请注意,在未启用 DNS 修正的情况下,应答中的地址仍然是 WWW 服务器的映射地址。

    No.     Time      Source         Destination         Protocol Info
    2       0.005264  172.22.1.161   192.168.100.2       DNS      Standard query response
                                                                  A 172.20.1.10
    
    Frame 2 (94 bytes on wire, 94 bytes captured)
    Ethernet II, Src: Cisco_9c:c6:1f (00:0a:b8:9c:c6:1f), Dst: Cisco_c8:e4:00 
    (00:04:c0:c8:e4:00)
    Internet Protocol, Src: 172.22.1.161 (172.22.1.161), Dst: 192.168.100.2 
    (192.168.100.2)
    User Datagram Protocol, Src Port: domain (53), Dst Port: 50879 (50879)
    Domain Name System (response)
        [Request In: 1]
        [Time: 0.005264000 seconds]
        Transaction ID: 0x0004
        Flags: 0x8580 (Standard query response, No error)
        Questions: 1
        Answer RRs: 1
        Authority RRs: 0
        Additional RRs: 0
        Queries
            server.example.com: type A, class IN
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
        Answers
            server.example.com: type A, class IN, addr 172.20.1.10
                Name: server.example.com
                Type: A (Host address)
                Class: IN (0x0001)
                Time to live: 1 hour
                Data length: 4
                Addr: 172.20.1.10
    
  5. 此时,客户端尝试访问地址为 172.20.1.10 的 WWW 服务器。ASA 将为此通信创建连接项。然而,因为它不允许数据流从内部流到外部再流回内部,所以连接会超时。ASA 日志显示以下内容:

    %ASA-6-302013: Built outbound TCP connection 54175 for 
    outside:172.20.1.10/80 (172.20.1.10/80) to inside:192.168.100.2/11001 
    (172.20.1.2/1024)
    
    %ASA-6-302014: Teardown TCP connection 54175 for outside:172.20.1.10/80 to 
    inside:192.168.100.2/11001 duration 0:00:30 bytes 0 SYN Timeout
    

解决方案:“dns”关键字

使用“dns”关键字进行 DNS 修正
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值