1.13. 예제: IP 관리


다음 예제 구성 조각은 IP 관리의 다양한 방법을 보여줍니다.

이 예제에서는 ethernet 인터페이스 유형을 사용하여 예제를 단순화하면서 정책 구성에 관련 컨텍스트를 표시합니다. 이러한 IP 관리 예제는 다른 인터페이스 유형과 함께 사용할 수 있습니다.

1.13.1. 고정

다음 스니펫은 이더넷 인터페이스에서 IP 주소를 정적으로 구성합니다.

# ...
    interfaces:
    - name: eth1
      description: static IP on eth1
      type: ethernet
      state: up
      ipv4:
        dhcp: false
        address:
        - ip: 192.168.122.250 
1

          prefix-length: 24
        enabled: true
# ...
1
이 값을 인터페이스의 고정 IP 주소로 교체합니다.

1.13.2. IP 주소 없음

다음 스니펫에서는 인터페이스에 IP 주소가 없습니다.

# ...
    interfaces:
    - name: eth1
      description: No IP on eth1
      type: ethernet
      state: up
      ipv4:
        enabled: false
# ...
중요

인터페이스를 비활성화하려면 ipv4.enabledipv6.enabled 매개변수를 모두 false 로 설정하는 경우 항상 state 매개변수를 up 으로 설정하세요. 이 구성에서 state: down 을 설정하면 자동 DHCP 할당으로 인해 인터페이스가 DHCP IP 주소를 받습니다.

1.13.3. 동적 호스트 구성

다음 스니펫에서는 동적 IP 주소, 게이트웨이 주소, DNS를 사용하는 이더넷 인터페이스를 구성합니다.

# ...
    interfaces:
    - name: eth1
      description: DHCP on eth1
      type: ethernet
      state: up
      ipv4:
        dhcp: true
        enabled: true
# ...

다음 스니펫에서는 동적 IP 주소를 사용하지만 동적 게이트웨이 주소 또는 DNS를 사용하지 않는 이더넷 인터페이스를 구성합니다.

# ...
    interfaces:
    - name: eth1
      description: DHCP without gateway or DNS on eth1
      type: ethernet
      state: up
      ipv4:
        dhcp: true
        auto-gateway: false
        auto-dns: false
        enabled: true
# ...

1.13.4. 미디어 액세스 제어(MAC) 주소

네트워크 인터페이스 이름 대신 MAC 주소를 사용하여 네트워크 인터페이스를 식별할 수 있습니다. 네트워크 인터페이스 이름은 운영 체제 구성 변경 등 다양한 이유로 변경될 수 있습니다. 그러나 모든 네트워크 인터페이스에는 변경되지 않는 고유한 MAC 주소가 있습니다. 즉, MAC 주소를 사용하면 특정 네트워크 인터페이스를 식별하는 데 더 영구적인 방법이 됩니다.

식별자 매개변수에 지원되는 값에는 기본 이름 값과 mac-address 값이 포함됩니다. 이름 값은 지정된 인터페이스 이름을 보유하는 인터페이스에 구성을 적용합니다.

식별자 매개변수에 MAC 주소 값을 사용하면 MAC 주소가 네트워크 인터페이스의 식별자라는 것을 나타냅니다. 식별자 값을 mac-address 로 설정하는 경우 다음 mac-address 매개변수 필드에 특정 MAC 주소를 입력해야 합니다.

참고

name 매개변수에 대한 값을 지정할 수는 있지만, identifier: mac-address 값을 설정하면 MAC 주소가 네트워크 인터페이스의 기본 식별자로 사용된다는 의미입니다. 잘못된 MAC 주소를 지정하면 nmstate는 잘못된 인수 오류를 보고합니다.

다음 스니펫은 8A:8C:92:1A:F6:98 의 MAC 주소를 갖는 eth1 이라는 이더넷 장치의 기본 식별자로 지정합니다.

# ...
interfaces:
- name: eth1
  profile-name: wan0
  type: ethernet
  state: up
  identifier: mac-address
  mac-address: 8A:8C:92:1A:F6:98
# ...

1.13.5. DNS

기본적으로 nmstate API는 DNS 값을 네트워크 인터페이스에 저장하는 대신 전역적으로 저장합니다. 특정 상황에서는 DNS 값을 저장하기 위해 네트워크 인터페이스를 구성해야 합니다.

작은 정보

DNS 구성을 설정하는 것은 /etc/resolv.conf 파일을 수정하는 것과 같습니다.

네트워크 인터페이스에 대한 DNS 구성을 정의하려면 먼저 네트워크 인터페이스의 YAML 구성 파일에서 dns-resolver 섹션을 지정해야 합니다. 네트워크 인터페이스에 NNCP 구성을 적용하려면 oc apply -f <nncp_file_name> 명령을 실행해야 합니다.

다음 예에서는 DNS 값을 전역적으로 저장하는 기본 상황을 보여줍니다.

  • 네트워크 인터페이스 없이 정적 DNS를 구성합니다. 호스트 노드에서 /etc/resolv.conf 파일을 업데이트할 때 NodeNetworkConfigurationPolicy (NNCP) 매니페스트에서 인터페이스(IPv4 또는 IPv6)를 지정할 필요가 없습니다.

    DNS 값을 전역적으로 저장하는 네트워크 인터페이스에 대한 DNS 구성 예

    apiVersion: nmstate.io/v1
    kind: NodeNetworkConfigurationPolicy
    metadata:
     name: worker-0-dns-testing
    spec:
      nodeSelector:
        kubernetes.io/hostname: <target_node>
      desiredState:
        dns-resolver:
          config:
            server:
            - 2001:db8:f::1
            - 192.0.2.251
            search:
            - example.com
            - example.org
    # ...

    중요

    다음 예에서 보여준 것처럼 NNCP 파일의 dns-resolver.config 섹션에서 DNS 옵션을 지정할 수 있습니다.

    # ...
    desiredState:
        dns-resolver:
          config:
            options:
             - timeout:2
             - attempts:3
    # ...

    네트워크 인터페이스에서 DNS 옵션을 제거하려면 다음 구성을 NNCP에 적용한 다음 oc apply -f <nncp_file_name> 명령을 실행하세요.

    # ...
        dns-resolver:
          config: {}
        interfaces: []
    # ...

다음 예에서는 DNS 값을 저장하기 위해 네트워크 인터페이스를 구성해야 하는 상황을 보여줍니다.

  • 정적 DNS 이름 서버를 동적 DNS 이름 서버보다 순위를 매기려면 네트워크 인터페이스 YAML 구성 파일에서 동적 호스트 구성 프로토콜(DHCP) 또는 IPv6 자동 구성( autoconf ) 메커니즘을 실행하는 인터페이스를 정의합니다.

    DHCPv4 네트워크 프로토콜에서 검색된 DNS 이름 서버에 192.0.2.1을 추가하는 구성 예

    # ...
    dns-resolver:
      config:
        server:
        - 192.0.2.1
    interfaces:
      - name: eth1
        type: ethernet
        state: up
        ipv4:
          enabled: true
          dhcp: true
          auto-dns: true
    # ...

  • DNS 값을 전역적으로 저장하기 위해 nmstate API를 사용하는 기본 방식 대신 DNS 값을 저장하도록 네트워크 인터페이스를 구성해야 하는 경우, 네트워크 인터페이스 YAML 파일에서 정적 DNS 값과 정적 IP 주소를 설정할 수 있습니다.

    중요

    네트워크 인터페이스 수준에서 DNS 값을 저장하면 인터페이스를 OVS(Open vSwitch) 브리지, Linux 브리지 또는 본드와 같은 네트워크 구성 요소에 연결한 후 이름 확인 문제가 발생할 수 있습니다.

    인터페이스 수준에서 DNS 값을 저장하는 구성 예

    # ...
    dns-resolver:
      config:
        server:
        - 2001:db8:1::d1
        - 2001:db8:1::d2
        - 192.0.2.1
        search:
        - example.com
        - example.org
    interfaces:
      - name: eth1
        type: ethernet
        state: up
        ipv4:
          address:
          - ip: 192.0.2.251
            prefix-length: 24
          dhcp: false
          enabled: true
        ipv6:
          address:
          - ip: 2001:db8:1::1
            prefix-length: 64
          dhcp: false
          enabled: true
          autoconf: false
    # ...

  • 네트워크 인터페이스에 대한 정적 DNS 검색 도메인과 정적 DNS 이름 서버를 설정하려면 네트워크 인터페이스 YAML 구성 파일에서 DHCP(동적 호스트 구성 프로토콜) 또는 IPv6 자동 구성( autoconf ) 메커니즘을 실행하는 정적 인터페이스를 정의합니다.

    중요

    네트워크 인터페이스 YAML 파일에서 다음 dns-resolver 구성을 지정하면 재부팅 시 경쟁 조건이 발생하여 클러스터에서 실행되는 Pod에 NodeNetworkConfigurationPolicy (NNCP)가 적용되지 않을 수 있습니다.

    • 네트워크 인터페이스에 대한 정적 DNS 검색 도메인과 동적 DNS 이름 서버를 설정합니다.
    • 검색 매개변수에 도메인 접미사를 지정하고 서버 매개변수에 IP 주소를 설정하지 않습니다.

    example.comexample.org 정적 DNS 검색 도메인과 정적 DNS 이름 서버 설정을 설정하는 예제 구성

    # ...
    dns-resolver:
      config:
        server:
        - 2001:db8:f::1
        - 192.0.2.251
        search:
        - example.com
        - example.org
    interfaces:
      - name: eth1
        type: ethernet
        state: up
        ipv4:
          enabled: true
          dhcp: true
          auto-dns: true
        ipv6:
          enabled: true
          dhcp: true
          autoconf: true
          auto-dns: true
    # ...

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동