跨多个 VLAN 复制的流量 - ASA

网络工程 思科-ASA
2022-02-21 11:06:52

将交换机通过中继连接到 FW。FW 上的接收接口是一个 PO,主干上的每个 VLAN 都有 subif。我们有一个要跟踪的流进入 VLAN 306 / SEC_Data,离开 VLAN 307 / SEC_TELEPHONY,数据包跟踪器验证这些是实际的输入/输出。有了这些信息,我们在两个 if 上都设置了捕获(分别映射到 VLAN 306 和 307)。结果是我们在两个接口上捕获了相同的流。我不确定这是否是 ASA 捕获逻辑问题,或者如果不是,这怎么可能..

交通模式

SRC - 10.97.48.188

夏令时 - 10.97.85.11

超过 - TCP 1099

接口设置

Port-channel2.306        SEC_Data               10.97.48.1      255.255.240.0   manual
Port-channel2.307        SEC_TELEPHONY          10.97.80.1      255.255.240.0   manual

数据包跟踪器验证输入/输出是否

packet-tracer input SEC_Data tcp 10.97.48.188 1024 10.97.63.33 1099 det
Result:
input-interface: SEC_Data
input-status: up
input-line-status: up
output-interface: SEC_TELEPHONY
output-status: up
output-line-status: up
Action: allow

捕获字符串

capture test2 type raw-data interface SEC_Data [Capturing - 0 bytes] 
  match tcp host 10.97.48.188 host 10.97.85.11 eq 1099 
capture sectel type raw-data interface SEC_TELEPHONY [Capturing - 0 bytes] 
  match tcp host 10.97.48.188 host 10.97.85.11 eq 1099 

捕获结果

capture test2 type raw-data interface SEC_Data [Capturing - 1728 bytes] 
  match tcp host 10.97.48.188 host 10.97.85.11 eq 1099 
capture sectel type raw-data interface SEC_TELEPHONY [Capturing - 1728 bytes] 
  match tcp host 10.97.48.188 host 10.97.85.11 eq 1099 

NY-CORE-FW1# sh cap test2

16 packets captured

   1: 15:33:30.311751       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: S 1531525431:1531525431(0) win 29200 <mss 1460,sackOK,timestamp 3343832270 0,nop,wscale 7> 
   2: 15:33:30.311888       802.1Q vlan#306 P0 10.97.85.11.1099 > 10.97.48.188.41956: S 4154378133:4154378133(0) ack 1531525432 win 14480 <mss 1380,sackOK,timestamp 1852592717 3343832270,nop,wscale 7> 
   3: 15:33:30.312193       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: . ack 4154378134 win 229 <nop,nop,timestamp 3343832271 1852592717> 
   4: 15:33:30.343274       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 1531525432:1531525439(7) ack 4154378134 win 229 <nop,nop,timestamp 3343832302 1852592717> 
   5: 15:33:30.343335       802.1Q vlan#306 P0 10.97.85.11.1099 > 10.97.48.188.41956: . ack 1531525439 win 114 <nop,nop,timestamp 1852592749 3343832302> 
   6: 15:33:30.343427       802.1Q vlan#306 P0 10.97.85.11.1099 > 10.97.48.188.41956: P 4154378134:4154378153(19) ack 1531525439 win 114 <nop,nop,timestamp 1852592749 3343832302> 
   7: 15:33:30.343610       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: . ack 4154378153 win 229 <nop,nop,timestamp 3343832302 1852592749> 
   8: 15:33:30.344281       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 1531525439:1531525457(18) ack 4154378153 win 229 <nop,nop,timestamp 3343832303 1852592749> 
   9: 15:33:30.344357       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 1531525457:1531525507(50) ack 4154378153 win 229 <nop,nop,timestamp 3343832303 1852592749> 
  10: 15:33:30.344418       802.1Q vlan#306 P0 10.97.85.11.1099 > 10.97.48.188.41956: . ack 1531525507 win 114 <nop,nop,timestamp 1852592750 3343832303> 
  11: 15:33:30.344556       802.1Q vlan#306 P0 10.97.85.11.1099 > 10.97.48.188.41956: P 4154378153:4154378380(227) ack 1531525507 win 114 <nop,nop,timestamp 1852592750 3343832303> 
  12: 15:33:30.372371       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 1531525507:1531525522(15) ack 4154378380 win 237 <nop,nop,timestamp 3343832331 1852592750> 
  13: 15:33:30.412316       802.1Q vlan#306 P0 10.97.85.11.1099 > 10.97.48.188.41956: . ack 1531525522 win 114 <nop,nop,timestamp 1852592818 3343832331> 
  14: 15:33:45.374126       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: F 1531525522:1531525522(0) ack 4154378380 win 237 <nop,nop,timestamp 3343847332 1852592818> 
  15: 15:33:45.374492       802.1Q vlan#306 P0 10.97.85.11.1099 > 10.97.48.188.41956: F 4154378380:4154378380(0) ack 1531525523 win 114 <nop,nop,timestamp 1852607779 3343847332> 
  16: 15:33:45.374766       802.1Q vlan#306 P0 10.97.48.188.41956 > 10.97.85.11.1099: . ack 4154378381 win 237 <nop,nop,timestamp 3343847333 1852607779> 
16 packets shown
NY-CORE-FW1# sh cap sectel

16 packets captured

   1: 15:33:30.311797       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: S 3575611247:3575611247(0) win 29200 <mss 1380,sackOK,timestamp 3343832270 0,nop,wscale 7> 
   2: 15:33:30.311888       802.1Q vlan#307 P0 10.97.85.11.1099 > 10.97.48.188.41956: S 3333267844:3333267844(0) ack 3575611248 win 14480 <mss 1460,sackOK,timestamp 1852592717 3343832270,nop,wscale 7> 
   3: 15:33:30.312209       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: . ack 3333267845 win 229 <nop,nop,timestamp 3343832271 1852592717> 
   4: 15:33:30.343289       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 3575611248:3575611255(7) ack 3333267845 win 229 <nop,nop,timestamp 3343832302 1852592717> 
   5: 15:33:30.343335       802.1Q vlan#307 P0 10.97.85.11.1099 > 10.97.48.188.41956: . ack 3575611255 win 114 <nop,nop,timestamp 1852592749 3343832302> 
   6: 15:33:30.343411       802.1Q vlan#307 P0 10.97.85.11.1099 > 10.97.48.188.41956: P 3333267845:3333267864(19) ack 3575611255 win 114 <nop,nop,timestamp 1852592749 3343832302> 
   7: 15:33:30.343625       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: . ack 3333267864 win 229 <nop,nop,timestamp 3343832302 1852592749> 
   8: 15:33:30.344281       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 3575611255:3575611273(18) ack 3333267864 win 229 <nop,nop,timestamp 3343832303 1852592749> 
   9: 15:33:30.344373       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 3575611273:3575611323(50) ack 3333267864 win 229 <nop,nop,timestamp 3343832303 1852592749> 
  10: 15:33:30.344418       802.1Q vlan#307 P0 10.97.85.11.1099 > 10.97.48.188.41956: . ack 3575611323 win 114 <nop,nop,timestamp 1852592750 3343832303> 
  11: 15:33:30.344556       802.1Q vlan#307 P0 10.97.85.11.1099 > 10.97.48.188.41956: P 3333267864:3333268091(227) ack 3575611323 win 114 <nop,nop,timestamp 1852592750 3343832303> 
  12: 15:33:30.372386       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: P 3575611323:3575611338(15) ack 3333268091 win 237 <nop,nop,timestamp 3343832331 1852592750> 
  13: 15:33:30.412316       802.1Q vlan#307 P0 10.97.85.11.1099 > 10.97.48.188.41956: . ack 3575611338 win 114 <nop,nop,timestamp 1852592818 3343832331> 
  14: 15:33:45.374141       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: F 3575611338:3575611338(0) ack 3333268091 win 237 <nop,nop,timestamp 3343847332 1852592818> 
  15: 15:33:45.374492       802.1Q vlan#307 P0 10.97.85.11.1099 > 10.97.48.188.41956: F 3333268091:3333268091(0) ack 3575611339 win 114 <nop,nop,timestamp 1852607779 3343847332> 
  16: 15:33:45.374766       802.1Q vlan#307 P0 10.97.48.188.41956 > 10.97.85.11.1099: . ack 3333268092 win 237 <nop,nop,timestamp 3343847333 1852607779> 
