저는 애플리케이션 전체의 일관성을 보장하기 위해 일부 네트워크 인터페이스의 이름을 바꾸는 시스템을 개발 중입니다. 설치 과정에서 IP 주소를 구성하는 데 어려움이 있었습니다. 몇 가지 테스트를 수행하고 연결을 구성했는데 nmtui
두 가지 사용 사례가 있는 것 같습니다.
자동 이름 지정 인터페이스:
인터페이스 이름이 운영 체제에서 지정한 이름(예: 예 eno1
)을 갖는 경우 연결 구성은 다음 위치에 저장됩니다./etc/NetworkManager/system-connections/eno1.nmconnection
이름이 변경된 인터페이스:
인터페이스 이름이 변경되면(예: data
파일로 제공) 연결 구성이 파일에 저장됩니다.DEVICE
ifcfg-
/etc/sysconfig/network-scripts/ifcfg-data
이제 두 경우 모두 ifcfg-
파일이 존재합니다. 의 경우 eno1
파일 설정 MTU
및 ZONE
의 경우 data
파일 설정 NAME
및 DEVICE
.
명백한 불일치가 있는 이유와 두 경우 모두 인터페이스를 사전 구성하는 방법을 설명할 수 있는 사람이 있습니까?
고쳐 쓰다:
몇 가지 추가 테스트를 수행했으며 NAME
설정이 에 포함되어 있는지 여부에 관계없이 기본값이 아닌 다른 것으로 ifcfg
설정되어 있는 한 NetworkManager는 해당 인터페이스에 대한 IP 구성을 저장할 것입니다 . 및를 원래 인터페이스 이름으로 채우면 IP 구성이 파일에 저장됩니다.device
ifcfg
NAME
DEVICE
.nmconnection
답변1
이름이 변경된 인터페이스를 효과적으로 사전 구성하는 방법을 찾지 못했기 때문에 지금 사용하는 프로세스는 다음과 같습니다.
- 인터페이스를 구성하는 데 ks
network
명령을 사용하지 마십시오. 이로 인해 nmconnection 키 파일 형식의 기본 인터페이스 이름을 기반으로 네트워크 구성이 구성됩니다. 설치 중에 인터페이스가 필요한 경우 그렇게 할 수 있습니다. 어쨌든 나중에 삭제하겠습니다. - 시작
%post
스크립트에서:- 새 파일 시스템(설치해야 하는 위치
/mnt/sysimage
) 에서ifcfg-
이름을 바꾸려는 인터페이스에 대한 파일을 만듭니다. 필요한 장치 이름 및 연결 이름 과 함께HWADDR
인터페이스의 MAC 주소를 포함합니다.DEVICE
NAME
network-config.sh
다음을 수행하는 첫 번째 부팅 중에 실행될 스크립트를 만듭니다 .- 자동으로 생성된 모든 연결 제거
/etc/NetworkManager/system-connections
- 네트워크 구성 다시 로드(
nmcli conn reload
) - nmcli를 사용하여 새 장치 이름으로 네트워크 인터페이스 구성
- 인터페이스 비활성화 및 다시 활성화
network-config.sh
처음 부팅할 때만 실행 되도록 부팅 스크립트를 수정합니다 .
- 자동으로 생성된 모든 연결 제거
- 새 파일 시스템(설치해야 하는 위치
최종 결과는 이름이 변경된 인터페이스에 IP 구성이 저장되고 /etc/sysconfig/network-scripts/ifcfg-*
기본 이름을 가진 인터페이스가 다음 위치에 구성된다는 것입니다./etc/NetworkManager/system-connections/*.nmconnection