예: 프래그먼트를 처리하기 위한 상태 비저장 방화벽 필터 구성
이 예는 패킷 조각을 처리하는 상태 비저장 방화벽 필터를 생성하는 방법을 보여줍니다.
요구 사항
스테이트리스 방화벽 필터를 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
이 예에서는 10.2.1.0/24에서 시작되어 BGP 포트로 향하는 단편화된 패킷을 수용하는 무상태 방화벽 필터를 fragment-RE
생성합니다. 이 예에는 다음과 같은 방화벽 필터 용어가 포함되어 있습니다.
not-from-prefix-term
-–10.2.1.0/24에 속하지 않은 패킷을 폐기하여 방화벽 필터의 후속 용어가 10.2.1.0/24의 패킷에만 일치하도록 합니다.small-offset-term
- 방화벽 필터의 후속 용어가 패킷의 모든 헤더와 일치할 수 있도록 작은(1-5) 오프셋 패킷을 버립니다. 또한 이 용어는 방화벽 기능의 시스템 로깅 대상에 레코드를 추가합니다.not-fragmented-term
- BGP 프로토콜을 지정하는 대상 포트를 통해 단편화되지 않은 TCP 패킷을 수락합니다. MF 플래그가 설정되지 않고 프래그먼트 오프셋이 0인 경우 패킷은 프래그먼트화되지 않은 것으로 간주됩니다.first-fragment-term
- BGP 프로토콜을 지정하는 대상 포트가 있는 단편화된 TCP 패킷의 첫 번째 부분을 수락합니다.fragment-term
- 에 의해small-offset-term
삭제되지 않은 모든 조각을 받아들입니다. (패킷 조각 6–8191). 그러나 에서first-fragment-term
수락한 첫 번째 프래그먼트를 포함하는 패킷의 일부인 프래그먼트만 대상 디바이스에 의해 리어셈블됩니다.
패킷 조각 오프셋은 1에서 8191까지 가능합니다.
명령을 사용하여 방화벽 필터 내에서 용어를 이동할 수 있습니다 insert
. 자세한 내용은 Junos OS CLI 사용자 가이드의 "삽입"을 참조하십시오.
토폴로지
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.
set firewall family inet filter fragment-RE term not-from-prefix-term from source-address 0.0.0.0/0 set firewall family inet filter fragment-RE term not-from-prefix-term from source-address 10.2.1.0/24 except set firewall family inet filter fragment-RE term not-from-prefix-term then discard set firewall family inet filter fragment-RE term small-offset-term from fragment-offset 1-5 set firewall family inet filter fragment-RE term small-offset-term then syslog set firewall family inet filter fragment-RE term small-offset-term then discard set firewall family inet filter fragment-RE term not-fragmented-term from fragment-offset 0 set firewall family inet filter fragment-RE term not-fragmented-term from fragment-flags "!more-fragments" set firewall family inet filter fragment-RE term not-fragmented-term from protocol tcp set firewall family inet filter fragment-RE term not-fragmented-term from destination-port bgp set firewall family inet filter fragment-RE term not-fragmented-term then accept set firewall family inet filter fragment-RE term first-fragment-term from first-fragment set firewall family inet filter fragment-RE term first-fragment-term from protocol tcp set firewall family inet filter fragment-RE term first-fragment-term from destination-port bgp set firewall family inet filter fragment-RE term first-fragment-term then accept set firewall family inet filter fragment-RE term fragment-term from fragment-offset 6-8191 set firewall family inet filter fragment-RE term fragment-term then accept
절차
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 Junos OS CLI 사용자 가이드를 참조하십시오구성 모드에서 CLI 편집기 사용.
무상태 방화벽 필터 구성하기:
무상태 방화벽 필터를 정의합니다.
[edit] user@host# edit firewall family inet filter fragment-RE
필터에 대한 첫 번째 용어를 구성합니다.
[edit firewall family inet filter fragment-RE ] user@host# set term not-from-prefix-term from source-address 0.0.0.0/0 user@host# set term not-from-prefix-term from source-address 10.2.1.0/24 except user@host# set term not-from-prefix-term then discard
필터에 대한 두 번째 용어를 정의합니다.
[edit firewall family inet filter fragment-RE] user@host# edit term small-offset-term
용어에 대한 일치 조건을 정의합니다.
[edit firewall family inet filter fragment-RE term small-offset-term] user@host# set from fragment-offset 1-5
용어에 대한 작업을 정의합니다.
[edit firewall family inet filter fragment-RE term small-offset-term] user@host# set then syslog discard
필터에 대한 세 번째 항을 정의합니다.
[edit] user@host# edit firewall family inet filter fragment-RE term not-fragmented-term
용어에 대한 일치 조건을 정의합니다.
[edit firewall family inet filter fragment-RE term not-fragmented-term] user@host# set from fragment-flags "!more-fragments" fragment-offset 0 protocol tcp destination-port bgp
용어에 대한 작업을 정의합니다.
[edit firewall family inet filter fragment-RE term not-fragmented-term] user@host# set then accept
필터에 대한 네 번째 항을 정의합니다.
[edit] user@host# edit firewall family inet filter fragment-RE term first-fragment-term
용어에 대한 일치 조건을 정의합니다.
[edit firewall family inet filter fragment-RE term first-fragment-term] user@host# set from first-fragment protocol tcp destination-port bgp
용어에 대한 작업을 정의합니다.
[edit firewall family inet filter fragment-RE term first-fragment-term] user@host# set then accept
필터의 마지막 용어를 정의합니다.
[edit] user@host# edit firewall family inet filter fragment-RE term fragment-term
용어에 대한 일치 조건을 정의합니다.
[edit firewall family inet filter fragment-RE term fragment-term] user@host# set from fragment-offset 6–8191
용어에 대한 작업을 정의합니다.
[edit firewall family inet filter fragment-RE term fragment-term] user@host# set then accept
결과
구성 모드에서 show firewall
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@host# show firewall family inet { filter fragment-RE { term not-from-prefix-term { from { source-address { 0.0.0.0/0; 10.2.1.0/24 except; } } then discard; } term small-offset-term { from { fragment-offset 1-5; } then { syslog; discard; } } term not-fragmented-term { from { fragment-offset 0; fragment-flags "!more-fragments"; protocol tcp; destination-port bgp; } then accept; } term first-fragment-term { from { first-fragment; protocol tcp; destination-port bgp; } then accept; } term fragment-term { from { fragment-offset 6-8191; } then accept; } } }
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다.
검증
구성이 제대로 작동하는지 확인하려면 다음의 작업을 수행하십시오:
상태 비저장 방화벽 필터 구성 표시
목적
방화벽 필터의 구성을 확인합니다. 전체 구성을 표시하여 필터 용어의 흐름을 분석할 수 있습니다.
작업
구성 모드에서 show firewall
명령을 입력합니다.
의미
출력이 방화벽 필터의 의도된 구성을 보여주는지 확인합니다. 또한 패킷을 테스트하려는 순서대로 용어가 나열되어 있는지 확인합니다. CLI 명령을 사용하여 방화벽 필터 내에서 용어를 이동할 수 있습니다 insert
.