목차/13. 명령줄·커널 참조

13명령줄·커널 참조명령줄·커널 참조

게이트웨이를 깊이 다루다 보면 명령줄과 커널 수준 으로 내려가야 할 때가 옵니다. 이 장은 그 세 영역 — 명령줄 참조, 커널 파라미터 작업, 커널 디버그 — 을 빠짐없이 정리합니다. 커널 파라미터의 정수·문자열 타입과 영구화 절차, 커널 디버그의 전체 흐름·필터·모듈·플래그까지 실제 명령을 그대로 담되 무엇을 위한 것인지를 함께 풀어 둡니다. 여기서 다루는 작업은 대부분 Expert mode에서 수행하고, 잘못 만지면 트래픽에 영향을 줄 수 있으므로 Check Point 지원팀의 안내(SK 문서)에 따르는 것이 안전합니다.

명령줄 참조

게이트웨이 운영 명령 전체는 R82 CLI Reference Guide 에 정리되어 있습니다. 앞 장들에서 본 fw isp_link(ISP 이중화), control_bootsec·fw unloadlocal(방화벽 활성화 전 보안) 같은 명령도 거기에서 자세히 다룹니다.

커널 파라미터 작업

커널 파라미터(kernel parameter)게이트웨이·Cluster Member·Security Group의 고급 동작을 바꾸는 설정값 입니다. 타입은 두 가지뿐입니다.

타입설명
Integer정수 하나만 받습니다.
String일반 텍스트 문자열만 받습니다.

게이트웨이는 파라미터의 이름과 기본값을 다음 커널 모듈 파일에서 가져옵니다.

$FWDIR/boot/modules/fw_kern_64_v6.o
$PPKDIR/boot/modules/sim_kern_64.o
$PPKDIR/boot/modules/sim_kern_64_v6.o

Firewall 커널 파라미터

방화벽 동작의 내부 기본값을 바꾸거나 특수 설정을 할 때 Firewall 커널 파라미터 를 씁니다. 적용 방법은 세 갈래 입니다.

  • 즉석(on-the-fly)fw ctl set 으로 바꾸면 바로 적용되지만 재부팅하면 사라집니다. fw ctl set -f 를 쓰면 같은 변경을 영구화까지 합니다.
  • 영구(파일) — 일부 파라미터는 $FWDIR/boot/modules/fwkern.conf(또는 vpnkern.conf)에 적어야만 영구 적용 됩니다. 이 변경은 재부팅 후에야 효력 이 생겨 점검 창(maintenance window)이 필요합니다.

Firewall 커널 파라미터의 예시는 다음과 같습니다.

타입이름(예시)
Integerfw_allow_simultaneous_ping, fw_kdprintf_limit, fw_log_bufsize, send_buf_limit
Stringsimple_debug_filter_addr_1, simple_debug_filter_daddr_1, simple_debug_filter_vpn_1, ws_debug_ip_str, fw_lsp_pair1

정수(Integer) 파라미터 다루기

사용 가능한 정수 파라미터 목록과 값 보기 — Expert mode에서, 먼저 오류 없이 조회되는지 확인하고 파일로 저장합니다.

modinfo -p $FWDIR/boot/modules/fw_kern*.o | sort -u | grep ':int param' | awk 'BEGIN {FS=":"} ; {print $1}' | xargs -n 1 fw ctl get int
modinfo -p $FWDIR/boot/modules/fw_kern*.o | sort -u | grep ':int param' | awk 'BEGIN {FS=":"} ; {print $1}' | xargs -n 1 fw ctl get int 1>> /var/log/fw_integer_kernel_parameters.txt 2>> /var/log/fw_integer_kernel_parameters.txt

현재 값 보기[-a] 옵션을 붙일 수 있습니다.

fw ctl get int <Name of Integer Kernel Parameter> [-a]

Scalable Platform의 Expert mode에서는 g_fw 를 씁니다.

g_fw ctl get int <Name of Integer Kernel Parameter> [-a]
[Expert@MyGW:0]# fw ctl get int send_buf_limit
send_buf_limit = 80

임시로 값 설정 (재부팅하면 사라짐).

fw ctl set int <Name of Integer Kernel Parameter> <Integer Value>
[Expert@MyGW:0]# fw ctl set int send_buf_limit 100
Set operation succeeded

영구로 값 설정 — fwkern.conf 짧은 절차. Expert mode에서 진행합니다.

cp -v $FWDIR/boot/modules/fwkern.conf{,_BKP}     # 백업
fw ctl set -f int <Name_of_Integer_Kernel_Parameter> <Integer_Value>
cat $FWDIR/boot/modules/fwkern.conf              # 확인
reboot                                            # 적용(클러스터는 failover 가능)

Scalable Platform에서는 g_cp·g_fw ctl set -f·g_cat·g_reboot -a 를 쓰거나, 다음처럼 파일을 직접 갱신할 수 있습니다.

g_update_conf_file fwkern.conf <Name_of_Integer_Kernel_Parameter>=<Integer_Value>

영구로 값 설정 — 긴 절차(fwkern.conf·vpnkern.conf 직접 편집). 자세한 내용은 sk26202를 참고합니다. ① 파일 존재 확인(ls -l) → ② 없으면 touch 로 생성 → ③ cp -v ...{,_BKP} 로 백업 → ④ vi 로 편집 → ⑤ 아래 형식으로 한 줄 추가 → ⑥ 저장·재부팅 → ⑦ fw ctl get int 로 확인.

ls -l $FWDIR/boot/modules/fwkern.conf
touch $FWDIR/boot/modules/fwkern.conf
vi $FWDIR/boot/modules/fwkern.conf
<Name_of_Integer_Kernel_Parameter>=<Integer_Value>

문자열(String) 파라미터 다루기

목록 보기 — 정수 때와 같되 :string param 으로 필터합니다.

modinfo -p $FWDIR/boot/modules/fw_kern*.o | sort -u | grep ':string param' | awk 'BEGIN {FS=":"} ; {print $1}' | xargs -n 1 fw ctl get str

현재 값 보기.

fw ctl get str <Name of String Kernel Parameter> [-a]
[Expert@MyGW:0]# fw ctl get str fileapp_default_encoding_charset
fileapp_default_encoding_charset = 'UTF-8'

임시로 값 설정 (재부팅하면 사라짐). 값은 반드시 작은따옴표나 큰따옴표로 감쌉니다.

fw ctl set str <Name of String Kernel Parameter> '<String Text>'
fw ctl set str <Name of String Kernel Parameter> "<String Text>"
[Expert@MyGW:0]# fw ctl set str debug_filter_saddr_ip '1.1.1.1'
Set operation succeeded

영구로 값 설정 — 정수와 같은 짧은/긴 절차를 따르되 문자열은 따옴표로 감쌉니다.

fw ctl set -f str <Name_of_String_Kernel_Parameter> '<String_Text>'

파일에 직접 적을 때의 형식은 다음과 같습니다.

<Name_of_String_Kernel_Parameter>="<String_Text>"

값을 비우기(임시) — 빈 값을 따옴표로 지정합니다(재부팅하면 사라짐).

fw ctl set str '<Name of String Kernel Parameter>'
fw ctl set str "<Name of String Kernel Parameter>"
[Expert@MyGW:0]# fw ctl set str debug_filter_saddr_ip ''
Set operation succeeded
[Expert@MyGW:0]# fw ctl get str debug_filter_saddr_ip
debug_filter_saddr_ip = ''

SecureXL 커널 파라미터

SecureXL의 내부 기본 동작을 바꾸거나 특수 설정을 할 때 SecureXL 커널 파라미터 를 씁니다. Firewall 파라미터와 비슷하지만 영구화하는 파일이 다릅니다.

SecureXL 커널 파라미터의 예시입니다.

