2.11. PCI 주소와 nmstatectl 을 사용하여 동적 IP 주소로 이더넷 연결 구성
nmstatectl 유틸리티를 사용하여 Nmstate API를 통해 이더넷 연결을 구성합니다. Nmstate API는 구성을 설정한 후 결과가 구성 파일과 일치하는지 확인합니다. 문제가 발생하면 nmstatectl 이 변경 사항을 자동으로 롤백하여 시스템을 잘못된 상태로 두지 않습니다.
Nmstate를 사용하여 DHCP 서버 및 IPv6 SLAAC(상태 비저장 주소 자동 구성)에서 IP 주소, 게이트웨이 및 DNS 설정을 검색하는 이더넷 연결을 구성할 수 있습니다. 인터페이스 이름 대신 PCI 주소를 기반으로 장치에 연결 프로필을 할당할 수 있습니다.
사전 요구 사항
- 물리적 이더넷 장치가 서버 구성에 있습니다.
- DHCP 서버 및 SLAAC는 네트워크에서 사용할 수 있습니다.
- 관리 호스트는 NetworkManager를 사용하여 네트워크를 구성합니다.
-
장치의 PCI 주소를 알고 있습니다.
ethtool -i < interface_name > | grep bus-info명령을 사용하여 PCI 주소를 표시할 수 있습니다. -
nmstate패키지가 설치되어 있습니다.
프로세스
다음 콘텐츠를 사용하여 YAML 파일(예:
~/create-ethernet-profile.yml)을 만듭니다.--- interfaces: - name: <profile_name> type: ethernet state: up identifier: pci-address pci-address: 0000:00:14.3 ipv4: enabled: true auto-dns: true auto-gateway: true auto-routes: true dhcp: true ipv6: enabled: true auto-dns: true auto-gateway: true auto-routes: true autoconf: true dhcp: true이러한 설정은 ID
0000:00:14.3이 있는 장치에 대한 이더넷 연결 프로필을 정의합니다. 연결은 DHCP 서버와 IPv6 상태 비저장 주소 자동 구성(SLAAC)에서 IPv4 주소, IPv6 주소, 기본 게이트웨이, 경로, DNS 서버 및 검색 도메인을 검색합니다.시스템에 설정을 적용합니다.
# nmstatectl apply ~/create-ethernet-profile.yml
검증
현재 상태를 YAML 형식으로 표시합니다.
# nmstatectl show <interface_name>NIC의 IP 설정을 표시합니다.
# ip address show <interface_name> 2: <interface_name>: <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 <interface_name> valid_lft forever preferred_lft forever inet6 2001:db8:1::fffe/64 scope global noprefixroute valid_lft forever preferred_lft foreverIPv4 기본 게이트웨이를 표시합니다.
# ip route show default default via 192.0.2.254 dev <interface_name> proto static metric 102IPv6 기본 게이트웨이를 표시합니다.
# ip -6 route show default default via 2001:db8:1::fffe dev <interface_name> proto static metric 102 pref mediumDNS 설정을 표시합니다.
# cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbbping유틸리티를 사용하여 이 호스트가 다른 호스트에 패킷을 전송할 수 있는지 확인합니다.# ping <host-name-or-IP-address>