AristaColorHighlight — Arista EOS 전용 SecureCRT 키워드 하이라이트 파일 배포
SecureCRT로 Arista EOS 장비를 다루다 보면 인터넷에 돌아다니는 키워드 하이라이트 ini 파일들이 죄다 Cisco IOS 기준이라는 걸 금방 알게 된다. show 출력 색은 예쁘게 나오는데, 정작 EOS 장비에 붙으면 절반은 안 먹거나 엉뚱하게 나온다 — MLAG, VXLAN, EVPN, VARP/VRRP, CVX 같은 건 Cisco 세계에 아예 없는 개념이라 애초에 매칭될 리가 없다.
그래서 AristaColorHighlight를 처음부터 새로 만들었다. EOS 문법 기준으로 설계하고, 실제 EOS User Guide 원문과 한 줄 한 줄 대조해서 검증했고, 마지막엔 문서 어디에도 안 나오는 SecureCRT 자체의 이상한 동작까지 우회 처리했다.
뭘 커버하는가
• 인터페이스 — Ethernet/Et, Management/Ma, Port-Channel/Po, Loopback/Lo, Vlan/Vl, Vxlan, 축약형까지 전부
• 이중화 프로토콜 — MLAG, VARP, 그리고 표준 VRRP (Cisco 기반 리스트들은 보통 HSRP만 있는데, EOS는 HSRP를 지원 안 함)
• 오버레이/언더레이 — VXLAN, EVPN(route-target, route-distinguisher, ESI 등), BGP, OSPF
• STP — rapid-pvst/MSTP, bpduguard/bpdufilter/portfast, 포트 역할(role)
• CVX — show cvx / show management cvx 및 실제 출력 필드(Registration Complete, Heartbeat interval 등)
• EOS 데몬 — ProcMgr, Sysdb, TerminAttr, Netstack 등
• 상태 단어 — Good/Bad를 명확히 분리 (up/enabled/active ↔ down/error/mismatch/errdisabled)
• Syslog 코드 — %SPANTREE-, %AAA-, %BGP-, %OSPF- 전용 처리 + 나머지 전부 잡는 범용 패턴
• 기본기 — IPv4/IPv6, MAC 주소, ACL hit-counter(0인지 아닌지 구분해서 불필요하게 다 회색으로 안 뒤덮이게), NTP/DNS, QoS, BFD, 하드웨어/시리얼 정보, 파일 확장자, 프롬프트
진짜 오래 걸린 부분: 키워드보다 SecureCRT 자체와의 싸움
키워드 목록 짜는 건 오히려 쉬운 축이었다. 진짜 문제는 SecureCRT가 그걸 실제로 적용하게 만드는 것이었다. 똑같이 겪을 사람들을 위해 정리한다.
1) 어떤 SecureCRT 환경에서는 공백 정규식 축약 표기가 "공백"으로 인식이 안 된다.
공백 축약 문법이 들어간 규칙들이 색 우선순위 문제도 아니고 그냥 아예 매칭 자체가 안 됐다. 단어 경계, 숫자 클래스, 비캡처 그룹, 반복 횟수 같은 다른 정규식 문법은 멀쩡히 작동하는데 딱 그 부분만 그랬다. 전부 리터럴 공백(스페이스+플러스)으로 바꾸니 바로 해결됐다.
2) "Whole words" 매치 스타일은 공백을 어디에도 허용 안 한다 — 문자클래스 안에 있어도.
세션의 Match Style이 "Whole words"로 고정돼 있고 그걸 바꿀 권한이 없는 경우, 패턴에 공백이 하나라도 들어가면 (심지어 문자클래스 안에 숨어 있어도) SecureCRT가 그 항목 자체를 거부한다. 실질적인 해결책: show vxlan vni처럼 여러 단어를 한 덩어리로 칠하려는 시도를 포기하는 것. 대신 show(선택)와 개별 명사(vxlan, vni, vrrp 등)를 각각 따로 칠하면 이 모드에서도 정상 작동한다.
편집기에서는 색이 멀쩡해 보이는데 실제 세션에서는 하나도 안 먹는다면, 파일이 잘못됐다고 의심하기 전에 이 두 가지부터 확인해보길 권한다.
다운로드
(구글블로그는 첨부파일 업로드가 안되어 링크로 첨부합니다)
ini 파일은 SecureCRT의 Keywords 설정 폴더(Windows 기준 AppData\Roaming\VanDyke\Config\Keywords)에 넣고, Session Options → Terminal → Appearance → Keyword Highlighting에서 import하면 된다.
(여기에 AristaColorHighlight.ini 첨부)
원하는 대로 색이 안 나온다면 십중팔구 위 두 가지 Match Style 이슈 중 하나니, 세션의 Match Style 설정부터 확인해보길.

댓글
댓글 쓰기