NX-OS VRF-lite로 취약 단말 VLAN 격리하기 — 구축편 (2/2)

🔧 NX-OS VRF-lite로 취약 단말 VLAN 격리하기 — 구축편 (2/2)

VRF 생성부터 SVI 이관 · 정적 라우팅 · OSPF 재분배 · 방화벽 연동 · 검증 명령어 · 순단 최소화 전환 절차와 롤백까지

#NXOS #vrf_member #HSRP #route_map #redistribute #vPC #Cutover #Rollback

📋 목차

  • 1. 작업 순서 개요 — 무영향 구간 vs 순단 구간
  • 2. STEP 1~9 설정 전문
  • 3. 검증 명령어와 정상 출력 판독
  • 4. 전환(Cutover) 타임라인과 롤백
  • 5. 함정 Top 9
  • 6. 확장 관점 — 이 구조가 향하는 곳

1. 작업 순서 개요 — 무영향 구간 vs 순단 구간

STEP작업구간서비스 영향
1현재 설정 백업 · 원본 SVI 전문 확보사전없음
2VRF 컨텍스트 생성사전없음
3Transit-B VLAN/SVI 생성 (VRF 측)사전없음
4Transit-A VLAN/SVI 생성 (Default 측)사전없음
5VRF 내부 정적 디폴트 라우팅사전없음
6방화벽 인터페이스·라우팅·정책 설정사전없음
7Default VRF 정적 리턴 경로 사전 투입사전없음 *
8격리 VLAN SVI를 VRF로 이관순단수 초~수 분
9OSPF 재분배 설정 · 수렴 확인전환 직후수렴 지연
💡 STEP 7이 무영향인 이유 — 이 설계의 핵심 트릭

SVI가 아직 Default VRF에 있는 동안 172.20.10.0/24Connected 경로(AD 0)로 존재한다. 여기에 Static 경로(AD 1)를 미리 넣어도 AD가 높아 RIB에 설치되지 않으므로 트래픽에 아무 영향이 없다.

그리고 STEP 8에서 SVI가 VRF로 빠지는 순간 Connected가 사라지고 대기하던 Static이 즉시 활성화된다. 경로 공백 없이 스위칭되는 구조. 리턴 경로를 나중에 넣으면 그 사이 블랙홀이 발생한다.


2. STEP 1~9 설정 전문

STEP 1사전 백업 및 원본 확보무영향

롤백의 전제. 원본 SVI 설정을 한 글자도 빠짐없이 확보한다. secondary IP, HSRP secondary VIP, ACL, DHCP relay가 붙어 있는지 특히 확인.

CORE-SW-01# show running-config interface Vlan900
CORE-SW-01# show running-config | section "router ospf"
CORE-SW-01# show ip route | include 172.20.
CORE-SW-01# show hsrp brief
CORE-SW-01# copy running-config bootflash:cfg_pre_vrf_YYYYMMDD.cfg
STEP 2VRF 컨텍스트 생성무영향

VRF-lite는 별도 feature 활성화가 필요 없다. 컨텍스트만 만들면 즉시 빈 라우팅 테이블이 생성된다.

CORE-SW-01(config)# vrf context LEGACY_ZONE
CORE-SW-01(config-vrf)#   address-family ipv4 unicast
CORE-SW-01(config-vrf-af-ipv4)#   exit
STEP 3Transit-B VLAN/SVI — VRF ↔ 방화벽 inside무영향

VRF 측 전송 구간. 라우팅 프로토콜을 붙이지 않는다. 정적 디폴트 하나만 쓰는 것이 격리 설계의 원칙.

vlan 910
  name TRANSIT_FW_INSIDE

! ── CORE-SW-01 ──
interface Vlan910
  no shutdown
  vrf member LEGACY_ZONE
  no ip redirects
  ip address 192.168.100.5/29
  no ipv6 redirects
  hsrp version 2
  hsrp 910
    priority 110
    preempt
    timers 1 3
    ip 192.168.100.4

! ── CORE-SW-02 ── (IP와 priority만 상이)
interface Vlan910
  no shutdown
  vrf member LEGACY_ZONE
  no ip redirects
  ip address 192.168.100.6/29
  no ipv6 redirects
  hsrp version 2
  hsrp 910
    priority 100
    preempt
    timers 1 3
    ip 192.168.100.4
