비트 필드 값에 기반한 방화벽 필터 일치 조건
비트 필드 값에 대한 일치 조건
표 1 은(는) 패킷의 특정 비트 필드 설정 여부에 기반한 방화벽 필터 일치 조건을 나열합니다. 두 번째 및 세 번째 열은 일치 조건이 지원되는 트래픽 유형을 나열합니다.
비트 필드 일치 조건 |
일치 값 |
표준 스테이트리스 방화벽 필터에 대한 프로토콜 제품군 |
서비스 필터를 위한 프로토콜 제품군 |
---|---|---|---|
fragment-flags flags |
IP 헤더의 3비트 IP 단편화 플래그 필드에 대한 16진수 값 또는 텍스트 별칭입니다. |
family inet |
family inet |
fragment-offset value |
IP 헤더의 13비트 부분 오프셋 필드에 대한 16진수 값 또는 텍스트 별칭입니다. |
family inet |
family inet |
tcp-flags value† |
TCP 헤더의 8비트 TCP 플래그 필드의 낮은 순서 6비트에 대한 16진수 값 또는 텍스트 별칭입니다. |
family inetfamily inet6family vplsfamily bridge |
family inetfamily inet6 |
† Junos OS IPv4 트래픽에 대한 TCP 플래그와 일치할 때 첫 번째 패킷 조각 비트를 자동으로 확인하지 않습니다. IPv4 트래픽에 대해서만 첫 번째 패킷 조각 비트를 확인하려면 일치 조건을 사용합니다 first-fragment . |
공통 비트 필드 값 또는 조합에 대한 일치 조건
표 2 은(는) 패킷에서 일반적으로 사용되는 특정 값 또는 비트 필드 조합 이 설정되었는지 여부를 기반으로 하는 방화벽 필터 일치 조건을 설명합니다.
텍스트 동의어를 사용하여 일반적인 비트 필드 일치 항목을 지정할 수 있습니다. 이전 예에서 동일한 일치 조건으로 지정할 tcp-initial 수 있습니다.
일부 숫자 범위 및 비트 필드 일치 조건을 사용하면 텍스트 동의어를 지정할 수 있습니다. 동의어의 전체 목록:
J-Web 인터페이스를 사용하는 경우 해당 목록에서 동의어를 선택합니다.
CLI를 사용하는 경우 문 후 물음표(?)를 입력합니다 from .
일치 조건 |
설명 |
표준 스테이트리스 방화벽 필터에 대한 프로토콜 제품군 |
서비스 필터를 위한 프로토콜 제품군 |
---|---|---|---|
first-fragment |
단편화된 패킷의 첫 번째 부분을 나타내는 비트 필드 일치 조건에 fragment-offset 0대한 텍스트 별칭입니다. |
family inet |
family inet |
is-fragment |
비트 필드 일치 조건에 fragment-offset 0 except대한 텍스트 별칭, 이는 단편화된 패킷의 후행 부분을 나타냅니다. |
family inet |
family inet |
tcp-established |
비트 필드 일치 조건에 tcp-flags "(ack | rst)"대한 별칭으로, 이는 TCP 연결의 첫 번째 패킷은 아니지만 설정된 TCP 세션을 나타냅니다. |
family inetfamily inet6 |
— |
tcp-initial |
설정된 TCP 세션은 아니지만 TCP 연결의 첫 번째 패킷을 나타내는 비트 필드 일치 조건 tcp-flags "(!ack & syn)"의 별칭입니다. |
family inetfamily inet6 |
— |
비트 필드 값에 대한 논리적 연산자
표 3 은(는) 스테이트리스 방화벽 필터 일치 조건을 지정할 때 단일 비트 필드 값에 적용할 수 있는 논리적 연산자를 나열합니다. 연산자는 우선 순위가 높은 것부터 가장 낮은 우선 순위까지 순서대로 나열됩니다. 운영은 왼쪽에서 오른쪽으로 처리된다는 것을 의미합니다.
우선 순위 순서 |
비트 필드 논리적 연산자 |
설명 |
---|---|---|
1 |
(complex-match-condition) |
그룹화 - 괄호 외부의 연산자를 적용하기 전에 복잡한 일치 조건이 평가됩니다. |
2 |
! match-condition |
부정- 일치 조건이 거짓인 경우 일치가 발생합니다. |
3 |
match-condition-1 & match-condition-2또는match-condition-1 + match-condition-2 |
논리적 AND - 두 일치 조건이 모두 true이면 일치가 발생합니다. |
4 |
match-condition-1 | match-condition-2또는match-condition-1 , match-condition-2 |
논리적 OR - 일치 조건이 True이면 일치가 발생합니다. |
단일 비트 필드 값 또는 텍스트 별칭에 대한 일치
및 tcp-flags 비트 일치 조건의 경우, 패킷 필드의 fragment-flags 특정 비트 설정 여부에 따라 방화벽 필터 일치 조건을 지정할 수 있습니다.
단일 비트를 지정하는 숫자 값 - 단일 비트 세트가 있는 숫자 값을 사용하여 단일 비트 필드 일치 조건을 지정할 수 있습니다. 일치 조건에 따라 10진수 값, 이진수 값 또는 16진수 값을 지정할 수 있습니다. 이진 값을 지정하려면 접두 b사로 숫자를 지정합니다. 16진수 값을 지정하려면 접두 0x사로 숫자를 지정합니다.
다음 예시에서 TCP 플래그 필드의 비트가 RST 설정된 경우 일치가 발생합니다.
[edit firewall family inet filter filter_tcp_rst_number term term1 from] user@host# set tcp-flags 0x04
단일 비트를 지정하는 텍스트 별칭 - 일반적으로 큰따옴표(" ")로 묶인 텍스트 별칭을 사용하여 단일 비트 필드 일치 조건을 지정합니다.
다음 예시에서 TCP 플래그 필드의 비트가 RST 설정된 경우 일치가 발생합니다.
[edit firewall family inet filter filter_tcp_rst_alias term term1 from] user@host# set tcp-flags “rst”
다중 비트 필드 값 또는 텍스트 별칭 일치
패킷 필드의 특정 비트 집합이 설정되었는지 여부에 따라 방화벽 필터 일치 조건을 지정할 수 있습니다.
여러 세트 비트를 지정하는 숫자 값 - 이진 표현이 두 개 이상의 세트 비트를 갖는 숫자 값을 지정할 때, 이 값은 설정된 비트의 논리적 AND로 처리됩니다.
다음 예시에서 두 일치 조건은 동일합니다. 비트 0x01 또는 0x02 이 설정되지 않은 경우 일치가 발생합니다.
[edit firewall family inet filter reset_or_not_initial_packet term term5 from] user@host# set tcp-flags “!0x3” user@host# set tcp-flags “!(0x01 & 0x02)”
공통 비트 필드 일치를 지정하는 텍스트 별칭 - 텍스트 별칭을 사용하여 공통 비트 필드 일치를 지정할 수 있습니다. 이러한 일치 항목을 단일 키워드로 지정합니다.
다음 예제에서, tcp-established 에 대한 “(ack | rst)”별칭인 조건은 연결의 첫 번째 패킷이 아닌 TCP 패킷에서 일치가 발생한다는 것을 지정합니다.
[edit firewall family inet filter reset_or_not_initial_packet term term6 from] user@host# set tcp-established
부정 비트 필드 값 일치
일치를 무효화하려면, 값에 느낌표가 앞에 붙입니다.
다음 예시에서 TCP 플래그 필드의 비트가 RST 설정된 경우 일치가 발생합니다.
[edit firewall family inet filter filter_tcp_rst term term1 from] user@host# set tcp-flags “!rst”
두 개의 비트 필드 값의 논리적 OR 일치
(| 또는,)을 사용하여 비트 필드가 지정된 두 비트 필드 값 중 하나와 일치할 경우 일치가 발생하도록 지정할 수 있습니다.
다음 예시에서 패킷이 TCP 세션의 초기 패킷이 아닌 경우 일치가 발생합니다.
[edit firewall family inet filter not_initial_packet term term3 from] user@host# set tcp-flags "!syn | ack"
TCP 세션에서 SYN 플래그는 전송된 초기 패킷에서만 설정되며, ACK 플래그는 초기 패킷 후 전송된 모든 패킷에 설정됩니다. TCP 세션의 초기 패킷이 아닌 패킷에서 SYN 플래그가 설정되지 않았거나 ACK 플래그가 설정됩니다.
두 비트 필드 값의 논리적 AND 일치
(& 또는+)을 사용하여 비트 필드가 지정된 두 비트 필드 값과 모두 일치하는 경우 일치가 발생하도록 지정할 수 있습니다.
다음 예시에서 패킷이 TCP 세션의 초기 패킷인 경우 일치가 발생합니다.
[edit firewall family inet filter initial_packet term term2 from] user@host# set tcp-flags “syn & !ack”
TCP 세션에서 SYN 플래그는 전송된 초기 패킷에서만 설정되며, ACK 플래그는 초기 패킷 후 전송된 모든 패킷에 설정됩니다. TCP 세션의 초기 패킷인 패킷에서 SYN 플래그가 설정되고 ACK 플래그가 설정되지 않습니다.
비트 필드 일치 조건 그룹화
을 사용하여 괄호 안의 복잡한 일치 조건이 괄호 외부의 연산자를 적용하기 전에 평가되도록 지정할 수 있습니다.
다음 예제에서는 패킷이 TCP 리셋이거나 패킷이 TCP 세션의 초기 패킷이 아닌 경우 일치가 발생합니다.
[edit firewall family inet filter reset_or_not_initial_packet term term4 from] user@host# set tcp-flags “!(syn & !ack) | rst”
TCP 세션에서 SYN 플래그는 전송된 초기 패킷에서만 설정되며, ACK 플래그는 초기 패킷 후 전송된 모든 패킷에 설정됩니다. TCP 세션의 초기 패킷이 아닌 패킷에서 SYN 플래그가 설정되지 않고 ACK 필드가 설정됩니다.