웹사이트 검색

RHEL/CentOS 8에서 NetworkManager를 사용하여 네트워킹을 관리하는 방법


RHELCentOS 8에서 네트워킹 서비스는 NetworkManager 데몬에 의해 관리되며 네트워크 장치를 동적으로 구성 및 제어하고 연결을 유지하는 데 사용됩니다. 사용 가능할 때 활성화됩니다.

NetworkManager는 명령줄 인터페이스와 그래픽 사용자 인터페이스 도구를 모두 사용하여 손쉬운 네트워크 설정 및 관리 지원, 네트워크 구성 쿼리 및 제어가 가능한 D-Bus를 통한 API 제공, 지원 등 다양한 이점을 제공합니다. 구성 유연성 등을 위한 것입니다.

게다가 NetworkManager는 파일과 Cockpit 웹 콘솔을 사용하여 구성할 수도 있으며 연결 상태에 따라 다른 서비스를 시작하거나 중지하는 사용자 정의 스크립트 사용을 지원합니다.

추가 읽기: 'nmcli' 도구를 사용하여 네트워크 연결을 구성하고 관리하는 방법

더 진행하기 전에 CentOS/RHEL 8의 네트워킹에 관해 참고해야 할 몇 가지 중요한 사항은 다음과 같습니다.

  • 기존 ifcfg 유형 구성(예: ifcfg-eth0, ifcfg-enp0s3) 파일은 계속 지원됩니다.
  • 네트워크 스크립트는 더 이상 사용되지 않으며 더 이상 기본적으로 제공되지 않습니다.
  • 최소 설치는 nmcli 도구를 통해 NetworkManager를 호출하는 ifupifdown 스크립트의 새 버전을 제공합니다.
  • ifupifdown 스크립트를 실행하려면 NetworkManager가 실행 중이어야 합니다.

CentOS/RHEL 8에 NetworkManager 설치

NetworkManagerCentOS/RHEL 8 기본 설치에 사전 설치되어 있어야 합니다. 그렇지 않으면 표시된 대로 DNF 패키지 관리자를 사용하여 설치할 수 있습니다.

dnf install NetworkManager

NetworkManager의 전역 구성 파일은 /etc/NetworkManager/NetworkManager.conf에 있으며 추가 구성 파일은 /etc/NetworkManager/ 에서 찾을 수 있습니다. .

CentOS/RHEL 8에서 Systemctl을 사용하여 NetworkManager 관리

CentOS/RHEL 8systemd(시스템 및 서비스 관리자)를 채택한 기타 최신 Linux 시스템에서 서비스는 systemctl 도구를 사용하여 관리됩니다.

다음은 NetworkManager 서비스 관리에 유용한 systemctl 명령입니다.

NetworkManager 상태 확인

CentOS/RHEL 8의 최소 설치에서는 기본적으로 NetworkManager가 시작되고 부팅 시 자동으로 시작되도록 활성화되어야 합니다. 다음 명령을 사용하여 NetworkManager가 활성화되어 있는지 확인하고 NetworkManager의 런타임 상태 정보를 인쇄할 수 있습니다.

systemctl is-active NetworkManager
systemctl is-enabled NetworkManager
systemctl status NetworkManager 

NetworkManager 시작

NetworkManager가 실행되고 있지 않은 경우 간단히 실행하여 시작할 수 있습니다.

systemctl start NetworkManager

NetworkManager 중지 중

어떤 이유로든 NetworkManager를 중지하거나 비활성화하려면 다음 명령을 실행하세요.

systemctl stop NetworkManager

NetworkManager 다시 시작

인터페이스 구성 파일 또는 NetworkManager 데몬의 구성(일반적으로 /etc/NetworkManager/ 디렉토리에 위치)을 변경한 경우 NetworkManager를 다시 시작(중지한 후 시작)하여 변경 사항을 다음과 같이 적용할 수 있습니다. 표시됩니다.

systemctl restart NetworkManager

NetworkManager 다시 로드 중

서비스를 다시 시작하지 않고 NetworkManager 데몬의 구성(systemd의 장치 구성 파일은 제외)을 다시 로드하려면 다음 명령을 실행하세요.

systemctl reload NetworkManager

NetworkManager 도구 사용 및 ifcfg 파일 작업

NetworkManager는 사용자가 상호작용할 수 있는 다음과 같은 몇 가지 도구를 지원합니다.

  1. nmcli – 네트워킹을 구성하는 데 사용되는 명령줄 도구입니다.
  2. nmtui – newtwork 인터페이스 연결을 구성하고 관리하는 데에도 사용되는 간단한 저주 기반 텍스트 사용자 인터페이스입니다.
  3. 다른 도구로는 nm-connection-editor, control-center네트워크 연결 아이콘(모두 GUI에 있음)이 있습니다.

NetworkManager에서 감지한 장치를 나열하려면 nmcli 명령을 실행하세요.

 
nmcli device 
OR
nmcli device status

모든 활성 연결을 보려면 다음 명령을 실행합니다(-a가 없으면 사용 가능한 연결 프로필이 나열됩니다).

nmcli connection show -a

CentOS/RHEL 8에서 고정 IP 주소 설정

네트워크 인터페이스별 구성 파일은 /etc/sysconfig/network-scripts/ 디렉토리에 있습니다. 예를 들어 CentOS/RHEL 8 서버에 대한 고정 IP 주소를 설정하기 위해 이러한 파일을 편집할 수 있습니다.

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

다음은 고정 IP 주소 설정을 위한 샘플 구성입니다.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=e81c46b7-441a-4a63-b695-75d8fe633511
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.0.110
PREFIX=24
GATEWAY=192.168.0.1
DNS1=8.8.8.8
PEERDNS=no

변경 사항을 저장한 후 새로운 변경 사항을 적용하려면 모든 연결 프로필을 다시 로드하거나 NetworkManager를 다시 시작해야 합니다.

nmcli connection reload
OR
systemctl restart NetworkManager

네트워크 연결을 기반으로 네트워크 서비스/스크립트 시작 또는 중지

NetworkManager에는 사용자가 네트워크 연결을 기반으로 서비스(예: NFS, SMB 등) 또는 간단한 스크립트를 실행할 수 있는 유용한 옵션이 있습니다.

예를 들어, sshfs를 사용하여 원격 디렉터리를 로컬로 자동 마운트하려는 경우 SMB 공유를 마운트하거나 네트워크 간 전환 후 NFS 공유를 마운트합니다. NetworkManager가 실행될 때까지(모든 연결이 활성화됨) 이러한 네트워크 서비스가 실행되기를 원할 수도 있습니다.

이 기능은 NetworkManager-dispatcher 서비스(시스템 부팅 시 자동으로 시작되고 활성화되어야 함)에 의해 제공됩니다. 서비스가 실행되면 /etc/NetworkManager/dispatcher.d 디렉토리에 스크립트를 추가할 수 있습니다.

모든 스크립트는 실행 가능하고 쓰기 가능해야 하며 루트가 소유해야 합니다. 예:

chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh
chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh

중요: 디스패처 스크립트는 연결 시 알파벳 순서로 실행되고 연결 해제 시 알파벳 역순으로 실행됩니다.

레거시 네트워크 스크립트 사용

앞서 언급했듯이 네트워크 스크립트는 CentOS/RHEL 8에서 더 이상 사용되지 않으며 기본적으로 설치되지 않습니다. 여전히 nnetwork 스크립트를 사용하려면 network-scripts 패키지를 설치해야 합니다.

yum install network-scripts

이 패키지가 설치되면 nmcli 도구를 통해 NetworkManager를 호출하는 ifupifdown 스크립트의 새 버전을 제공합니다. 우리는 위에서 살펴보았습니다. 이러한 스크립트를 실행하려면 NetworkManager가 실행 중이어야 합니다.

자세한 내용은 systemctlNetworkManager 매뉴얼 페이지를 참조하세요.

man systemctl
man NetworkManager

이것이 우리가 이 글에서 준비한 전부입니다. 아래 피드백 양식을 통해 요점에 대한 설명을 찾거나, 질문을 하거나, 이 가이드에 추가할 사항을 추가할 수 있습니다.