STEP 4Transit-A VLAN/SVI — Default VRF ↔ 방화벽 outside무영향

백본 측 전송 구간. 방화벽은 OSPF 피어가 아니므로 passive-interface광고만 하고 인접성은 맺지 않는다.

vlan 920
  name TRANSIT_FW_OUTSIDE

! ── CORE-SW-01 ──
interface Vlan920
  no shutdown
  no ip redirects
  ip address 192.168.100.10/29
  no ipv6 redirects
  ip ospf passive-interface
  ip router ospf 100 area 0.0.0.1
  hsrp version 2
  hsrp 920
    priority 110
    preempt
    timers 1 3
    ip 192.168.100.9
STEP 5VRF 내부 정적 디폴트 라우팅무영향

격리 VRF의 유일한 출구를 방화벽 inside로 못박는다. 이 경로 하나가 “전 트래픽 방화벽 경유” 목표를 물리적으로 강제한다.

vrf context LEGACY_ZONE
  ip route 0.0.0.0/0 192.168.100.1 1
STEP 6방화벽 인터페이스·라우팅·정책무영향

방화벽은 두 개의 L3 레그를 가진다. 라우팅은 단 2줄이지만, 정책은 설계편 체크리스트 기반으로 사전 완성되어 있어야 한다.

[ 인터페이스 ]
port1 (inside , 격리망 측) : 192.168.100.1/29
port6 (outside, 백본 측)   : 192.168.100.12/29

[ 라우팅 ]
Destination        Gateway IP        Interface
0.0.0.0/0          192.168.100.9     port6     ← 백본 HSRP VIP
172.20.10.0/23     192.168.100.4     port1     ← VRF HSRP VIP

[ 정책 (예시) ]
LEGACY→INTERNAL : AD인증(88,389,636,445,135,49152-65535)
                  DNS(53) / NTP(123) / WSUS(8530-8531)
                  Backup Agent / SNMP / Syslog
INTERNAL→LEGACY : 관리 접속(RDP 3389) / 자산관리 에이전트
DEFAULT         : DENY + LOG
STEP 7Default VRF 정적 리턴 경로 사전 투입무영향

Connected(AD 0)가 우선이므로 지금은 대기 상태로만 남는다. STEP 8 직후 자동 활성화된다.

ip route 172.20.10.0/24 192.168.100.12 name ISOLATED_VIA_FW
ip route 172.20.11.0/24 192.168.100.12 name ISOLATED_VIA_FW
STEP 8격리 VLAN SVI를 VRF로 이관 — 순단 발생순단

이 작업의 유일한 위험 구간. vrf member 입력 순간 해당 인터페이스의 IP·HSRP·라우팅 설정이 전부 삭제된다. 아래 블록을 통째로 복사해 한 번에 투입해야 순단이 초 단위로 끝난다.

! ── CORE-SW-01 · 일괄 투입 ──
interface Vlan900
  vrf member LEGACY_ZONE
  no ip redirects
  ip address 172.20.10.2/24
  ip address 172.20.11.2/24 secondary
  no ipv6 redirects
  hsrp version 2
  hsrp 900
    priority 110
    preempt
    timers 1 3
    ip 172.20.10.1
    ip 172.20.11.1 secondary
  no shutdown

! ── CORE-SW-02 · 일괄 투입 ──
interface Vlan900
  vrf member LEGACY_ZONE
  no ip redirects
  ip address 172.20.10.3/24
  ip address 172.20.11.3/24 secondary
  no ipv6 redirects
  hsrp version 2
  hsrp 900
    priority 100
    preempt
    timers 1 3
    ip 172.20.10.1
    ip 172.20.11.1 secondary
  no shutdown

주의: 이관 후 ip router ospf 계열은 의도적으로 복원하지 않는다. VRF에는 OSPF 프로세스가 없으며, 있어서도 안 된다.

STEP 9OSPF 재분배 — 백본에 신규 경로 광고수렴 지연

SVI가 VRF로 빠지면서 기존 OSPF 광고가 사라진다. 이를 대체할 Static → OSPF External Type-2 재분배를 구성한다. Prefix-list로 범위를 명시 제한해 의도치 않은 경로 유출을 막는다.

