목차/12. 명령줄 참조

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 -hstat 파라미터의 내장 사용법(usage)을 보여 줍니다.
stat <GW1> <GW2> ... <GWN>관리하는 Security Gateway들의 QoS Software Blade와 정책 상태 를 보여 줍니다.
unload <GW1> <GW2> ... <GWN>지정한 Security Gateway들에서 QoS 정책을 제거(uninstall) 합니다.
verManagement 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에 설치합니다. 실패하면 etmstopetmstart 를 실행합니다.
`log {on \off \stat}`Security Gateway 커널의 QoS 로깅 상태 를 제어합니다. on 켜기(기본), off 끄기, stat 현재 상태 보기.
stat [-h]Security Gateway의 QoS Software Blade와 정책 상태 를 보여 줍니다. -hstat 의 내장 사용법을 표시합니다.
ver [-k]QoS Software Blade 버전을 보여 줍니다. -k 를 붙이면 커널 버전 도 함께 표시합니다.
unloadSecurity 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]#