목차/15. 부록: 정규표현식

15부록: 정규표현식Appendix: Regular Expressions

QoS 규칙에서 URI for QoS 리소스로 HTTP 트래픽을 URL 패턴으로 매칭 할 때 정규표현식을 씁니다(QoS 관리의 서비스·리소스 참고). 이 부록은 Check Point가 구현한 정규표현식 문법과, 덤으로 R77 정책용 QoS 가속을 끄고 켜는 절차 를 정리합니다.

정규표현식 문법

Check Point는 표준 정규표현식 메타문자를 거의 그대로 따릅니다. \ 는 메타문자·비출력 문자·문자 종류를 escape 하고, [ ] 는 문자 클래스 정의, ( ) 는 하위 패턴(묶음에 메타문자 적용), . 은 임의의 한 문자 입니다. 수량을 정하는 기호로는 ?(0~1회), *(0회 이상), +(1회 이상) 가 있고, {n} 은 정확히 n회, {n,m} 은 n~m회, {n,} 은 n회 이상 을 뜻하는 중괄호 수량자입니다. 그 밖에 | 는 택일, ^ 는 버퍼(보통 단어) 시작, $ 는 끝에 고정, - 는 문자 클래스 안의 범위 입니다.

비출력 문자

출력되지 않는 문자를 패턴에 쓰려면 예약 문자를 escape 합니다. 대표적으로 \n 은 newline(0A), \r 은 carriage return(0D), \t 는 tab(09), \f 는 formfeed(0C), \e 는 escape(1B), \a 는 alarm/BEL(07) 입니다. 코드로 직접 지정할 때는 \ddd 는 8진 코드, \xhh 는 16진 코드, \cX 는 "control-X" 를 나타냅니다.

문자 종류

특정 종류의 문자 를 가리킬 때도 escape를 씁니다. \d 는 10진 숫자 [0-9], \D 는 숫자가 아닌 문자, \s 는 공백 문자, \S 는 공백이 아닌 문자, \w 는 단어 문자(밑줄·영숫자), \W 는 단어가 아닌 문자 입니다.

QoS 가속 끄기·켜기

QoS 소개에서 봤듯, R77 이전용으로 만든 QoS 정책에서 옛 기능을 쓰려면 QoS 가속을 꺼야 합니다.

끄는 절차는 이렇습니다. 게이트웨이에서 cpconfig 로 SecureXL·CoreXL을 끄고 재부팅 한 뒤, 다음 명령을 실행합니다.

cpprod_util CPPROD_SetValue FG1 FgWithAcceleration 1 0 1

다시 켤 때는 순서가 반대입니다. 먼저 아래 명령을 실행한 뒤, cpconfig 로 SecureXL/CoreXL을 켜고 재부팅 합니다.

cpprod_util CPPROD_SetValue FG1 FgWithAcceleration 1 1 1