Red Hat Training

A Red Hat training course is available for RHEL 8

2.6. nmstatectl을 사용하여 고정 IP 주소로 이더넷 연결 구성

nmstatectl 유틸리티를 사용하여 Nmstate API를 통해 이더넷 연결을 구성합니다. Nmstate API는 구성을 설정한 후 결과가 구성 파일과 일치하는지 확인합니다. 아무것도 실패하면 nmstatectl 에서 시스템을 잘못된 상태로 두지 않도록 변경 사항을 자동으로 롤백합니다.

사전 요구 사항

  • 물리적 또는 가상 이더넷 NIC(네트워크 인터페이스 컨트롤러)가 서버 구성에 있습니다.
  • nmstate 패키지가 설치되어 있습니다.

절차

  1. 다음 콘텐츠를 사용하여 YAML 파일(예: ~/create-ethernet-profile.yml )을 만듭니다.

    ---
    interfaces:
    - name: enp1s0
      type: ethernet
      state: up
      ipv4:
        enabled: true
        address:
        - ip: 192.0.2.1
          prefix-length: 24
        dhcp: false
      ipv6:
        enabled: true
        address:
        - ip: 2001:db8:1::1
          prefix-length: 64
        autoconf: false
        dhcp: false
    routes:
      config:
      - destination: 0.0.0.0/0
        next-hop-address: 192.0.2.254
        next-hop-interface: enp1s0
      - destination: ::/0
        next-hop-address: 2001:db8:1::fffe
        next-hop-interface: enp1s0
    dns-resolver:
      config:
        search:
        - example.com
        server:
        - 192.0.2.200
        - 2001:db8:1::ffbb

    이러한 설정은 다음 설정을 사용하여 enp1s0 장치에 대한 이더넷 연결 프로필을 정의합니다.

    • /24 서브넷 마스크가 있는 정적 IPv4 주소 - 192.0.2.1
    • 정적 IPv6 주소 - 2001:db8:1::1 ( /64 서브넷 마스크 포함)
    • IPv4 기본 게이트웨이 - 192.0.2.254
    • IPv6 기본 게이트웨이 - 2001:db8:1::fffe
    • IPv4 DNS 서버 - 192.0.2.200
    • IPv6 DNS 서버 2001:db8:1::ffbb
    • DNS 검색 도메인 - example.com
  2. 시스템에 설정을 적용합니다.

    # nmstatectl apply ~/create-ethernet-profile.yml

검증

  1. 현재 상태를 YAML 형식으로 표시합니다.

    # nmstatectl show enp1s0
  2. NIC의 IP 설정을 표시합니다.

    # ip address show enp1s0
    2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 52:54:00:17:b8:b6 brd ff:ff:ff:ff:ff:ff
        inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp1s0
           valid_lft forever preferred_lft forever
        inet6 2001:db8:1::fffe/64 scope global noprefixroute
           valid_lft forever preferred_lft forever
  3. IPv4 기본 게이트웨이를 표시합니다.

    # ip route show default
    default via 192.0.2.254 dev enp1s0 proto static metric 102
  4. IPv6 기본 게이트웨이를 표시합니다.

    # ip -6 route show default
    default via 2001:db8:1::ffee dev enp1s0 proto static metric 102 pref medium
  5. DNS 설정을 표시합니다.

    # cat /etc/resolv.conf
    search example.com
    nameserver 192.0.2.200
    nameserver 2001:db8:1::ffbb

    여러 연결 프로필이 동시에 활성화된 경우 이름 서버 항목의 순서는 이러한 프로필의 DNS 우선 순위 값과 연결 유형에 따라 달라집니다.

  6. ping 유틸리티를 사용하여 이 호스트가 다른 호스트에 패킷을 보낼 수 있는지 확인합니다.

    # ping <host-name-or-IP-address>

추가 리소스

  • nmstatectl(8) man page
  • /usr/share/doc/nmstate/examples/ 디렉터리