16 packets shown
2个回答

在我看来,这更多是关于“ASA 捕获逻辑问题”,而不是“跨多个 VLAN 复制的流量”。


我告诉你更多:

  1. 尽管我们交换了源主机和目标主机的位置,但以下两个捕获(在接口 SEC_Data 和接口 SEC_TELEPHONY 上的类似想法)是相同的。

    capture test3 interface SEC_Data match tcp host 10.97.48.188 host 10.97.85.11 eq 1099

    capture test4 interface SEC_Data match tcp host 10.97.85.11 eq 1099 host 10.97.48.188

    捕获 test3 似乎更合乎逻辑,因为(来自)主机 10.97.48.188 的流量来自接口 SEC_Data,我们正确地将其放在命令的 src-address 位置,而主机 10.97.85.11(TCP 1099)位于 des-address位置。

    但是,捕获 test4 会产生与 test3 相同的输出。我们知道它的逻辑听起来“错误”,因为我们将主机 10.97.85.11 (TCP 1099) 放在 src-address 位置(而捕获接口是 SEC_Data)并将主机 10.97.48.188 放在 des-address。

    => ASA 捕获的流量/逻辑与 ASA access-list 不同使用访问列表,如果您将主机按错误的顺序放置,它将根本无法工作。

    对我来说,捕获功能更关心主机 A 或主机 B 是否驻留在捕获接口中以及进出它们的所有流量,而不是 SYNC 数据包是否最初是从捕获接口生成的(以及主机的正确/真实位置) .

  2. 为了更好地理解,您可以使用带有捕获的访问列表来查看捕获如何与流量一起工作。

    清除所有捕获并创建一个新的 sectel2,它与 sectel1 具有相同的结果,但热点位置不同(参见上面的第 1 点)

    capture sectel2 interface SEC_TELEPHONY match tcp host 10.97.85.11 eq 1099 host 10.97.48.188

    在下面创建两条虚拟 ACL 行。它们是无害的,因为它们不应用于任何接口:

    access-list Data-Telephony extended permit tcp host 10.97.48.188 host 10.97.85.11 eq 1099

    access-list Telephony-Data extended permit tcp host 10.97.85.11 eq 1099 host 10.97.48.188

    将上面的两行应用于新捕获,然后生成流量:

    capture sectel3 access-list Data-Telephony interface SEC_TELEPHONY

    capture sectel4 access-list Telephony-Data interface SEC_TELEPHONY

    结果:

    • 捕获 sectel1 和 sectel2 具有相同的输出。

    • 捕获 sectel3 包含 TCP 1099 上从 10.97.48.188 到 10.97.85.11 的所有数据包(从 SYNC 数据包开始)(由于访问列表 Data-Telephony,只有一个方向)。

    • 捕获 sectel4 包含从 TCP 1099 上的 10.97.85.11 到 10.97.48.188 的所有数据包(以 SYNC + ACK 数据包开始)(由于访问列表 Telephony-Data,只有一个方向)。

    • 结合 sectel3 和 sectel4 的输出,您会发现它们与 sectel1 或 sectel2 相同。

我希望你明白这个想法,它是有帮助的!

编辑: 我相信以下两张图片可以解决这个问题:

  1. 你在乎/在想什么: 捕获流量 ASA 1

    1. 然而,这正是它的本质:

捕获流量 ASA 2

对我来说,这看起来很正常。

我不认为这些捕获是相同的。

查看第一帧的 TCP 标头 (TCP SYN),您可以看到 - 尽管所有其他属性都相同 - 序列号是不同的。

编辑:哦..还有 MSS 钳位 - ASA 将 MSS 字段从 1460 重写为 1380,在发起方的 SYN 段和响应方的 SYN-ACK 段上。

我认为这是 ASA 的TCP 序列号随机化在起作用。

编辑:ASA 也执行一些 TCP MSS 操作。

除此之外,我真诚地希望帧/数据包的所有其他属性在通过端口通道的 subifs 之一进入并通过另一个退出时保持不变(给或接受 NAT 在这里和那里重写一些东西,但是 NAT很明显这里没有使用)。