免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 10414 | 回复: 26
打印 上一主题 下一主题

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-23 08:09 |只看该作者 |正序浏览
最近,到处看到有人问这个问题,怎么以前没人问,现在这么多人问呢?前两天我还在华为的论坛上仔细的说了这个问题,现在复制到这边来。希望能帮助大家理解这个问题。
     这是个理论问题,我们先从NAT讲起:NAT有两种基本类型,一种是SNAT(Source NAT),一种是DNAT(Dest. NAT).SNAT即源NAT是改变数据包的IP层中的源IP地址,一般是用来将不合法的IP外出请求转换成合法的IP的外出请求,就是普通的用一个或者几个合法IP来带动一整个非法IP段接入。 DNAT即目的NAT,就是改变数据包的目标IP地址,使得能对数据包重新定向,可以用做负载均衡或者用于将外部的服务请求重定向到内网的非法IP的服务器上。
      好了,罗嗦了一通,大致就是这样了。 那么之所以会出现无法在DNAT的内部网络通过DNAT服务的外部IP地址来访问的情况,是因为,如果服务从内部请求,那么经过DNAT转换后,将目标IP改写成内网的IP地址,譬如172.16.10.254,而请求的机器的IP是 172.16.10.100,数据包被网关172.16.10.1顺利的重定向到172.16.10.254的服务端口,然后,192.16.10.254根据请求发送回应给目的IP地址,就是172.16.10.100,但是,问题出现了,因为172.16.10.100请求的地址是外部IP 假设是221.232.34.56,所以他等待着221.232.34.56的回应,而172.16.10.254的回应请求被看做是非法的,被丢弃了。这就是问题的所在了。
      呵呵,写的有点混乱,不好意思。不知道大家明白没有.那么如何解决这个问题,我说个用iptables实现的例子,
    #我们先把发向外网IP221.232.34.56 80号端口的数据重定向到172.16.10.254 理论上来讲,如果只要从外网访问,这就完成了。
    iptables -t nat -A PREROUTING -p tcp -d 221.232.34.56 --dport 80 -j DNAT --to-destination 172.16.10.254
    #解决内网通过外网IP访问的情况
    iptables -t nat -A POSTROUTING -p tcp -d 172.16.10.254 --dport 80 -j SNAT --to-source 172.16.10.1
    我们将内网的请求强行送回到网关172.16.10.1,依靠网关在内核建立的状态表再转发到真实的请求地址172.16.10.100.
    当然,这并不是最好的解决方法,最好的解决方法是将服务器放在另外一个网段,也就是说所谓的DMZ(解除武装区),这样就不会出现上面所说的问题了。
    如果大家还不清楚,给个参考文档:
    http://iptables-tutorial.frozentux.net/iptables-tutorial.html#DNATTARGET
   
     就先说到这里了,我要去上班了。

论坛徽章:
0
27 [报告]
发表于 2005-05-11 09:41 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

我看了,好象你是缺 access-group的定义

只有 access-group 101 in interface dmz

应该把 101给inside,100给outside

dmz似乎不需要access-group

论坛徽章:
0
26 [报告]
发表于 2005-04-19 17:30 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

ip nat outside destination static global-ip local-ip

论坛徽章:
0
25 [报告]
发表于 2005-01-20 09:41 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

论坛徽章:
0
24 [报告]
发表于 2005-01-19 23:16 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

好文章,可看不太明白,我看得头都大了.

论坛徽章:
0
23 [报告]
发表于 2004-12-09 17:03 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

楼上几位,我用FreeBSD下,也有类似问题
内网用户可以访问 内网 WEB 服务器的外网IP,但不能访问同一台服务器的 FTP。
外网用户却可以访问这台FTP

这是怎么回事呀??盼请各位高人指导啊

论坛徽章:
0
22 [报告]
发表于 2004-09-30 13:12 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

静态nat ,动态nat,源nat,目的nat
global----nat
static====conduct

没搞清楚什么关系????

论坛徽章:
0
21 [报告]
发表于 2004-08-25 11:04 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

看了各位的帖子,感觉小弟的情况类似这样,可是我已经使用DMZ了,却也不好用,以前发过帖子,可没人回答大家帮忙再看看,谢谢了。

PIX防火墙中的WEB,外网可以访问,内网的反而不行,奇怪了。
小弟搞了好长时间,头都晕了,大家帮忙看看配置,谢谢。

