在透明模式下配置 Cisco ASA:第 2 层 DMZ w/ Vlan 转换

网络工程 思科 以太网 cisco催化剂 VLAN 防火墙
2021-07-28 15:45:55

我正在进行一个项目,将一些现有的交换以太网 dot1q 中继迁移到 ASA 防火墙后面……这些中继每个都有五个 vlan(编号为 51 - 55)。这是原始layer2服务的简单图...

VLAN_Translation_00

要求之一是在原始 dot1q 中继中的每个 Vlan 都有一个 ASA 防火墙上下文。这意味着我最终使用 BVI 将新的 INSIDE 接口桥接到每个 FW 上下文中的 DMZ 接口。由于其他限制,我最终得到了这样的固件配置(我正在总结所有上下文内容以简化问题)...

firewall transparent
!
interface GigabitEthernet0/1.51
 vlan 51
 nameif INSIDE
 security-level 100
 bridge-group 1
!
interface GigabitEthernet0/2.951
 vlan 951
 nameif DMZ
 security-level 50
 bridge-group 1
!
interface BVI1
 ip address 10.10.51.240 255.255.255.0 standby 10.10.51.241
!

处于透明模式的 Cisco ASA 最终使用两个不同的 vlan ID 来连接单个第 2 层 vlan 服务。通过interface BVI1;连接两个 vlan bridge-group 1每个物理接口上配置在上面的配置中建立了 Vlan51 和 Vlan951 之间的连接。

假设 ASA:Gi0/2 连接到 4507:Gi1/2...注意 DMZ 接口发生了什么...ASA DMZ Vlan 是 951,它通过 dot1q 中继连接到 DMZ 交换机(Cat4507)。我需要将 D1 连接到交换机端口 4507:Gi1/1,但我必须将 Vlan951-955 服务作为 4507:Gi1/1 上的 dot1q Vlan51-55 传送到 D1。换句话说,我必须在 ASA 上进行的 Vlan BVI 争吵弄乱了我原始服务定义中的 Vlan 编号。

VLAN_translation_01

遗憾的是,我无法轻松地重新编号 D1 上的 Vlan。完美的解决方案是以某种方式将 4507:Gi1/2 上的 Vlan951 转换为 4507:Gi1/1 上的 Vlan51。Cisco 有一个称为vlan mapping的功能,但它似乎需要 QinQ...我所有的服务都是简单的 dot1q... 4500 vlan mapping文档不清楚它们如何处理简单的 dot1q 封装。

我知道我可以通过环回电缆转换 4500 中的 vlan,但这会为每个 vlan 烧掉两个额外的端口......服务中的所有 vlan 总共有十个额外的端口(v51 - v55)。

问题

请参考下图。

VLAN_translation_01

如何将 4507:Gi1/2 dot1q 中继上编号为 95x 的所有 Vlan 转换为 4507:Gi1/1 dot1q 上编号为 Vlan5x?我需要使用最少数量的端口用于“翻译开销”。请包括您的答案所需的所有端口的配置。

我对vlan 映射持开放态度,如果有人可以解释它在此拓扑中的工作方式...

设备

  • 4507R+E、Sup7L-E 带 IOS XE 3.4.0
  • ASA5555X 9.0(2)
3个回答

我没有要测试的 SUP7,但它适用于 SUP6 和 SUP32,我认为 SUP7 保留了此功能。

我已经在 J​​NPR M320 <-> SUP32 之间进行了测试,' vlan mapping JNPR SUP32 ' 工作得很好。

不需要QinQ,QinQ选项的作用是为一个特定的标签添加顶部标签。因此switchport vlan mapping 1042 dot1q-tunnel 42会将传入的 [1042] 堆栈映射到 [42 1042] 堆栈。switchport vlan mapping 1042 42将传入的 dot1q Vlan [1042] 映射到 dot1q Vlan [42]相反

JNPR M320 配置:

{master}[edit interfaces ge-0/1/0 unit 1042]
user@m320# show 
vlan-id 1042;
family inet {
    address 10.42.42.1/24;
}
{master}[edit interfaces ge-0/1/0 unit 1042]
user@m320# run show interfaces ge-0/1/0               
Physical interface: ge-0/1/0, Enabled, Physical link is Up
  Interface index: 135, SNMP ifIndex: 506
  Description: B: SUP32 ge5/1
  Link-level type: Flexible-Ethernet, MTU: 9192, Speed: 1000mbps, BPDU Error: None,
  MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Disabled,
  Auto-negotiation: Enabled, Remote fault: Online
  Device flags   : Present Running
  Interface flags: SNMP-Traps Internal: 0x4000
  CoS queues     : 8 supported, 8 maximum usable queues
  Current address: 00:12:1e:d5:90:7f, Hardware address: 00:12:1e:d5:90:7f
  Last flapped   : 2013-02-19 09:14:29 UTC (19w6d 21:12 ago)
  Input rate     : 4560 bps (5 pps)
  Output rate    : 6968 bps (4 pps)
  Active alarms  : None
  Active defects : None
  Interface transmit statistics: Disabled

SUP32 配置:

SUP32#show run int giga5/1
Building configuration...

Current configuration : 365 bytes
!
interface GigabitEthernet5/1
 description F: M320 ge-0/1/0
 switchport
 switchport trunk encapsulation dot1q
 switchport mode trunk
 switchport nonegotiate
 switchport vlan mapping enable
 switchport vlan mapping 1042 42
 mtu 9216
 bandwidth 1000000
 speed nonegotiate
 no cdp enable
 spanning-tree portfast edge trunk
 spanning-tree bpdufilter enable
end

SUP32#show ru int vlan42
Building configuration...

Current configuration : 61 bytes
!
interface Vlan42
 ip address 10.42.42.2 255.255.255.0
end

SUP32#sh int GigabitEthernet5/1 vlan mapping  
State: enabled
Original VLAN Translated VLAN
------------- ---------------
  1042           42  

SUP32#sh int vlan42                           
Vlan42 is up, line protocol is up 
  Hardware is EtherSVI, address is 0005.ddee.6000 (bia 0005.ddee.6000)
  Internet address is 10.42.42.2/24
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:09, output 00:01:27, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  L2 Switched: ucast: 17 pkt, 1920 bytes - mcast: 0 pkt, 0 bytes
  L3 in Switched: ucast: 0 pkt, 0 bytes - mcast: 0 pkt, 0 bytes mcast
  L3 out Switched: ucast: 0 pkt, 0 bytes mcast: 0 pkt, 0 bytes
     38 packets input, 3432 bytes, 0 no buffer
     Received 21 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles 
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     26 packets output, 2420 bytes, 0 underruns
     0 output errors, 0 interface resets
     0 output buffer failures, 0 output buffers swapped out

SUP32#ping 10.42.42.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.42.42.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
SUP32#sh arp | i 10.42.42.1
Internet  10.42.42.1             12   0012.1ed5.907f  ARPA   Vlan42
SUP32#show mac address-table dynamic address 0012.1ed5.907f
Legend: * - primary entry
        age - seconds since last seen
        n/a - not available

  vlan   mac address     type    learn     age              ports
------+----------------+--------+-----+----------+--------------------------
Active Supervisor:
*  450  0012.1ed5.907f   dynamic  Yes          0   Gi5/1
*   50  0012.1ed5.907f   dynamic  Yes          0   Gi5/1
*   40  0012.1ed5.907f   dynamic  Yes          0   Gi5/1
*   42  0012.1ed5.907f   dynamic  Yes          5   Gi5/1


user@m320# run ping 10.42.42.2 count 2 
PING 10.42.42.2 (10.42.42.2): 56 data bytes
64 bytes from 10.42.42.2: icmp_seq=0 ttl=255 time=0.495 ms
64 bytes from 10.42.42.2: icmp_seq=1 ttl=255 time=0.651 ms

--- 10.42.42.2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.495/0.573/0.651/0.078 ms

{master}[edit interfaces ge-0/1/0 unit 1042]
user@m320# run show arp no-resolve |match 10.42.42.2 
00:05:dd:ee:60:00 10.42.42.2      ge-0/1/0.1042        none

对@ytti 以上回答的一些支持,希望它有所帮助:

橙色#sh ver
Cisco IOS 软件、IOS-XE 软件、Catalyst 4500 L3 交换机软件 (cat4500e-UNIVERSALK9-M),版本 03.04.00.SG 发布软件 (fc3)
橙色#sh mod
机箱类型:WS-C4507R+E

Mod 端口 卡类型 型号 序列号
---+-----+--------------------------------------+- -----+------------
 4 4 Sup 7-E 10GE (SFP+), 1000BaseX (SFP) WS-X45-SUP7-E CAT1xxxxxxx 
橙色#sh run int ten4/1
构建配置...

当前配置:112 字节
接口 TenGigabitEthernet4/1
 交换机端口模式中继
 交换机端口 vlan 映射 100 10
 加载间隔 30
结尾

橙色#sh run int ten4/2
接口 TenGigabitEthernet4/2
 交换机端口模式中继
 交换机端口 vlan 映射 10 100
 加载间隔 30
橙色#sh vlan 映射 
接口 Te4/1:
VLAN 在线转换 VLAN 操作
------------------------------ --------------- ----- ---------
100 10 一对一
接口 Te4/2:
VLAN 在线转换 VLAN 操作
------------------------------ --------------- ----- ---------
10 100 一对一

我也没有可用的 SUP,但可以在 Brocade Netiron 上轻松完成。

只需将两个端口放在一个 VPLS 中,并用不同的 vlan 标记它们。像这样:

router mpls

    vpls translate test 100
     vlan 200
     tagged ethe 1/1
     vlan 300
     tagged eth1/2

Brocade 的优点是您可以将任何标签转换为另一个标签、双标签转换为另一个双标签、双标签转换为单标签以及单标签转换为双标签