设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 998|回复: 12
收起左侧

[求助] 关于思科ASA5505防火墙的NAT问题

[复制链接]
发表于 2022-12-24 21:21:54 | 显示全部楼层 |阅读模式
10鸿鹄币
本帖最后由 honghu661 于 2022-12-24 21:21 编辑

组网如下图

                               
登录/注册后可看大图


疑惑问题如下:
PC0去pingPC1的时候,数据包丢到ASA5505的 F0/1接口后 由于存在 nat(inside,outsid)所以进行了源转换;
数据包源成了 10.10.10.10 目的还是PC1,然后再从ASA丢到PC1。
PC1进行回复,源是自己 目的是10.10.10.10,这时候是发到网关;
然后这时,网关(在ASA上)收到PC的这个回复包,解下来该如何进行转发,顺序是什么?

这时候ASA上面有条路由:route inside 10.10.10.10 255.255.255.255 192.140.253.242 ,但好像数据包从网关发不出来了。
看转发的时候好像是没有匹配路由。

后续我修改了路由为:route inside 192.120.76.0 255.255.255.0 192.140.253.242,这时候PC0正常收到PC1的回复。

大神们我想问下,ASA防火墙上 我配置了关于NAT部分的配置如下:
access-list outside_acl_in extended permit icmp any any
access-list inside_acl_in extended permit icmp any any
!
access-group inside_acl_in in interface inside
access-group outside_acl_in in interface outside
object network host_NAT_IP
nat (inside,outside) static 10.10.10.10

我想问的是,PC1的回复包 从网关(ASA上)发出去的时候 没经过F0/1(inside)接口前,就已经进行了NAT转换吗?然后才进行路由吗?

正常不应该是回复的包 经过路由 找到下一跳后,经过F0/1接口 这时候才会去匹配之前的 NAT会话表项 来进行转换吗?

麻烦用过思科设备的大神解答一下,小白疑惑不解,感谢大家!!


231.png

最佳答案

查看完整内容

在 ASA 上,NAT 和路由是两个独立的功能。在 ASA 上,路由会先于 NAT 转换发生。 当 ASA 收到 PC1 的回复数据包时,会先将其进行路由转发。ASA 会查看其路由表,看看是否有一条路由可以将数据包转发到目的地(即 PC0)。如果有,则 ASA 会将数据包转发到目的地。 在这个过程中,NAT 转换并不会发生。直到数据包进入 ASA 的内部接口(inside)时,NAT 转换才会发生。在这种情况下,ASA 会将数据包的源地址替换为配置的静态 NA ...
发表于 2022-12-24 21:21:55 | 显示全部楼层
在 ASA 上,NAT 和路由是两个独立的功能。在 ASA 上,路由会先于 NAT 转换发生。

当 ASA 收到 PC1 的回复数据包时,会先将其进行路由转发。ASA 会查看其路由表,看看是否有一条路由可以将数据包转发到目的地(即 PC0)。如果有,则 ASA 会将数据包转发到目的地。

在这个过程中,NAT 转换并不会发生。直到数据包进入 ASA 的内部接口(inside)时,NAT 转换才会发生。在这种情况下,ASA 会将数据包的源地址替换为配置的静态 NAT 地址(10.10.10.10),然后再将数据包发送到 PC0。

综上所述,PC1 的回复数据包在经过 ASA 之前是不会进行 NAT 转换的。它先进行路由转发,然后再进行 NAT 转换。
沙发 2022-12-24 21:21:55 收起回复
honghu661 2022-12-26 01:44
回复
是不是数据包没匹配到路由就被丢弃了?是不是说明 回复的数据包在被从inside接口往外发之前就已经进行了 nat转换。
包的目的就已经变成了 192.120.76.202,所以才匹配不到路由?
honghu661 2022-12-26 01:42
回复
但是做实验的时候不行,PC0没收到 PC1的回包。
用延时模式 发现是 PC1回复的数据包在ASA收到后 就丢弃了,这是啥情况?
因为我ASA上只有一条route inside 10.10.10.10 255.255.255.255 192.140.253.242的路由。
honghu661 2022-12-26 01:40
回复
顺理成章的,那就是从inside接口发出去的 回复数据包【源:PC1地址,目 10.10.10.10】 被转换成了 数据包【源:PC1地址,目 192.120.76.202】。
honghu661 2022-12-26 01:38
回复
那我ASA也存在一条route inside 10.10.10.10 255.255.255.255 192.140.253.242 的路由呀,数据包进来匹配目的路由 不刚好就匹配到这条么。
然后把数据包往 inside接口上(192.140.253.241) 丢,然后nat 才发生转换
honghu661 2022-12-26 01:36
回复
那按这么说,PC1回复的数据包:源地址是PC1本身ip,目的地址是10.10.10.10 没错吧。
那按道理ASA收到这个回复的数据包先进行路由转发,然后通过路由进行指导转发 往inside接口发出去的时候再nat进行转换。
honghu661 2022-12-26 01:36
回复
那按这么说,PC1回复的数据包:源地址是PC1本身ip,目的地址是10.10.10.10 没错吧。
那按道理ASA收到这个回复的数据包先进行路由转发,然后通过路由进行指导转发 往inside接口发出去的时候再nat进行转换。
回复

使用道具 举报

发表于 2022-12-26 13:29:06 | 显示全部楼层
确认NAT规则是否正确配置。在Cisco ASA 5505上配置NAT规则时,需要注意源地址、目标地址和映射地址之间的对应关系。

检查防火墙设备的连接状态。确保防火墙设备的网络连接正常,并且内部网络和外部网络之间的连接是可用的。

检查访问外部网络的设备是否存在网络连接问题。如果访问外部网络的设备存在网络连接问题,可能会导致NAT功能无法正常使用。

尝试重启防火墙设备。如果防火墙设备出现异常,重启设备可能会解决NAT问题。
板凳 2022-12-26 13:29:06 回复 收起回复
回复

使用道具 举报

发表于 2023-1-2 02:54:50 | 显示全部楼层
ASA上需要NAT IP 和实际IP的两条路由。只有nat ip 10.10.10.10 的路由是不够的。 可以参考思科文档的包处理流程。https://learningnetwork.cisco.co ... cessing-algorithm-x
地板 2023-1-2 02:54:50 回复 收起回复
回复

使用道具 举报

发表于 2023-1-6 23:11:04 | 显示全部楼层
思考asa巨难用
5# 2023-1-6 23:11:04 回复 收起回复
回复

使用道具 举报

发表于 2023-1-7 19:33:52 | 显示全部楼层
1. ASA是基于状态的防火墙,收到的回包首先检查session表,匹配了以后就往下转发,先做NAT,再做路由,不会检查 接口ACL的,所以你outside 的ACL放行的icmp没起作用。
2. 根据拓扑和你的配置看,你inside 到outside NAT了一个和Outside 不是一个网段的IP,是10.10.10.10 。那么当PC1收到来自10.10.10.10的访问,PC的网关配置是正常的吗?如果正常,那是没有问题的。
所以我觉得你这是路由的问题
6# 2023-1-7 19:33:52 回复 收起回复
回复

使用道具 举报

发表于 2024-4-17 15:52:13 | 显示全部楼层
好的谢谢
7# 2024-4-17 15:52:13 回复 收起回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-2 04:09 , Processed in 0.065381 second(s), 10 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表