网络情况是以下拓扑图所标示的,从外界访问网站没问题,内部机器上Internet也没问题,就是内部机器访问网站不行,直接输入服务器IP地址也不行,真是奇了怪了。

以下是PIX的配置,路由器没有作特别设置,只是作为联出去的设备,除了IP设置外,就是静态路由 ip route 0.0.0.0 0.0.0.0 10.255.64.125。

PIX Version 6.1(1)
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 DMZ security10

hostname Firewall
domain-name Pix.com
fixup protocol ftp 21
fixup protocol http 80
fixup protocol h323 1720
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol sip 5060
no fixup protocol skinny 2000
no names
name 192.168.0.6 inside
name 192.168.1.1 DMZ
name 221.13.19.114 outside
access-list 101 permit icmp any any
access-list 101 permit ip any any
pager lines 24
interface ethernet0 auto
interface ethernet1 auto
interface ethernet2 auto
icmp permit any outside
icmp permit any inside
mtu outside 1500
mtu inside 1500
mtu DMZ 1500
ip address outside 221.13.19.114 255.255.255.240
ip address inside 192.168.0.6 255.255.255.0
ip address DMZ 192.168.1.1 255.255.255.0
ip audit info action alarm
ip audit attack action alarm
pdm location 192.168.0.1 255.255.255.255 inside
pdm location 192.168.1.2 255.255.255.255 DMZ
pdm location 192.168.0.6 255.255.255.255 inside
pdm location 221.13.19.114 255.255.255.255 outside
pdm history enable
arp timeout 14400
global (outside) 1 221.13.19.119-221.13.19.126 netmask 255.255.255.240
global (outside) 1 221.13.19.117 netmask 255.255.255.240
global (DMZ) 1 192.168.1.4-192.168.1.24 netmask 255.255.255.0
nat (inside) 1 192.168.0.0 255.255.255.0 0 0
nat (DMZ) 1 192.168.1.0 255.255.255.0 0 0
static (DMZ,outside) 221.13.19.118 192.168.1.2 netmask 255.255.255.255 0 0
access-group 101 in interface DMZ
conduit permit tcp host 221.13.19.118 eq www any
conduit permit icmp host 221.13.19.118 any
conduit permit tcp host 221.13.19.118 eq pop3 any
conduit permit tcp host 221.13.19.118 eq smtp any
conduit permit tcp host 221.13.19.118 eq ftp any
conduit permit tcp host 221.13.19.118 eq 2005 any
conduit permit tcp host 221.13.19.118 eq 3000 any
conduit permit tcp host 221.13.19.118 eq 3389 any
conduit permit icmp 221.13.19.112 255.255.255.240 any
conduit permit tcp 192.168.0.0 255.255.255.0 range 6891 6900 any
conduit permit udp 192.168.0.0 255.255.255.0 range 5004 65535 any
route outside 0.0.0.0 0.0.0.0 221.13.19.113 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 si
p 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius
http server enable
http 192.168.0.1 255.255.255.255 inside
http 192.168.0.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server community public
no snmp-server enable traps
floodguard enable
no sysopt route dnat
telnet 10.220.52.16 255.255.255.240 outside
telnet 10.0.0.0 255.0.0.0 outside
telnet 192.168.0.0 255.255.255.0 inside
telnet 10.220.52.17 255.255.255.255 inside
telnet 192.168.1.0 255.255.255.0 inside
telnet 10.220.52.17 255.255.255.255 DMZ

telnet timeout 5
ssh timeout 5
terminal width 80


小弟已经看了若干遍了,很多可能性都考虑到了,还是不行,哪位老大辛苦看看配置,哪里有问题?谢谢了。

Tp1.jpg (21.43 KB, 下载次数: 83)

Tp1.jpg

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
20 [报告]
发表于 2004-08-23 13:37 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

有碰到过。。。不过用DNS了

不过有时调试的时候还要要用到的,不错

论坛徽章:
0
19 [报告]
发表于 2004-08-23 11:21 |只看该作者

NAT后无法在内网通过外部IP访问内部服务的问题的详细说明(原创)

有必要怎么复杂吗, 建个内部DNS不就可以解决这样的问题吗? 随便说说, 没仔细看你的帖
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP