태그 보관물: Cisco

Mikrotik router & Cisco L2 Switch Trunking

802.1Q 태그로 한 링크에 여러 VLAN 싣기

VLAN Trunking은 하나의 물리 링크에서 여러 VLAN 트래픽을 IEEE 802.1Q 태그로 구분해 전달하는 기술입니다. 이 글은 MikroTik RouterOS와 Cisco IOS 스위치를 함께 쓰는 환경에서 양쪽 trunk 포트를 맞춘 MikroTik Cisco VLAN Trunking 구성 기록입니다.

Scenario

Mikrotik router 와 Cisco L2 스위치 이기종간에 회선 이중화(bonding, etherchannel) 후 두 장비 모두 vlan 100(192.168.x.x/24), vlan 200(192.168.x.x/24)의 통신이 가능하도록 구성

MikroTik bonding1(ether2, ether3)과 Cisco Port-channel1(Gi0/1, Gi0/2)을 LACP로 묶어 VLAN 100, 200을 802.1Q 태그로 전달하는 MikroTik Cisco VLAN Trunking 구성도
MikroTik Cisco VLAN Trunking 구성 — bonding1과 Port-channel1을 LACP로 묶고 VLAN 100, 200을 802.1Q 태그로 전달합니다.
# Mikrotik router side
# bridge 생성
/interface bridge
add name=bridge-lan vlan-filtering=yes

# vlan 생성 및 bridge 할당
/interface vlan
add interface=bridge-lan name=vlan100 vlan-id=100
add interface=bridge-lan name=vlan200 vlan-id=200

# bonding 생성(ether2, ether3 포트 대상)
/interface bonding
add mode=802.3ad name=bonding1 slaves=ether2,ether3 transmit-hash-policy=\
    layer-2-and-3

# trunk 처리, bridge-lan에 포함된 port 중 trunk 대상 아닌 경우 untagged port 처리
/interface bridge port
add bridge=bridge-lan frame-types=admit-only-vlan-tagged interface=bonding1
add bridge=bridge-lan tagged=bonding1,bridge-lan untagged=\
    ether4,ether5,ether6 vlan-ids=100,200

# vlan IP 및 대역 할당
/ip address
add address=192.168.x.x/24 interface=vlan100 network=192.168.x.x
add address=192.168.x.x/24 interface=vlan200 network=192.168.x.x
# Cisco L2 switch side

configure terminal

# vlan IP 및 대역 할당
interface Vlan100
 ip address 192.168.x.x 255.255.255.0
interface Vlan200
 ip address 192.168.x.x 255.255.255.0

# etherchannel 구성(GigabitEthernet0/1, GigabitEthernet0/2 포트 대상)
interface range GigabitEthernet0/1-2
 channel-protocol lacp
 channel-group 1 mode active

# 생성된 etherchannel에 trunk 모드 및 trunking할 vlan 적용
interface Port-channel1
 switchport trunk allowed vlan 100,200
 switchport mode trunk

end
write

링크 이중화(LACP) 방식 비교

이 구성에서는 MikroTik 측의 Bonding(802.3ad LACP)과 Cisco 측의 EtherChannel(LACP)을 상호 연결합니다. LACP는 두 장비의 물리 링크를 하나의 논리 인터페이스로 묶어 대역폭 확장과 링크 이중화를 동시에 제공합니다.

MikroTik은 mode=802.3ad로 LACP를 활성화하고 transmit-hash-policy=layer-2-and-3으로 로드밸런싱 해시를 L2+L3 기반으로 설정합니다. Cisco는 channel-protocol lacp와 channel-group 1 mode active로 LACP 협상을 능동적으로 시작합니다. 양쪽 모두 LACP active 모드로 설정하면 협상이 정상적으로 진행됩니다.

VLAN Trunk 통신 오류 점검 순서

이기종 장비 간 VLAN Trunk 구성 시 통신 오류가 발생하면 아래 항목을 순서대로 확인합니다.

# MikroTik: LACP 협상 상태 및 bonding 멤버 확인
/interface bonding monitor bonding1

# MikroTik: bridge VLAN 설정 확인
/interface bridge vlan print

# MikroTik: bridge port frame-type 확인
/interface bridge port print

# Cisco: EtherChannel 상태 확인
show etherchannel summary
show interfaces port-channel 1 trunk

# Cisco: VLAN trunk 허용 목록 확인
show interfaces trunk

가장 흔한 오류는 MikroTik의 bridge VLAN filtering이 비활성화된 경우와 Cisco trunk의 allowed VLAN 목록이 일치하지 않는 경우입니다. LACP 협상이 실패해도 단일 링크만 활성화되거나 링크 자체가 down될 수 있으므로, 양쪽의 LACP 상태를 함께 확인해야 합니다.

VLAN 구성 검증 절차

MikroTik과 Cisco 이기종 VLAN Trunk 구성 완료 후에는 단계적으로 통신을 검증합니다. 먼저 각 VLAN 인터페이스에 IP를 할당하고 동일 VLAN 내에서 핑이 통하는지 확인합니다. 다음으로 VLAN 간 통신은 MikroTik의 라우팅 또는 Cisco L3 스위치의 인터 VLAN 라우팅을 통해 확인합니다.

VLAN 100과 VLAN 200 사이의 통신이 필요한 경우 MikroTik에서 두 VLAN 인터페이스 간 라우팅이 활성화되어 있어야 합니다. MikroTik은 기본적으로 인터페이스 간 포워딩이 활성화되어 있어 별도 라우팅 설정 없이 VLAN 간 통신이 가능하지만, 방화벽 규칙에 따라 차단될 수 있습니다. /ip firewall filter print로 방화벽 규칙을 확인하고 필요한 경우 forward 체인에 허용 규칙을 추가합니다.

Cisco 측에서는 show interfaces trunk로 trunk 포트에서 허용된 VLAN 목록을 확인하고, show mac address-table로 각 VLAN의 MAC 주소가 올바른 포트에 학습되었는지 검증합니다. VLAN 통신 오류나 링크 다운이 발생하면 양쪽 장비의 로그를 동시에 확인하는 편이 원인 파악에 빠릅니다.

참고

참고 문서: MikroTik VLAN 공식 문서 · Cisco VLAN/VTP 설정 가이드