9.3. Ingress 노드 방화벽 운영자 배포


사전 요구 사항

  • Ingress Node Firewall Operator가 설치되었습니다.

프로세스

Ingress Node Firewall Operator를 배포하려면 Operator의 데몬 세트를 배포할 IngressNodeFirewallConfig 사용자 정의 리소스를 만듭니다. 방화벽 규칙을 적용하여 하나 이상의 IngressNodeFirewall CRD를 노드에 배포할 수 있습니다.

  1. openshift-ingress-node-firewall 네임스페이스 내에 ingressnodefirewallconfig 라는 이름의 IngressNodeFirewallConfig를 생성합니다.
  2. 다음 명령을 실행하여 Ingress Node Firewall Operator 규칙을 배포합니다.

    $ oc apply -f rule.yaml
    Copy to Clipboard Toggle word wrap

9.3.1. Ingress 노드 방화벽 구성 개체

Ingress 노드 방화벽 구성 개체의 필드는 다음 표에 설명되어 있습니다.

Expand
표 9.1. Ingress 노드 방화벽 구성 개체
필드유형설명

metadata.name

string

CR 객체의 이름입니다. 방화벽 규칙 개체의 이름은 ingressnodefirewallconfig 여야 합니다.

metadata.namespace

string

Ingress Firewall Operator CR 개체에 대한 네임스페이스입니다. IngressNodeFirewallConfig CR은 openshift-ingress-node-firewall 네임스페이스 내부에 생성되어야 합니다.

spec.nodeSelector

string

지정된 노드 레이블을 통해 노드를 타겟으로 지정하는 데 사용되는 노드 선택 제약 조건입니다. 예를 들면 다음과 같습니다.

spec:
  nodeSelector:
    node-role.kubernetes.io/worker: ""
Copy to Clipboard Toggle word wrap
참고

데몬 세트를 시작하려면 nodeSelector 에서 사용된 레이블 중 하나가 노드의 레이블과 일치해야 합니다. 예를 들어, 노드 레이블 node-role.kubernetes.io/workernode-type.kubernetes.io/vm 이 노드에 적용되는 경우 데몬 세트를 시작하려면 nodeSelector를 사용하여 최소한 하나의 레이블을 설정해야 합니다.

spec.ebpfProgramManagerMode

boolean

Node Ingress Firewall Operator가 eBPF Manager Operator를 사용하여 eBPF 프로그램을 관리할지 여부를 지정합니다. 이 기능은 기술 미리보기 기능입니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

참고

운영자는 CR을 사용하여 nodeSelector 와 일치하는 모든 노드에 설정된 수신 노드 방화벽 데몬을 생성합니다.

9.3.2. Ingress 노드 방화벽 운영자 구성 예시

다음 예에서는 완전한 Ingress 노드 방화벽 구성을 지정합니다.

Ingress 노드 방화벽 구성 객체를 만드는 방법의 예

$ cat << EOF | oc create -f -
apiVersion: ingressnodefirewall.openshift.io/v1alpha1
kind: IngressNodeFirewallConfig
metadata:
  name: ingressnodefirewallconfig
  namespace: openshift-ingress-node-firewall
spec:
  nodeSelector:
    node-role.kubernetes.io/worker: ""
EOF
Copy to Clipboard Toggle word wrap

참고

Operator는 CR 객체를 사용하고 nodeSelector 와 일치하는 모든 노드에 설정된 수신 노드 방화벽 데몬을 생성합니다.

9.3.3. Ingress 노드 방화벽 규칙 개체

Ingress 노드 방화벽 규칙 개체의 필드는 다음 표에 설명되어 있습니다.

Expand
표 9.2. Ingress 노드 방화벽 규칙 개체
필드유형설명

metadata.name

string

CR 객체의 이름입니다.

interfaces

array

이 개체의 필드는 방화벽 규칙을 적용할 인터페이스를 지정합니다. 예를 들어, - en0- en1 .

nodeSelector

array

nodeSelector를 사용하면 방화벽 규칙을 적용할 노드를 선택할 수 있습니다. 규칙을 적용하려면 명명된 노드 선택기 레이블의 값을 true 로 설정합니다.

ingress[]

object

ingress를 사용하면 클러스터의 서비스에 대한 외부 액세스를 허용하는 규칙을 구성할 수 있습니다.

9.3.3.1. Ingress 객체 구성

ingress 객체의 값은 다음 표에 정의되어 있습니다.

Expand
표 9.3. 진입 객체
필드유형설명

sourceCIDRs

array

CIDR 블록을 설정할 수 있습니다. 다양한 주소 패밀리에서 여러 CIDR을 구성할 수 있습니다.

참고