ip prefix-list PL_ISOLATED_NETS seq 10 permit 172.20.10.0/24
ip prefix-list PL_ISOLATED_NETS seq 20 permit 172.20.11.0/24

route-map RM_REDIST_STATIC permit 10
  match ip address prefix-list PL_ISOLATED_NETS

router ospf 100
  router-id 10.255.255.1
  redistribute static route-map RM_REDIST_STATIC
  log-adjacency-changes
⚠ 재분배 타이밍 주의

NX-OS의 redistribute staticRIB에 설치된 정적 경로만 광고한다. STEP 7~8 이전에는 Connected가 우선이라 정적 경로가 RIB에 없으므로 재분배도 되지 않는다. 실제 광고는 STEP 8 직후 시작되며, 기존 광고 철회 + 신규 LSA 전파에 따른 수 초의 수렴 공백이 존재한다. 이 시간이 곧 순단 시간에 더해진다는 점을 작업 시간 산정에 반영할 것.


3. 검증 명령어와 정상 출력 판독

3-1. 기본 검증 시퀀스

명령어확인 항목
show vrfVRF 목록 및 상태(Up/Down)
show vrf LEGACY_ZONE interfaceVRF에 소속된 인터페이스 전수 — 누락 확인 필수
show ip route vrf LEGACY_ZONEVRF 라우팅 테이블. Connected 2개 + 디폴트 1개만 있어야 정상
show ip route 172.20.10.0Default VRF에서 격리 대역 경로가 방화벽 향인지
show hsrp briefHSRP 그룹 Active/Standby 정상 분배
show ip arp vrf LEGACY_ZONE격리 단말 ARP 학습 여부
ping 192.168.100.1 vrf LEGACY_ZONEVRF → 방화벽 inside 도달성
ping 172.20.10.50 vrf LEGACY_ZONEVRF → 단말 도달성
show ip ospf database external재분배된 Type-5 LSA 생성 여부
show forwarding vrf LEGACY_ZONE route제어 평면이 아닌 하드웨어 FIB 반영 확인

3-2. 핵심 출력 판독 — Default VRF 측

▍show ip route 172.20.10.0
CORE-SW-01# show ip route 172.20.10.0
IP Route Table for VRF "default"
'*' denotes best ucast next-hop

172.20.10.0/24, ubest/mbest: 1/0
    *via 192.168.100.12, [1/0], 00:12:44, static
     via 10.20.1.3, Vlan2001, [110/20], 49w6d, ospf-100, type-2
     via 10.20.5.3, Vlan2005, [110/20], 49w6d, ospf-100, type-2
*via 192.168.100.12방화벽 outside를 향하는 정적 경로가 Best. AD 1로 최우선 → 의도대로 동작
via … ospf-100 type-2다른 L3 장비들이 이 재분배 경로를 학습해 되돌아온 것. AD 110이라 선택되지 않음
판독 결론ubest 1/0 + 정적이 Best = 정상. 만약 OSPF가 Best로 잡히면 정적 경로 누락 또는 next-hop 도달 불가

3-3. 핵심 출력 판독 — VRF 측

▍show ip route vrf LEGACY_ZONE 172.20.10.0
CORE-SW-01# show ip route vrf LEGACY_ZONE 172.20.10.0
IP Route Table for VRF "LEGACY_ZONE"
'*' denotes best ucast next-hop
'%<string>' in via output denotes VRF <string>

172.20.10.0/24, ubest/mbest: 1/0, attached
    *via 172.20.10.2, Vlan900, [0/0], 00:12:44, direct
💡 이 출력이 격리 성공의 증거

동일 프리픽스를 두 VRF에서 조회했을 때 결과가 완전히 다르다. Default VRF에서는 “방화벽 너머 원격 경로”, VRF 내부에서는 “직접 연결(direct)”. 두 라우팅 테이블이 독립적으로 존재한다는 것을 한 화면으로 증명한다.

ISMS-P 등 감사 대응 시 이 두 출력을 나란히 캡처하면 논리적 망분리 증빙 자료로 그대로 사용할 수 있다.

3-4. End-to-End 통신 검증

