12명령줄 참조Command Line Reference
QoS는 SmartConsole·SmartDashboard로 거의 다 다루지만, 게이트웨이에서 직접 블레이드를 켜고 끄거나 정책을 가져오고 상태를 볼 때 는 CLI가 필요합니다. 이 장은 QoS의 핵심 명령 — etmstart·etmstop·fgate — 를 하나도 빠뜨리지 않고, 구문·파라미터·예제까지 그대로 풀어 정리합니다. QoS의 내부 데몬 이름이 fgd50(FloodGate-1 시절의 흔적)이라 명령에도 fg 가 자주 보인다는 점을 먼저 기억해 두면 읽기가 한결 수월합니다.
자세한 내용은 항상 두 자료를 함께 참고하라고 원문이 권합니다 — R82 QoS Administration Guide 와 sk41585("How to control and debug QoS / FloodGate-1") 입니다.
구문 표기 약속 (Syntax Legend)
Check Point 문서는 가능하면 명령·파라미터·옵션을 알파벳 순 으로 싣고, 구문을 일정한 기호 약속으로 표기합니다. 이 약속을 알아야 아래 명령 설명을 정확히 읽을 수 있습니다.
| 기호 | 뜻 | |
|---|---|---|
| TAB(들여쓰기) | 중첩된 하위 명령을 나타냅니다. 들여쓴 줄은 바로 위 명령의 하위 명령입니다. | |
중괄호 { } | 세로줄 `\ | ` 로 구분된 후보 목록. 이 중 하나만 고를 수 있습니다. |
꺾쇠 < > | 변수. 사용자가 지원되는 실제 값을 직접 지정 해야 합니다. | |
대괄호 [ ] | 선택적(optional) 명령·파라미터. 넣어도 되고 안 넣어도 됩니다. |
들여쓰기(TAB) 표기가 가장 헷갈리는데, 원문은 다음 예로 설명합니다.
config
-a <options>
-d <options>
-p
-r
del <options>이렇게 쓰여 있으면 실제로는 아래 중 하나의 명령 을 실행하라는 뜻입니다 — cpwd_admin config -a <options>, cpwd_admin config -d <options>, cpwd_admin config -p, cpwd_admin config -r, 또는 cpwd_admin del <options>. 즉 위 명령에서 아래로 한 갈래씩 골라 한 줄로 펴는 것입니다.
etmstart — QoS 시작
etmstart 는 게이트웨이에서 QoS Software Blade를 시작 합니다. 구체적으로는 QoS 데몬 fgd50을 띄우고, 게이트웨이의 $FWDIR/conf/masters 파일에 설정된 Management Server에서 QoS 정책을 가져(fetch) 옵니다. 구문은 옵션 없이 단순합니다.
etmstart실행하면 데몬을 띄우고 masters에서 정책을 받아 인터페이스별(inbound·outbound)로 내려받는 과정이 그대로 출력됩니다.
[Expert@MyGW:0]# etmstart
QoS: Starting fgd50
QoS: Fetching QoS Policy from masters
Fetching QoS Software Blade Policy:
Received Policy. Downloading...
eth0(inbound), eth0(outbound).
Download OK.
Done.
QoS started
[Expert@MyGW:0]#etmstop — QoS 정지
etmstop 은 반대로 QoS Software Blade를 멈춥 니다. 먼저 데몬 fgd50을 죽이고, 그다음 QoS 정책을 내려(unload) 놓습니다. 구문 역시 옵션이 없습니다.
etmstop[Expert@CXL1_192.168.3.52:0]# etmstop
Unloading QoS Policy:
Target(s): CXL1_192.168.3.52
CXL1_192.168.3.52: QoS policy unloaded successfully.
Done.
QoS stopped
[Expert@CXL1_192.168.3.52:0]#fgate — 정책 설치·상태·디버그
fgate 는 실행하는 위치(Management Server인지 Security Gateway인지)에 따라 쓸 수 있는 하위 명령이 달라 집니다. 그래서 아래에서 두 경우를 나눠 설명합니다. 두 경우 모두 -d 옵션을 앞에 붙일 수 있습니다.
| 파라미터 | 설명 |
|---|---|
-d | 명령을 디버그 모드 로 실행합니다. 명령 자체의 문제를 추적할 때만 씁니다. |
Management Server에서의 fgate
Management Server에서 fgate 는 관리하는 Security Gateway에 QoS 정책을 설치·제거하고 상태를 보는 용도입니다. 구문은 다음과 같습니다.
fgate [-d]
load <Name of QoS Policy>.F <GW1> <GW2> ... <GWN>
stat
-h
<GW1> <GW2> ... <GWN>
unload <GW1> <GW2> ... <GWN>
ver| 파라미터 | 설명 |
|---|---|
load <정책명>.F <GW1> <GW2> ... <GWN> | QoS 정책 <정책명> 에 검증기(verifier)를 돌려, 유효하면 Management Server가 정책을 컴파일해 지정한 Security Gateway들에 설치 합니다. |
stat -h | stat 파라미터의 내장 사용법(usage)을 보여 줍니다. |
stat <GW1> <GW2> ... <GWN> | 관리하는 Security Gateway들의 QoS Software Blade와 정책 상태 를 보여 줍니다. |
unload <GW1> <GW2> ... <GWN> | 지정한 Security Gateway들에서 QoS 정책을 제거(uninstall) 합니다. |
ver | Management Server의 QoS Software Blade 버전 을 보여 줍니다. |
load 에는 두 가지 규칙이 있습니다 — <Name of QoS Policy> 문자열의 최대 길이는 32자 이고, Security Gateway는 SmartConsole에 설정된 객체의 메인 IP 주소나 객체 이름 으로 지정합니다(한 명령에 여러 게이트웨이·클러스터 멤버를 함께 적을 수 있습니다). stat·unload 의 게이트웨이 지정 방법도 이와 똑같습니다.
다음은 사용 예제들입니다.
예제 1 — IP 주소로 지정한 게이트웨이 한 대에 정책 설치
[Expert@MGMT:0]# fgate load MyPolicy.F 192.168.3.52
QoS rules verified OK!
Downloading QoS Policy: MyPolicy.F...
Target(s): MyGW
MyGW: QoS policy transferred to module: MyGW.
MyGW: QoS policy installed succesfully.
Done.
[Expert@MGMT:0]#예제 2 — 객체 이름으로 지정한 클러스터 멤버 두 대에 정책 설치
[Expert@MGMT:0]# fgate load MyPolicy.F MyClusterMember1 MyClusterMember2
QoS rules verified OK!
Downloading QoS Policy: MyPolicy.F...
MyClusterMember1: QoS policy transferred to module: MyClusterMember1.
MyClusterMember1: QoS policy installed succesfully.
MyClusterMember2: QoS policy transferred to module: MyClusterMember2.
MyClusterMember2: QoS policy installed succesfully.
Done.
[Expert@MGMT:0]#예제 3 — 객체 이름으로 지정한 게이트웨이 한 대의 QoS 상태 보기
[Expert@MGMT:0]# fgate stat MyGW
Module name: MyGW
=======================
Product: QoS Software Blade
Version: R82
Kernel Build: 456
Policy Name: MyPolicy
Install time: Wed Dec 4 19:53:48 2019
Interfaces Num: 1
Interface table
----------------------------------------------------------------
|Name|Dir|Limit (Bps)|Avg Rate (Bps)|Conns|Pend pkts|Pend bytes|
----------------------------------------------------------------
|eth0|in | 1250000000| 0| 0| 0| 0|
|eth0|out| 1250000000| 0| 0| 0| 0|
----------------------------------------------------------------
[Expert@MGMT:0]#예제 4 — QoS Software Blade 버전 보기
[Expert@MGMT:0]# fgate ver
This is Check Point QoS Software Blade R82 - Build 123
[Expert@MGMT:0]#Security Gateway에서의 fgate
Security Gateway에서 fgate 는 정책 설치·제거·상태 보기에 더해 정책 가져오기(fetch)와 디버그 제어 까지 다룹니다. 구문이 더 풍부합니다.
fgate [-d]
ctl
-h
<QoS Module> {on | off}
debug
on
off
fetch
-f
<Management Server>
kill [-t <Signal Number>] <Name of QoS Process>
load
log
on
off
stat
stat [-h]
ver [-k]
unload각 파라미터의 뜻은 다음과 같습니다.
| 파라미터 | 설명 | ||
|---|---|---|---|
-d | 명령을 디버그 모드로 실행합니다(명령 자체의 문제 추적용). 출력은 파일로 저장하길 권장합니다. | ||
ctl -h | 기대되는 구문과 사용 가능한 QoS 모듈 목록 을 보여 줍니다. | ||
| `ctl <QoS Module> {on \ | off}` | 지정한 QoS 모듈을 제어합니다. on 은 모듈 활성화(기본), off 는 비활성화입니다. | |
| `debug {on \ | off}` | QoS 사용자 공간 데몬 fgd50의 디버그 모드 를 제어합니다. on 은 디버그 켜기, off 는 끄기(기본). | |
fetch -f | $FWDIR/conf/masters 파일에 설정된 모든 Management Server에서 QoS 정책을 가져와 설치 합니다. | ||
fetch <Management Server> | 지정한 Management Server 에서 QoS 정책을 가져와 설치합니다. 메인 IP 주소나 SmartConsole에 설정된 객체 이름으로 지정합니다. | ||
kill [-t <Signal Number>] <Name of QoS Process> | 지정한 QoS 사용자 공간 프로세스에 지정한 신호를 보냅 니다. | ||
load | 로컬 QoS 정책 을 Security Gateway에 설치합니다. 실패하면 etmstop → etmstart 를 실행합니다. | ||
| `log {on \ | off \ | stat}` | Security Gateway 커널의 QoS 로깅 상태 를 제어합니다. on 켜기(기본), off 끄기, stat 현재 상태 보기. |
stat [-h] | Security Gateway의 QoS Software Blade와 정책 상태 를 보여 줍니다. -h 는 stat 의 내장 사용법을 표시합니다. | ||
ver [-k] | QoS Software Blade 버전을 보여 줍니다. -k 를 붙이면 커널 버전 도 함께 표시합니다. | ||
unload | Security Gateway에서 QoS 정책을 제거합니다. |
debug 는 추가 디버깅 정보를 fgd50 데몬의 로그 파일 $FGDIR/log/fgd.elg 로 보냅니다(자세한 내용은 sk41585 참고).
log off 의 쓸모도 알아 두면 좋습니다 — 정책을 다시 설치하지 않고도 QoS 로깅을 꺼서 리소스를 아낄 수 있습니다.
kill 명령에는 몇 가지 규칙이 있습니다.
- R82에서 사용 가능한 QoS 사용자 공간 프로세스는
fgd50하나뿐 입니다. - QoS fgd50 데몬은 시작할 때 해당 QoS 사용자 공간 프로세스들의 PID를
$FWDIR/tmp/<Name of QoS Process>.pid파일에 기록합니다(예:$FWDIR/tmp/fgd50.pid). $FWDIR/tmp/<Name of QoS Process>.pid파일이 존재하면, 이 명령은 그 파일에 적힌 PID로 지정한 Signal Number를 보냅니다.- 신호를 명시하지 않으면 기본으로 Signal 15(SIGTERM) 를 보냅니다.
- 사용 가능한 신호와 번호 목록은
kill -l명령으로 보고, 신호에 대한 설명은kill·signal의 매뉴얼 페이지(man page)를 참고하세요. - QoS fgd50 데몬을 수동으로 재시작하려면
etmstop을 실행한 뒤etmstart를 실행합니다.
다음은 사용 예제들입니다.
예제 1 — masters 파일에 따라 QoS 정책 가져오기
[Expert@MyGW]# fgate fetch -f
Fetching QoS Software Blade Policy:
Received Policy. Downloading...
eth0(inbound), eth0(outbound).
Download OK.
Done.
[Expert@MyGW]#예제 2 — IP 주소로 지정한 Management Server에서 QoS 정책 가져오기
[Expert@MyGW]# fgate fetch 192.168.3.240
Fetching QoS Software Blade Policy:
Received Policy. Downloading...
eth0(inbound), eth0(outbound).
Download OK.
Done.
[Expert@MyGW]#예제 3 — QoS 상태 보기
[Expert@MyGW]# fgate stat
Product: QoS Software Blade
Version: R82
Kernel Build: 456
Policy Name: MyPolicy
Install time: Wed Dec 4 19:53:48 2019
Interfaces Num: 1
Interface table
----------------------------------------------------------------
|Name|Dir|Limit (Bps)|Avg Rate (Bps)|Conns|Pend pkts|Pend bytes|
----------------------------------------------------------------
|eth0|in | 1250000000| 0| 0| 0| 0|
|eth0|out| 1250000000| 0| 0| 0| 0|
----------------------------------------------------------------
[Expert@MyGW]#예제 4 — QoS Software Blade 버전 보기(-k 포함)
[Expert@MyGW:0]# fgate ver
This is Check Point QoS Software Blade R82 - Build 123
[Expert@MyGW:0]#
[Expert@MyGW:0]# fgate ver -k
This is Check Point QoS Software Blade R82 - Build 123
kernel: R82 - Build 456
[Expert@MyGW:0]#