728x90
728x90
네트워크 관리자(Network Manager)란?
- 네트워크와 관련된 모든 설정을 관리하고 모니터링 하는 서비스
- 서비스 이름은 NetworkManager이며, systemd 유닛의 일부이기 때문에 systemctl로 제어함
- 네트워크 별칭, IP 주소, 정적 라우팅, DNS 정보, VPN 연결과 다시 연결 매개 변수를 구성할 수 있음
- D-Bus APIP를 제공해 어플리케이션 간의 네트워크 통신을 원활하게 해주는 데 도움을 줌
- /etc/sysconfig/network-scripts 디렉토리에 설정파일을 저장함
- 리눅스 네트워크 관리자가 제공하는 커맨드 라인 도구로는 nmcli가 있음
네트워크 관리자 설치하기
[root@master ~]# yum -y install NetworkManager
[root@master ~]# systemctl status NetworkManager
네트워크 관리자(NetworkManager) 도구 활용하기
nmcli(Network Manager Command Line Interface)는 리눅스 네트워크 관리자가 제공하는 커멘드 라인 도구이다.
1. 네트워크 연결(Connection) 목록 확인
# 명령어 형식
nmcli connection show [option] [connection-name]
목록 | 설명 |
NAME | ifcfg 파일의 NAME 속성 값과 같으며, 연결의 이름을 나타낸다. |
UUID | ifcfg 파일의 UUID 속성 값과 같으며, 연결의 고유 ID 값을 나타낸다. |
TYPE | ifcfg 파일의 TYPE 속성 값과 같으며, 연결의 통신 방식을 말한다. |
DEVICE | ifcfg 파일의 DEVICE 속상 값과 같으며, 연결과 mapping된 인터페이스의 이름이다. |
2. 연결 생성하기
- 연결을 생성하기 위해서는 nmcli 명령의 connection add 서브커맨드를 사용한다.
- 이 명령을 통해 연결을 구성하면 /etc/sysconfig/network-scripts에 ifcfg 파일이 생성된다. (연결 생성 시 입력한 con-name인자 값이 ‘ifcfg-’뒤에 추가되어 파일이 생성된다.)
# 명령어 형식
nmcli connection add [subcommand1] [argument1] [subcommand2] [argument2] ...
연결 생성 예시 1
[root@master ~]# nmcli connection add \
> type ethernet \
> con-name dynamic \
> ifname ens33 \
> autoconnect yes
- type ethernet: 연결의 유형을 지정한다. 기본 네트워크 통신 유형은 ethernet이다.
- con-name dynamic: 연결의 이름을 지정한다. /etc/sysconfig/network-scripts 디렉토리에 ifcfg-dynamic 파일이 생성된다.
- ifname ens33: 연결과 매핑되는 인터페이스를 지정한다.
- autoconnect yes: 부팅 시 연결이 인터페이스와 자동으로 매핑될 지를 결정한다. 기본 설정 값은 yes이고, 값이 no로 세팅될 경우 부팅 시 이 연결과 인터페이스의 연결은 끊어진다.
연결 생성 예시 2
[root@master ~]# nmcli conn add \
> type ethernet \
> con-name static \
> ifname ens33 \
> ip4 172.16.91.120/24 \
> gw4 172.16.91.2
- ipv4 172.16.91.120/24: 설정할 IP 주소와 넷마스크의 접두사(prefix)
- gw4 172.16.91.2: 게이트웨이의 주소
3. 연결 설정 삭제하기
# 명령어 형식
nmcli connection delete connection-name
# 예시: dynamic 이름의 연결을 삭제하기
[root@master ~]# nmcli conncetion delete dynamic
4. 연결 설정 수정하기
# 명령어 형식
nmcli connection modify connection-name subcommand argument
연결 설정 수정 예시
- 위에서 생성한 static 연결에는 DNS 주소가 설정되어 있지 않다.
- 따라서 nmcli conneciton modify 명령을 수행하여 연결에 DNS를 추가한다.
[root@master ~]# nmcli conn modify static ipv4.dns 8.8.8.8
[root@master ~]# nmcli conn reload
[root@master ~]# nmcli conn up static
- modify로 수정을 한 후 connection reload 서브커맨드로 네트워크 관리자 설정을 다시 읽으면 ifcfg-static 파일에도 반영이 된다.
- connection up 서브커맨드는 바로 아래에서 설명할 활성화 커맨드이다.
5. 설정 활성화 및 비활성화 하기
- 연결을 활성화하거나 비활성화 하기 위해서는 nmcli 명령의 connection up 및 connection down 서브커맨드를 사용한다.
- 명령어 마지막 부분에 연결 이름을 인자로 입력하여 원하는 연결을 활성화하거나 비활성화 할 수 있다. (주의: 하나의 인터페이스 당 하나의 연결만 활성화 할 수 있다.)
# 명령어 형식
nmcli connection { up | down } connection-name
6. 동적 연결을 정적 연결로 변경하기
- 동적 연결을 정적으로 연결하기 위해서는 IP 주소, 넷마스크, 게이트웨이, DNS 주소 이 4가지 정보는 반드시 지정해야 한다.
- 이때 4번에서 사용한 modify 서브커맨드를 이용해 지정해준다.
사용 예시
1. 아래처럼 현재 ens33 연결은 동적으로 IP 주소를 할당받는 방식이다. 따라서 DNS 주소와, IP 주소, 넷마스크, 게이트웨이 정보가 존재하지 않는다.
[root@master ~]# nmcli conn show ens33
...
ipv4.method: auto
ipv4.dns:
ipv4.dns-search:
ipv4.dns-options: (default)
ipv4.dns-priority: 0
ipv4.addresses:
ipv4.gateway: --
...
2. nmcli connection modify 명령을 사용해 하나씩 수정한다.
[root@master ~]# nmcli connection modify ens33 ipv4.addresses 172.16.91.110/24
[root@master ~]# nmcli connection modify ens33 ipv4.gateway 172.16.91.2
[root@master ~]# nmcli connection modify ens33 ipv4.dns 8.8.8.8
[root@master ~]# nmcli connection modify ens33 ipv4.method manual
[root@master ~]# nmcli connection reload
[root@master ~]# nmcli connection up ens33
- 여기서 ipv4.method를 manual로 지정할 때는 반드시 ipv4.addresses 값이 설정되어야 한다.
반응형