검증 항목방법기대 결과
단말 → 게이트웨이단말에서 ping 172.20.10.1성공 (VRF 내부 통신)
단말 → 방화벽단말에서 ping 192.168.100.1성공 (정책 허용 시)
단말 → 사내 서버단말에서 tracert <서버IP>홉 경로에 방화벽이 반드시 포함
사내 서버 → 단말서버에서 tracert 172.20.10.50홉 경로에 방화벽 포함
우회 경로 부재방화벽 정책을 임시 DENY ALL전 통신 차단 — 뚫리면 설계 결함
세션 로그방화벽 세션 테이블 조회양방향 트래픽 모두 기록됨
⚠ 가장 중요한 검증

표의 마지막에서 두 번째 항목 — “방화벽을 DENY ALL로 막았을 때 정말 다 끊기는가”. 이 테스트를 통과하지 못하면 어딘가 우회 경로가 살아있다는 뜻이고, 격리 설계는 실패한 것이다. 반드시 작업 창 안에서 수행할 것.


4. 전환(Cutover) 타임라인과 롤백

4-1. 타임라인

시점작업산출물 / 판정
T-14d대상 VLAN 트래픽 프로파일링 (NetFlow / 방화벽 Learning)통신 대상 IP·포트 목록
T-7d방화벽 정책 초안 작성 · 업무 부서 리뷰정책 승인서
T-3dSTEP 1~7 사전 작업 투입 (무영향)VRF·Transit·FW 준비 완료
T-3dVRF → FW 도달성 사전 검증ping vrf 성공
T-1d롤백 스크립트 작성 및 2인 교차 검토롤백 파일 확정
T-0STEP 8 일괄 투입 → STEP 9 → 검증순단 구간
T+5mEnd-to-End 검증 완료 여부 판정미복구 시 즉시 롤백
T+1d방화벽 DENY 로그 검토 · 누락 정책 보완정책 튜닝
T+7d안정화 확인 후 임시 허용 정책 축소최소권한 수렴

4-2. 롤백 스크립트

ROLLBACK원상 복구 — 5분 내 미복구 시 즉시 실행

순서가 중요하다. SVI를 먼저 되돌리고 정적 경로를 제거해야 공백이 최소화된다.

! ① SVI를 Default VRF로 복귀 (양 스위치 동시)
interface Vlan900
  no vrf member LEGACY_ZONE
  no ip redirects
  ip address 172.20.10.2/24
  ip address 172.20.11.2/24 secondary
  no ipv6 redirects
  ip router ospf 100 area 0.0.0.1
  hsrp version 2
  hsrp 900
    priority 110
    preempt
    timers 1 3
    ip 172.20.10.1
    ip 172.20.11.1 secondary
  no shutdown

! ② 방화벽 향 정적 경로 제거
no ip route 172.20.10.0/24 192.168.100.12
no ip route 172.20.11.0/24 192.168.100.12

! ③ 재분배 해제 (선택 — 경로가 없으면 자동 철회되나 명시 정리 권장)
router ospf 100
  no redistribute static route-map RM_REDIST_STATIC

! ④ 검증
show ip route 172.20.10.0
show hsrp brief
💡 Transit VLAN·VRF는 롤백 시 지울 필요 없다

VLAN 910/920과 VRF 컨텍스트는 트래픽이 흐르지 않으면 무해하다. 남겨두면 재시도 시 사전 작업을 반복할 필요가 없다. 롤백 범위를 최소화하는 것도 실력이다.


5. 함정 Top 9