타입이름(예시)
Integernum_of_sxl_devices, sim_ipsec_dont_fragment, tcp_always_keepalive, sim_log_all_frags, simple_debug_filter_dport_1, simple_debug_filter_proto_1
Stringsimple_debug_filter_addr_1, simple_debug_filter_daddr_2, simlinux_excluded_ifs_list

목록 보기 — 모듈 파일이 sim_kern*.o 라는 점만 다릅니다(정수는 :int param, 문자열은 :string param).

modinfo -p $PPKDIR/boot/modules/sim_kern*.o | sort -u | grep ':int param' | awk 'BEGIN {FS=":"} ; {print $1}' | xargs -n 1 fw ctl get int

조회·임시 설정 은 Firewall과 동일한 fw ctl get/set int|str 구문을 씁니다.

[Expert@MyGW:0]# fw ctl get int sim_ipsec_dont_fragment
sim_ipsec_dont_fragment = 1
[Expert@MyGW:0]# fw ctl set int sim_ipsec_dont_fragment 0
Set operation succeeded

영구로 값 설정$PPKDIR/conf/simkern.conf 를 편집합니다. ① ls -l 로 확인 → ② 없으면 touch 생성 → ③ cp -v ...{,_BKP} 백업 → ④ vi 편집 → ⑤ 형식대로 추가 → ⑥ 재부팅 → ⑦ 확인.

vi $PPKDIR/conf/simkern.conf
<Name_of_SecureXL_Integer_Kernel_Parameter>=<Integer_Value>
<Name_of_SecureXL_String_Kernel_Parameter>='<String_Text>'

커널 디버그

커널 디버그게이트웨이가 특정 연결을 어떻게 처리하는지 보여 주는 특수 디버그 메시지를 수집 하는 작업입니다. 주로 Check Point 지원팀·R&D가 문제를 분석할 때 씁니다.

수집은 5단계 흐름 입니다. ① 기본 디버그 설정으로 초기화하고 디버그 버퍼 할당 → ② 필요한 디버그 모듈·플래그 설정 → ③ 출력 파일로 수집 시작 → ④ 디버그 중지 → ⑤ 기본 설정으로 복원.

72코어 이상 게이트웨이에서의 동작 차이 (New Kernel Debug)

커널 디버그를 켜면 모든 CoreXL Firewall 인스턴스가 메시지를 출력하고, 게이트웨이는 시간순 통합본을 만들려고 RAM에서 실시간 병합(merge) 을 합니다. 코어가 많을수록 이 병합이 CPU·RAM을 많이 먹습니다. 그래서 R82부터 72코어 이상 게이트웨이는 기본 동작이 달라집니다.

구분기존(72코어 미만, fw ctl kdebug)신규(72코어 이상, fw ctl ndebug)
수집 위치임시 출력 파일(/var/log/debug.log*)에 바로 기록메시지를 RAM에 보관
화면 출력병합본을 실시간으로 화면에 표시실시간 출력 없음
병합 시점실시간디버그를 중지한 뒤 임시 파일들을 병합·표시하고 임시 파일 삭제(보존 옵션 없으면)

파일로 리다이렉트할 때도 비슷합니다. 기존 방식은 지정 파일과 함께 .header, .kernel, .<VS_ID>.<CoreXL_FW_ID>(UPPAK 모드는 .uppak) 임시 파일을 만들고, 신규 방식은 지정 파일에 바로 쓴 뒤 중지 시 병합합니다.

CLI 구문 — 초기화·버퍼·모듈/플래그

아래 구문은 Gaia Clish/gClish와 Expert mode에 모두 적용되며, Scalable Platform의 Expert mode에서는 fw ... 대신 g_fw ... 를 씁니다.

내장 도움말 보기.

fw ctl debug -h        # 신규·기존 공통
fw ctl ndebug -h       # 신규
fw ctl kdebug -h       # 기존

기본 설정으로 초기화.

fw ctl debug 0     # 모든 플래그 리셋, 기본 플래그만 활성화 (권장)
fw ctl debug -x    # 기본 플래그까지 모두 비활성화

디버그 버퍼 할당 — CoreXL Firewall 인스턴스마다 할당하며 최대 8192KB 입니다. 메모리 사용량은 sk160955 참고.

fw ctl debug -buf 8200 [-v {"<List of VSIDs>" | all} -k]

사용자 공간 버퍼 는 최소한 최대 커널 버퍼(8200)만큼 잡습니다. -b 파라미터로 지정합니다.

fw ctl ndebug -b 8200 <other required parameters>
fw ctl kdebug -b 8200 <other required parameters>

모듈·플래그 설정.

fw ctl debug -m                                  # 모든 모듈과 플래그 목록
fw ctl debug                                     # 현재 활성화된 플래그
fw ctl debug -m <module> all                     # 해당 모듈의 모든 플래그 켜기
fw ctl debug -m <module> + <List of Debug Flags> # 지정 플래그 켜기(+ 뒤 공백)
fw ctl debug -m <module> - <List of Debug Flags> # 지정 플래그 끄기(- 뒤 공백)

출력 수집 ('Gateway' 모드) — 신규는 -o 로 파일을 지정하고, 기존은 -f 로 리다이렉트합니다.

fw ctl ndebug [-b <Size>] [-p <Fields>] [-k] -T [-M] [-w] [-U] [-c <N>] [-I {"<List>" | all}] -o /<Path>/<Name of Output File>
fw ctl kdebug [-b <Size>] [-p <Fields>] [-k] -T -f -o /<Path>/<Name of Output File> [-m <Number of Cyclic Files> [-s <Size of Each Cyclic File in KB>]]

출력 수집 ('VSNext'/'Legacy VSX' 모드)-v 로 Virtual System을 지정하며, 이때 반드시 -k 도 함께 씁니다.

fw ctl ndebug [-b <Size>] [-p <Fields>] [-k] -T [-v {"<List of VSIDs>" | all}] [-M] [-w] [-U] [-c <N>] [-I {"<List>" | all}] -o /<Path>/<Name of Output File>
fw ctl kdebug [-b <Size>] [-p <Fields>] -v {"<List of VSIDs>" | all} -k -T -f -o /<Path>/<Name of Output File> [-m <Number of Cyclic Files> [-s <Size>]]

CLI 파라미터

다음은 fw ctl debug·fw ctl ndebug·fw ctl kdebug 에서 쓰는 주요 파라미터입니다.

파라미터설명
0 / -x0 은 기본 플래그만 남기고 리셋, -x 는 기본 플래그까지 모두 끔(권장하지 않음).
-d <Strings to Search>지정 문자열이 하나라도 포함된 메시지만 버퍼에 수집. 쉼표로 구분(공백 없음), 최대 10개·총 250자. 정규식 아님.
-s "<String to Stop Debug>"그 문자열을 처음 만나면 수집 중지 하고 버퍼를 파일로 씀. 한 개·최대 50자, 정규식 아님.
-F "<SrcIP>,<SrcPort>,<DstIP>,<DstPort>,<Proto>"5-tuple 캡처 필터(가속·비가속 트래픽 모두). 최대 5개 지정 가능하고 서로 OR. 값 0 은 "any".
-H "<IP Address>"IP 주소 필터. 최대 3개. 예: fw ctl debug -H "1.1.1.1"
-m <Name of Debug Module>플래그를 보거나 설정할 커널 디버그 모듈 지정.
`{all \+ <Flags> \- <Flags>}`모듈의 플래그를 모두/지정 켜기/지정 끄기. +·- 뒤에는 공백 필수.
`-v {"<List of VSIDs>" \all}`VSNext/Legacy VSX 모드에서 Virtual System 한정. -k 와 함께 사용. VSID는 vsx stat -v 또는 show virtual-system all 로 확인.
-e <Expr> / -i <File> / -i - / -uINSPECT 필터 지정(표현식/파일/표준입력)·제거(-u). 레거시 파라미터로 가속 트래픽에는 적용 안 됨.
-zHost appliance 코드의 디버그 메시지만 수집(SecureXL 제외).
-k커널 공간 메시지만 수집. VSNext/Legacy VSX에서 SecureXL 디버그를 모을 때 필수.
-p <List of Fields>각 메시지 앞에 추가 필드 출력. 사용 가능 필드: all, proc, pid, date, mid, type, freq, topic, time, ticks, tid, text, errno, host, vsid, cpu. 많을수록 부하 증가.
-UHyperFlow 디버그 정보 병합(PSL 모듈에서만).

fw ctl ndebug(신규) 전용 파라미터입니다.

파라미터설명
-b <Size>사용자 공간 버퍼 크기(최소 8200).
-T각 메시지 앞에 마이크로초 타임스탬프 출력. 분석을 위해 항상 사용 권장.
-M끝에서 임시 파일 병합 안 함(개별 분석용). -w 와 함께 사용.
-w임시 디버그 파일을 삭제하지 않음.
-c <N>내부 디버그 스레드당 CoreXL 인스턴스 수(기본 4). R&D/Support 요청 시에만 사용.
`-I {"<List>" \all}`특정 CoreXL Firewall 인스턴스만. ID는 fw ctl multik stat 로 확인.
-o /<Path>/<Name>출력 파일 경로·이름. 가장 큰 파티션인 /var/log/ 사용 권장 (파일이 매우 빨리 커짐).

fw ctl kdebug(기존) 전용으로 -f(중지할 때까지 수집)와 순환 파일 옵션이 있습니다.

파라미터설명
-fCTRL+C·fw ctl debug 0·fw ctl debug -x·프로세스 종료 전까지 계속 수집.
-o ... -m <Number of Cyclic Files> [-s <Size in KB>]순환 출력 파일 (기존 구문 전용). 파일이 지정 크기에 도달하면 .0, .1 … 로 밀려나며, 한도(파일 수 1~999) 초과 시 가장 오래된 것 삭제. 크기 1~2097150 KB.

커널 디버그 필터

기본적으로 디버그는 모든 연결 정보를 담습니다. 필요한 연결만 모으려면 필터를 걸 며, 디버그 시작 전에 fw ctl set 으로 해당 커널 파라미터에 값을 임시로 지정합니다. 필터는 세 종류입니다.

연결 튜플(connection tuple) 필터 — 5-tuple(출발지 IP·포트, 목적지 IP·포트, 프로토콜 번호)로 거릅니다. <N> 은 1~5 인덱스입니다.

fw ctl set str simple_debug_filter_saddr_<N> "<IPv4 or IPv6 Address>"
fw ctl set int simple_debug_filter_sport_<N> <1-65535>
fw ctl set str simple_debug_filter_daddr_<N> "<IPv4 or IPv6 Address>"
fw ctl set int simple_debug_filter_dport_<N> <1-65535>
fw ctl set int simple_debug_filter_proto_<N> <0-254>

IP 주소 필터 — 출발지든 목적지든 그 IP가 나오면 매칭. <N> 은 1~3.

fw ctl set str simple_debug_filter_addr_<N> "<IPv4 or IPv6 Address>"

VPN Peer 필터 — VPN 피어 IP로 거름. <N> 은 1 또는 2.

fw ctl set str simple_debug_filter_vpn_<N> "<IPv4 or IPv6 Address>"

모든 필터 끄기.

fw ctl set int simple_debug_filter_off 1

사용 예: 192.168.20.30:<Any> --> 172.16.40.50:80 연결을 양방향으로 보려면, 디버그 시작 전에 다음을 실행합니다.

fw ctl set int simple_debug_filter_off 1
fw ctl set str simple_debug_filter_saddr_1 "192.168.20.30"
fw ctl set str simple_debug_filter_daddr_1 "172.16.40.50"
fw ctl set str simple_debug_filter_saddr_2 "172.16.40.50"
fw ctl set str simple_debug_filter_daddr_2 "192.168.20.30"
fw ctl set int simple_debug_filter_dport_1 80
fw ctl set int simple_debug_filter_sport_2 80

커널 디버그 절차 (기본)

Expert mode에서 다음 순서로 진행합니다.

  1. SSH·콘솔로 게이트웨이/각 Cluster Member에 접속(Scalable은 Security Group), Expert mode 로그인.
  2. 디버그 옵션 초기화: fw ctl debug 0
  3. 디버그 필터 초기화: fw ctl set int simple_debug_filter_off 1
  4. 필요한 디버그 필터 설정(위 "커널 디버그 필터" 참고).
  5. 버퍼 할당 후 확인: fw ctl debug -buf 8200fw ctl debug | grep buffer
  6. 모듈·플래그 활성화 후 확인: fw ctl debug -m <module> {all | + <flags>}fw ctl debug -m <module>
  7. 출력 파일로 수집 시작.
  8. 문제를 재현하거나 발생할 때까지 대기.
  9. CTRL+C 로 수집 중지 → fw ctl debug 0 로 옵션 리셋 → fw ctl set int simple_debug_filter_off 1 로 필터 리셋.
  10. 출력 파일을 PC로 전송해 분석.
fw ctl ndebug -T -o /var/log/kernel_debug.txt          # 신규 모드
fw ctl kdebug -T -f > /var/log/kernel_debug.txt        # 기존 모드

연결 수명주기(Connection Life Cycle) 절차

연결 수명주기 는 디버그 출력을 연결·패킷 단위로 계층화한 Ruby 형식 파일 로 만들어 주는 도구입니다. 첫 계층은 연결, 펼치면 그 연결의 모든 패킷이 보입니다. Expert mode에서 일반 커널 디버그 플래그와 함께 씁니다.

conn_life_cycle.sh -a start -o /<Path>/<Name of Raw Debug Output File> [{-t | -T}] [-f "<Filter1>"] ... [-f "<Filter5>"]
conn_life_cycle.sh -a stop -o /<Path>/<Name of Formatted Debug Output File>

Scalable Platform에서는 g_all conn_life_cycle.sh ... 를 씁니다. 주요 파라미터입니다.

파라미터설명
-a start / -a stop(필수) 캡처 시작 / 중지(중지 시 디버그 옵션·필터도 리셋).
-t / -T(선택) 타임스탬프 해상도 — -t 밀리초, -T 마이크로초. -T 권장.
-f "<Filter>"(선택) 캡처할 5-tuple. 최대 5개·서로 OR, 값 0 은 "any". 미지정 시 전체 트래픽이라 부하 큼.
-o <Raw File>(필수) 원본 디버그 출력 파일 경로(start용).
-o <Formatted File>(필수) 분석용 정형 출력 파일 경로(stop용).

필터 형식과 예시(IP 192.168.20.30 임의 포트 → IP 172.16.40.50 포트 22, TCP=6):

"<Source IP>,<Source Port>,<Destination IP>,<Destination Port>,<Protocol Number>"
-f "192.168.20.30,0,172.16.40.50,22,6"

절차는 ① 접속·Expert mode → ② 플래그 활성화·확인 → ③ conn_life_cycle.sh -a start ... → ④ 문제 재현 → ⑤ conn_life_cycle.sh -a stop ... → ⑥ 파일 전송 → ⑦ Notepad++ 등에서 Ruby 언어 뷰어로 분석 입니다.

커널 디버그 모듈과 플래그

활성화한 Software Blade에 따라 사용할 수 있는 디버그 모듈이 달라 집니다. 목록은 다음으로 봅니다.

fw ctl debug -m            # 게이트웨이/Cluster Member, gClish
g_fw ctl debug -m          # Scalable Platform Expert mode

모든 모듈의 플래그 설정 구문은 동일 합니다(+ {all | <flags>}). 예: fw ctl debug -m fw + conn drop. R82가 제공하는 모듈은 다음과 같습니다(알파벳 순).

