NetworkManager가 미리 정의된 시스템 연결 파일을 찾을 수 없습니다.

NetworkManager가 미리 정의된 시스템 연결 파일을 찾을 수 없습니다.

저는 pi-gen을 사용하여 Rasberry Pi용 사용자 정의 운영 체제를 만들고 있습니다.

기본 네트워크 인터페이스(eth0 및 wlan0)에 대한 연결/재연결을 관리하기 위해 NetworkManager를 설치하기로 결정했습니다.

다음과 같이 /etc/NetworkManager/system-connections에 2개의 구성 파일을 만들었습니다.

/etc/NetworkManager/system-connections/wifi:

[connection]
id=wifi
uuid=319f2d8e-3ce7-4e47-b6eb-fabb0aa69f68
type=wifi

[wifi]
mode=infrastructure
ssid=Facco

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=facco2016

[ipv6]
method=disabled

[ipv4]
method=auto

/etc/NetworkManager/system-connections/ethernet:

[connection]
id=ethernet
uuid=60d17e82-1be7-3d0f-b924-e980be41fcba
type=ethernet

[ipv6]
method=disabled

[ipv4]
method=auto

두 파일 모두 완벽하게 실행됩니다.

그런 다음 2개의 구성 파일을 OS 저장소에 추가하고 OS 이미지를 생성했습니다.

이제 OS를 부팅하면 Network Manager가 제대로 표시되지만 nmtui/nmtui-edit에서는 /etc/NetworkManager/system-connections에 복사하여 붙여넣은 2개의 파일이 전혀 표시되지 않습니다.

nmtui가 시스템 연결 폴더를 조사하여 거기에 붙여넣은 파일을 찾아야 하지 않나요?

내가 놓친 것이 있나요?

답변1

NetworkManager 클라이언트(예: nmtui)는 이러한 파일을 직접 볼 수 없습니다. 일반적으로 루트로 실행되지 않으며 읽기/수정 권한이 없습니다. 대신 NetworkManager의 D-Bus API를 사용합니다.

편집기에서 연결 프로필을 생성하거나 사전 배포할 수 있습니다. 즉, D-Bus API를 사용하는 대신 파일을 직접 구성하는 것은 매우 잘 지원되며 수행하려는 작업은 괜찮습니다.

키 파일 파일(그 안에 포함된 연결 프로필 /etc/NetworkManager/system-connections)은 루트가 소유하고 권한이 있어야 합니다 0600. 및를 사용하여 파일 소유자 및 권한을 확인 ls -l하고 수정하세요.chownchmod

NetworkManager가 이러한 파일에 액세스할 수 없을 가능성은 적습니다. 예를 들어. 우리는 SELinux 태그를 사용합니다.

그럼에도 불구하고 NetworkManager의 로그 파일을 보면 해당 파일이 로드되지 않는 이유를 알 수 있습니다. 시스템 로그/로그를 확인하세요.

예를 들어 CentOS 7에서는 다음 로그 파일을 볼 수 있습니다.

tail -f /var/log/messages

다음과 같은 메시지를 가로채려면:

... keyfile: error loading connection from file /etc/NetworkManager/system-connections/example.conf: File permissions (100644) are insecure

답변2

귀하에게 직접 답변을 제공하는 것이 아니라 인터넷에서 검색하는 나머지 사람들을 위한 것입니다 network manager manually configured system-connections file.

/etc/NetworkManager/system-connections/eno2.nmconnection올바른 스키마 0600및 소유자 정의를 사용한 후에 root:root는 NetworkManager를 다시 시작하여 업데이트된 변경 사항을 적용해야 합니다. 활성화할 수도 있습니다.

sudo systemctl restart NetworkManager.service
sudo nmcli up eno2

관련 정보