함정 1 · 최다 발생
vrf member = L3 초기화
vrf member 입력 즉시 IP·HSRP·라우팅 설정 전소실. 한 줄씩 수동 입력하면 그 시간만큼 순단이 길어진다. 반드시 블록 단위 일괄 투입.
함정 2
vPC 페어 비대칭
한쪽 스위치만 VRF 이관하면, vPC 해싱으로 반대편에 도착한 트래픽이 블랙홀. 두 대 설정을 반드시 동시·동일하게.
함정 3
비대칭 라우팅
리턴 경로를 수정하지 않으면 한 방향만 방화벽을 타고 반대는 우회 → Stateful 방화벽이 out-of-state로 전량 드랍. 증상이 “간헐적 통신 불가”로 나타나 진단이 어렵다.
함정 4
AD 인증 정책 누락
Kerberos·LDAP·SMB까지는 챙기면서 RPC 동적 포트(49152-65535)를 빠뜨려 도메인 로그인이 지연·실패. 전환 실패 사유 1위.
함정 5
Secondary VIP 복원 누락
원본 SVI에 secondary IP와 ip x.x.x.x secondary HSRP VIP가 있었다면 함께 복원해야 한다. 누락 시 해당 대역만 조용히 죽는다.
함정 6
DHCP Relay Cross-VRF
DHCP 서버가 Default VRF에 있으면 VRF 내 relay는 별도 설정이 필요하다(use-vrf 옵션 등). 미설정 시 재부팅한 단말부터 순차적으로 IP를 잃는다.
함정 7
멀티캐스트 단절
VRF는 PIM도 독립적이다. OS 배포·이미징·화상회의 등에 멀티캐스트를 쓴다면 VRF 내 ip pim·RP 도달성을 별도 설계해야 한다.
함정 8
management VRF 혼동
management는 OOB 관리 전용, keepalive는 vPC 피어링크 감시용이다. 여기에 프로덕션 인터페이스를 넣으면 안 된다.
함정 9
방화벽 용량 · MSS
기존에 스위치가 와이어스피드로 처리하던 트래픽이 전부 방화벽으로 집중된다. 세션 수·처리량 초과와 터널 구간 MSS 클램핑 미적용으로 인한 대용량 전송 실패를 사전 점검할 것.
🎯 작업 완료 판정 기준
  • show vrf LEGACY_ZONE interface — VLAN 900, 910 두 개가 모두 표시
  • show ip route vrf LEGACY_ZONE — Connected 2개 + 정적 디폴트 1개, 그 외 없음
  • show ip route 172.20.10.0 — 정적(AD 1)이 Best, next-hop이 방화벽 outside
  • tracert 양방향 — 두 방향 모두 홉 경로에 방화벽 포함
  • 방화벽 DENY ALL 테스트 — 전 통신 차단 확인 (우회 경로 부재 증명)
  • HSRP — 전 그룹 Active/Standby 정상, Flapping 없음
  • OSPF — 원격 L3 장비에서 격리 대역이 Type-2 External로 학습됨

6. 확장 관점 — 이 구조가 향하는 곳

키워드연결 지점
매크로 세그멘테이션본 작업은 Zero Trust 여정의 1단계다. “망 전체 평면 → 존 단위 분리”가 매크로, “워크로드 단위 분리”가 마이크로. 마이크로부터 시작하는 조직은 대부분 실패한다
VXLAN EVPN동일한 VRF 개념이 L3VNI로 확장된다. 지금 설계한 VRF는 향후 EVPN 패브릭으로 이행할 때 그대로 Tenant VRF가 된다 — 재설계 없이 승계 가능
SGT / TrustSecIP·서브넷 기반 정책의 다음 단계. 태그 기반 정책으로 가면 VLAN 재설계 없이 정책 세분화가 가능해진다
인라인 대상 교체방화벽 자리에 ZTNA 게이트웨이 / SWG / NDR 센서를 끼우는 변형이 늘고 있다. Transit 구조를 표준화해두면 교체가 설정 몇 줄로 끝난다
규제 대응ISMS-P·전자금융감독규정의 망분리·접근통제 항목에서 VRF 라우팅 테이블 분리 출력물은 강력한 증빙이다. 작업 시 캡처를 체계적으로 남겨둘 것
EOS 자산 관리격리는 응급처치이지 치료가 아니다. 격리 VRF에 들어간 단말 목록을 자산 폐기 로드맵과 연동해 관리하지 않으면 몇 년 뒤 격리망이 또 하나의 그림자 인프라가 된다
💡 이 작업의 진짜 가치

VRF 격리의 본질은 “취약 단말을 가둔 것”이 아니라 “통제 지점을 만든 것”이다. 방화벽이 인라인으로 들어간 순간부터 그 구간의 모든 통신이 로그로 남는다. 격리 이전에는 존재조차 몰랐던 통신 패턴이 드러나고, 그것이 다음 단계 보안 설계의 데이터가 된다.

📚 시리즈 구성

  • 1편 · 설계편 — 왜 VRF인가 / 토폴로지 / 주소 설계
  • 2편 · 구축편 — 설정 9단계 / 검증 / 전환·롤백 / 함정 (현재 글)

※ 본 글의 IP 주소, VLAN 번호, VRF 명칭, 인터페이스 명, 호스트명은 모두 예시값으로 치환하여 작성되었습니다.