CIDR이 다르면 동일한 주문 규칙을 사용할 수 있습니다. 동일한 노드와 인터페이스에 대해 CIDR이 겹치는 여러 IngressNodeFirewall 개체가 있는 경우, 순서 필드는 어떤 규칙이 먼저 적용되는지 지정합니다. 규칙은 오름차순으로 적용됩니다.

rules[]

array

Ingress 방화벽 규칙.order 객체는 각 소스 에 대해 1 부터 시작하여 정렬되며 CIDR당 최대 100개의 규칙이 있습니다. 낮은 순위의 규칙이 먼저 실행됩니다.

rules.protocolConfig.protocol은 다음 프로토콜을 지원합니다: TCP, UDP, SCTP, ICMP 및 ICMPv6. ICMP 및 ICMPv6 규칙은 ICMP 및 ICMPv6 유형이나 코드와 일치할 수 있습니다. TCP, UDP 및 SCTP 규칙은 <start : end-1> 형식을 사용하여 단일 대상 포트 또는 포트 범위와 일치할 수 있습니다.

rules.action을 설정하여 규칙을 적용하도록 허용하고 , 거부하여 규칙을 허용하지 않도록 합니다.

참고

Ingress 방화벽 규칙은 잘못된 구성을 차단하는 검증 웹훅을 사용하여 검증됩니다. 확인 웹훅을 사용하면 API 서버와 같은 중요한 클러스터 서비스를 차단하지 못하게 됩니다.

9.3.3.2. Ingress 노드 방화벽 규칙 객체 예

다음 예에서는 완전한 Ingress 노드 방화벽 구성을 지정합니다.

Ingress 노드 방화벽 구성 예

apiVersion: ingressnodefirewall.openshift.io/v1alpha1
kind: IngressNodeFirewall
metadata:
  name: ingressnodefirewall
spec:
  interfaces:
  - eth0
  nodeSelector:
    matchLabels:
      <ingress_firewall_label_name>: <label_value> 
1

  ingress:
  - sourceCIDRs:
       - 172.16.0.0/12
    rules:
    - order: 10
      protocolConfig:
        protocol: ICMP
        icmp:
          icmpType: 8 #ICMP Echo request
      action: Deny
    - order: 20
      protocolConfig:
        protocol: TCP
        tcp:
          ports: "8000-9000"
      action: Deny
  - sourceCIDRs:
       - fc00:f853:ccd:e793::0/64
    rules:
    - order: 10
      protocolConfig:
        protocol: ICMPv6
        icmpv6:
          icmpType: 128 #ICMPV6 Echo request
      action: Deny
Copy to Clipboard Toggle word wrap

1
<label_name>과 <label_value>는 노드에 있어야 하며 ingressfirewallconfig CR을 실행하려는 노드에 적용된 nodeselector 레이블 및 값과 일치해야 합니다. <label_value>는 true 또는 false가 될 수 있습니다. nodeSelector 레이블을 사용하면 ingressfirewallconfig CR을 사용하여 서로 다른 규칙을 적용할 별도의 노드 그룹을 타겟팅할 수 있습니다.

9.3.3.3. Zero trust Ingress 노드 방화벽 규칙 객체 예시

Zero trust Ingress 노드 방화벽 규칙은 다중 인터페이스 클러스터에 추가적인 보안을 제공할 수 있습니다. 예를 들어, 제로 트러스트 Ingress 노드 방화벽 규칙을 사용하면 SSH를 제외한 특정 인터페이스의 모든 트래픽을 삭제할 수 있습니다.

다음 예에서는 Zero Trust Ingress 노드 방화벽 규칙 세트의 전체 구성을 지정합니다.

중요

사용자는 애플리케이션이 제대로 작동하도록 하기 위해 다음과 같은 경우 허용 목록에 모든 포트를 추가해야 합니다.

예제 제로 트러스트 Ingress 노드 방화벽 규칙

apiVersion: ingressnodefirewall.openshift.io/v1alpha1
kind: IngressNodeFirewall
metadata:
 name: ingressnodefirewall-zero-trust
spec:
 interfaces:
 - eth1 
1

 nodeSelector:
   matchLabels:
     <ingress_firewall_label_name>: <label_value> 
2

 ingress:
 - sourceCIDRs:
      - 0.0.0.0/0 
3

   rules:
   - order: 10
     protocolConfig:
       protocol: TCP
       tcp:
         ports: 22
     action: Allow
   - order: 20
     action: Deny 
4
Copy to Clipboard Toggle word wrap

1
네트워크 인터페이스 클러스터
2
<label_name>과 <label_value>는 ingressfirewallconfig CR을 적용하려는 특정 노드에 적용된 nodeSelector 레이블 및 값과 일치해야 합니다.
3
0.0.0.0/0은 모든 CIDR과 일치하도록 설정됩니다.
4
거부 로 설정된 작업
중요

eBPF Manager Operator 통합은 기술 미리 보기 기능에 불과합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat