Configurez Cisco ASA en mode transparent: Layer2 DMZ avec traduction Vlan

15

Je suis au milieu d'un projet de migration de troncs Ethernet commutés dot1q existants derrière un pare-feu ASA ... ces troncs ont cinq vlans chacun (numérotés de 51 à 55). Il s'agit d'un simple dessin du service layer2 d'origine ...

VLAN_Translation_00

L'une des exigences est d'avoir un contexte de pare-feu ASA par Vlan dans le tronc dot1q d'origine. Cela signifie que je me retrouve à utiliser un BVI pour relier la nouvelle interface INSIDE à l'interface DMZ dans chaque contexte FW. En raison d'autres contraintes, je me retrouve avec une configuration FW comme celle-ci (je résume tous les éléments de contexte pour simplifier la question) ...

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
!

Les ASA Cisco en mode transparent finissent par utiliser deux ID de vlan différents pour connecter un service vlan à une seule couche2. Connectez les deux vlans à travers interface BVI1; la bridge-group 1configuration sur chaque interface physique établit la connexion entre Vlan51 et Vlan951 dans la configuration ci-dessus.

Supposons qu'ASA: Gi0 / 2 se connecte à 4507: Gi1 / 2 ... Remarquez ce qui arrive à l'interface DMZ ... l'ASA DMZ Vlan est 951, et cela se connecte via un tronc dot1q au commutateur DMZ (le Cat4507). Je dois connecter D1 au port de commutation 4507: Gi1 / 1, mais je dois fournir les services Vlan951-955 à D1 en tant que dot1q Vlan51-55 sur 4507: Gi1 / 1. En d'autres termes, la dispute Vlan BVI que je devais faire sur l'ASA gâche la numérotation Vlan dans ma définition de service d'origine.

VLAN_translation_01

Malheureusement, je ne peux pas facilement renuméroter les VLAN sur D1. La solution parfaite serait de traduire en quelque sorte Vlan951 sur 4507: Gi1 / 2 en Vlan51 sur 4507: Gi1 / 1. Cisco a une fonctionnalité appelée mappage vlan , mais elle semble nécessiter QinQ ... tous mes services sont simples dot1q ... les documents de mappage vlan 4500 ne sont pas clairs sur la façon dont ils gèrent l'encapsulation dot1q simple.

Je sais que je peux traduire les vlans du 4500 via un câble de bouclage, mais cela brûle deux ports supplémentaires par Vlan ... un total de dix ports supplémentaires pour tous les Vlans du service (v51 - v55).

Question

Reportez-vous au schéma ci-dessous.

VLAN_translation_01

Comment puis-je traduire tous les Vlan numérotés 95x sur le tronc 4507: Gi1 / 2 dot1q pour être numérotés Vlan5x sur 4507: Gi1 / 1 dot1q? J'ai besoin d'utiliser le moins de ports consommés pour les "frais de traduction". Veuillez inclure les configurations pour tous les ports requis par votre réponse.

Je suis ouvert à la cartographie VLAN , si quelqu'un peut expliquer comment cela fonctionnerait dans cette topologie ...

Équipement

  • 4507R + E, Sup7L-E avec IOS XE 3.4.0
  • ASA5555X avec 9.0 (2)
Mike Pennington
la source

Réponses:

13

Je n'ai pas SUP7 à tester, mais cela fonctionne sur SUP6 et SUP32, je suppose que SUP7 conserve cette fonctionnalité.

J'ai testé entre JNPR M320 <-> SUP32 et le « mappage vlan JNPR SUP32 » fonctionne très bien.

Il n'y a pas besoin de QinQ, ce que fait l'option QinQ, c'est qu'il ajoute la balise supérieure à une balise en particulier. Il en switchport vlan mapping 1042 dot1q-tunnel 42serait de même pour la pile [1042] entrante sur la pile [42 1042]. Par opposition à switchport vlan mapping 1042 42qui mappe le point1q Vlan [1042] entrant vers le point1q Vlan [42].

Configuration 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

Configuration 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

