
典型的nat回流问题,例如:
拓扑如上所示:内网web服务器server内网地址:1921681254 在出口路由上即RT-NAT上做了地址映射为1721603 ,现在ISP上有个loopback0模拟外网用户,访问web服务器正常(本文用端口23模拟),如下:
内网用户用内部地址直接访问,没问题:
内网用户用服务器映射后的公网地址访问,不通:
查看防火墙链接如下:flag为saA,即内网pc给服务器发送了sys但没有收到对端的syn+ack报文。
由此可看出是TCP三次握手出现了问题,接下来我们PC的F0/0上抓包,结果如下:
可以看出第一次是pc(19216812)给服务器(映射后公网地址为1721603)发了syn,之后,数据包穿越防火墙到达外网RT,外网RT收到报文后转发给了内网1921681254的web服务器真是地址,web服务器查看原地址为同一网段,目的可达,因此直接将数据包转发给PC终端,即抓包显示的第二条,s:1921681154 d:19216812 报文syn+ack。这就证实了防火墙的链接为什么是saA了,随后pc给web服务器发送了rst报文,即第三行。因为,在pc看来,它并没有给1921681254发送syn报文,所以它重置了会话报文。下面几行就是TCP重传机制了。
至此问题清楚了。
解决方案列举两种:1、如果内网有自己的DNS服务器,直接在DNS服务器上做指针,例如:>
2、在墙上做策略NAT。在此不在赘述。
详细的可以去我博客:网页链接
firewall transparent //透明模式!interface Ethernet0nameif outside
security-level 0
!
interface Ethernet1
nameif inside
security-level 100!access-list outside_access_in extended permit ip any host 1921681100 //外网访问内网服务器access-group outside_access_in in interface outsideinterface Vlan2\x0d\ nameif outside --------------------对端口命名外端口 \x0d\ security-level 0 --------------------设置端口等级\x0d\ ip address XXXX 255255255224 --------------------调试外网地址\x0d\!\x0d\interface Vlan3\x0d\ nameif inside --------------------对端口命名内端口 \x0d\ security-level 100 --------------------调试外网地址\x0d\ ip address 19216811 2552552550 --------------------设置端口等级\x0d\!\x0d\interface Ethernet0/0\x0d\ switchport access vlan 2 --------------------设置端口VLAN与VLAN2绑定\x0d\!\x0d\interface Ethernet0/1\x0d\ switchport access vlan 3 --------------------设置端口VLAN与VLAN3绑定\x0d\!\x0d\interface Ethernet0/2\x0d\ shutdown\x0d\!\x0d\interface Ethernet0/3\x0d\ shutdown\x0d\!\x0d\interface Ethernet0/4\x0d\ shutdown\x0d\!\x0d\interface Ethernet0/5\x0d\ shutdown\x0d\!\x0d\interface Ethernet0/6\x0d\ shutdown\x0d\!\x0d\interface Ethernet0/7\x0d\ shutdown\x0d\!\x0d\passwd 2KFQnbNIdI2KYOU encrypted\x0d\ftp mode passive\x0d\dns domain-lookup inside\x0d\dns server-group DefaultDNS\x0d\ name-server 21199129210\x0d\ name-server 202106196115\x0d\access-list 102 extended permit icmp any any ------------------设置ACL列表(允许ICMP全部通过)\x0d\access-list 102 extended permit ip any any ------------------设置ACL列表(允许所有IP全部通过)\x0d\pager lines 24\x0d\mtu outside 1500 \x0d\mtu inside 1500\x0d\icmp unreachable rate-limit 1 burst-size 1\x0d\no asdm history enable\x0d\arp timeout 14400\x0d\global (outside) 1 interface ------------------设置NAT地址映射到外网口\x0d\nat (inside) 1 0000 0000 ------------------NAT地址池(所有地址)\x0d\access-group 102 in interface outside ------------------设置ACL列表绑定到外端口\x0d\route outside 0000 0000 xxxx 1 ------------------设置到外网的默认路由\x0d\timeout xlate 3:00:00\x0d\timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02\x0d\timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00\x0d\timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00\x0d\timeout uauth 0:05:00 absolute\x0d\no snmp-server location\x0d\no snmp-server contact\x0d\snmp-server enable traps snmp authentication linkup linkdown coldstart\x0d\telnet 0000 0000 inside ------------------设置TELNET所有地址进入\x0d\telnet timeout 5\x0d\ssh 0000 0000 outside ------------------设置SSH所有地址进入\x0d\ssh timeout 30\x0d\ssh version 2\x0d\console timeout 0 \x0d\!\x0d\dhcpd address 1921681100-1921681199 inside ------------------设置DHCP服务器地址池\x0d\dhcpd dns 21199129210 202106196115 interface inside ------------------设置DNS服务器到内网端口\x0d\dhcpd enable inside ------------------设置DHCP应用到内网端口你的意思是把内网的一台主机的远程桌面打开,想让用户从外网远程过来对吧
假设这台5510有一些基本的预配置
命令如下:(xxxx是你内网想要打开远程桌面的主机的内网地址)
第一步:映射端口,把内网主机的3389端口映射到你防火墙外网地址的3389端口
static (inside,outside)tcp interface 3389 xxxx 3389
第二步:定义访问控制列表,放行3389流量
access-list per_out extended permit tcp any host xxxx eq 3389
第三步:把访问控制列表应用到外网口
access-group out in interface outside
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)