모듈의미
accel_apps가속 애플리케이션(Accelerated Applications)
accel_pm_mgr가속 패턴 매치 관리자
APPI애플리케이션 컨트롤 검사
BOAWeb Intelligence용 불리언 분석기
CI콘텐츠 검사(Content Inspection)
clusterClusterXL
cmi_loaderCMI/인프라 로더
CPASCheck Point Active Streaming
cpcodeDLP - CPcode
CPSSHSSH 검사
cryptoSSL 검사
dlpdaDLP - Content Awareness 다운로드 에이전트
dlpkDLP - 커널 공간
dlpukDLP - 사용자 공간
DOMO도메인 객체(Domain Objects)
fgFloodGate-1(QoS)
FILE_SECURITY파일 검사
FILEAPP파일 애플리케이션
fw방화벽(Firewall)
gtpGPRS Tunneling Protocol
h323VoIP H.323
ICAP_CLIENTICAP 클라이언트
IDAPIIdentity Awareness API
kiss커널 인프라(Kernel Infrastructure)
kissflow커널 인프라 플로우
MALWAREThreat Prevention
multik멀티커널 검사(CoreXL)
MUX애플리케이션 트래픽 멀티플렉서
NRBNext Rule Base
PSLPassive Streaming Library
RAD_KERNELResource Advisor - 커널 공간
RTM실시간 모니터링
seqvalidTCP 시퀀스 검증·변환기
SFTStream File Type
SGENStruct Generator
synatk가속 SYN Defender
TPUTILSThreat Prevention 유틸리티
UCUserCheck
UPUnified Policy
upconvUnified Policy 변환
UPISUnified Policy 인프라
VPNSite-to-Site·Remote Access VPN
WSWeb Intelligence
WS_SIPWeb Intelligence VoIP SIP 파서
WSISWeb Intelligence 인프라
ZPHZero Phishing

각 모듈은 수십 개의 플래그를 가지며, 대부분 error(오류)·warning(경고)·info(일반 정보) 같은 공통 플래그 와 모듈 고유 플래그로 이뤄집니다. 자주 쓰는 모듈의 대표 플래그를 살펴봅니다.

fw(방화벽) 는 가장 핵심 모듈로, conn(연결), drop(드롭), packet(패킷), sync(동기화), log(로그) 등을 켭니다. 클러스터의 모든 동기화 작업을 보려면 fwsyncCPASsync 를 함께 켭니다.

cluster(ClusterXL) 의 주요 플래그입니다.

플래그설명
ccpCluster Control Protocol(CCP) 패킷 송수신
dropDecision Function(DF)이 드롭한 연결(CCP 제외)
if / ifstate인터페이스 추적·상태 검사
forwardForwarding Layer 메시지(전달 패킷 송수신)
conf클러스터 구성·정책 설치
mac / mmagic인터페이스 MAC·"MAC magic" 동작
multikCoreXL Firewall 인스턴스의 연결 처리
arp / correction / cu / log / msgARP 포워딩 / Correction Layer / Connectivity Upgrade / 로그 / 멤버 간 내부 메시지

CI(콘텐츠 검사)av(Anti-Virus), crypto(암복호화), uf(URL 필터·캐시), policy, regexp, session 등을 제공하고, APPI(애플리케이션 컨트롤)connection, policy, urlf_ssl(SSL용 App Control·URL 필터), observer(CLOB 데이터 분류) 등을 제공합니다.

여러 모듈에 공통으로 등장하는 보조 플래그도 알아 두면 좋습니다 — subject(메시지 주제 출력), timestamp(타임스탬프), vs(디버그 대상 Virtual System의 VSID), verbose(추가 정보), coverage(진입·차단·소요 시간), memory(메모리 할당). 어떤 모듈이든 전체 플래그·세부 의미는 fw ctl debug -m <module> 로 직접 확인 하는 것이 가장 정확합니다.