Et

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
la source
Merci pour l'exemple ... Jusqu'à présent, vous utilisez un SVI pour remplacer ce que j'appelle Gi1 / 1 dans la question d'origine; cependant, ce serait une meilleure réponse s'il prouve que vous n'avez pas besoin de l'encapsulation QinQ pour partager Vlan42 au-delà du Sup32 lui-même. J'essaierai moi-même quand j'arriverai au travail si vous ne répondez pas plus tôt ...
Mike Pennington
1
Il n'y a aucun QinQ du tout impliqué. Imaginez que votre FW est mon M320 et votre SUP7 est mon SUP32. Dans votre port FW SUP7, vous réécrivez simplement le VLAN FW sur ce qu'il devrait être en externe 'mappage vlan du port de commutation <FW VLAN> <VLAN externe>'
ytti
5
Cisco effectue le mappage VLAN de deux manières. QinQ est utilisé pour conserver la balise VLAN d'origine lors de la traversée d'un réseau "étranger" tel qu'un SP. Le mappage VLAN un à un, qui est illustré ici, permute les balises dot1q, modifiant l'ID du VLAN lors du transfert ou de la réception sur l'interface donnée. Les deux fonctionneraient pour la question donnée.
Santino
L'application QinQ est principalement cette CustL2 - OperL2 - CustL2, puis dans les ports operL2 face à CustL2, vous configurez 'switchport mode dot1q-tunnel' et 'switchport access vlan 42'. Et tous les VLAN CustL2 transiteraient OperL2 en tant que «[42 X]». Cependant, à OperL2, tous ces éléments partagent une seule table MAC, donc ce n'est pas entièrement transparent, vous ne pouvez pas avoir de collision entre X dans des VLAN sur différents sites Cust. MACinMAC (PBB) est une solution plus transparente avec une meilleure mise à l'échelle (utilisation MAC dans le cœur).
ytti
Pour info, il semble que ce switchport vlan mapping enablene soit pas obligatoire sur Sup7 ...
Mike Pennington
7

un certain soutien pour la réponse de @ytti ci-dessus, j'espère que cela aide:

orange # sh ver
Logiciel Cisco IOS, logiciel IOS-XE, logiciel de commutateur Catalyst 4500 L3 (cat4500e-UNIVERSALK9-M), version 03.04.00.SG RELEASE SOFTWARE (fc3)
…
orange # sh mod
Type de châssis: WS-C4507R + E

Ports Mod Type de carte Modèle N ° de série
--- + ----- + -------------------------------------- + - ----------------- + -----------
 4 4 Sup 7-E 10GE (SFP +), 1000BaseX (SFP) WS-X45-SUP7-E CAT1xxxxxxx 
…
orange # sh run int ten4 / 1
Configuration du bâtiment ...

Configuration actuelle: 112 octets
!
interface TenGigabitEthernet4 / 1
 tronc en mode switchport
 mappage vlan switchport 100 10
 intervalle de charge 30
fin

orange # sh run int ten4 / 2
!
interface TenGigabitEthernet4 / 2
 tronc en mode switchport
 mappage VLAN Switchport 10 100
 intervalle de charge 30
…
cartographie vlan orange # sh 
Interface Te4 / 1:
VLAN sur fil Opération de VLAN traduite
------------------------------ --------------- ----- ---------
100 10 1 à 1
Interface Te4 / 2:
VLAN sur fil Opération de VLAN traduite
------------------------------ --------------- ----- ---------
10100 1 contre 1
smoothbSE
la source
3

Moi aussi, je n'ai pas ce SUP disponible, mais je peux facilement le faire sur un Brocade Netiron.

Mettez simplement deux ports dans un VPLS et étiquetez-les avec différents vlans. Ainsi:

router mpls

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

Une bonne chose à propos du Brocade est que vous pouvez convertir n'importe quelle balise en une autre balise, double balise en une autre double balise, double balise en simple balise et simple balise en double balise

mellowd
la source
Je dois utiliser Supervisor7 dans un c4507R + E pour ce service.
Mike Pennington
Si je comprends bien, ce n'est techniquement pas une traduction - cela définit deux points de terminaison pour cette instance VPLS. La définition de plusieurs points de terminaison balisés comme celui-ci dans une seule instance VPLS ne fait que mélanger tout le trafic balisé ensemble. La traduction serait une instance VPLS sur un nœud, le point d'extrémité étant une interface VLAN + balisée, puis cette même instance VPLS sur un autre nœud avec un point d'extrémité étant une interface VLAN + balisée différente.
John Jensen
Ajoutant également que si vous souhaitez effectuer la traduction sur un seul appareil, vous devrez utiliser un vll-local au lieu d'une instance VPLS.
John Jensen
Non, ce VPLS fonctionnera. Le Brocade ne vous permettra pas d'utiliser vll-local et d'utiliser beaucoup de flexibilité sur les cadres balisés / simples. Et oui, bien que «techniquement» ce ne soit pas une traduction, c'est exactement ce qu'il fera. c'est-à-dire dans l'exemple ci-dessus une trame avec une balise vlan de 200 entrant dans eth1 / 1 sortira de eth1 / 2 avec une balise vlan de 300. Donc, le résultat final est ce que l'OP veut - Il ne s'ajustera pas, bien sûr, toutes les images bpdu
mellowd