NetworkManager는 네트워크 설정을 모니터링 및 관리하는 데몬이다.
/etc/sysconfig/network-script
디렉터리 하위의 인터페이스 설정 파일을 참조하여 네트워크를 구성한다.
nmcli/nmtui 명령어는 NetworkManager를 CLI(콘솔)/GUI로 제어하고, 현재 네트워크 디바이스(인터페이스)
및 커넥션의 상태를 알려주는 명령어이다.
nmcli 네트워크 설정
- nmcli con : 이름, 장치명, UUID등 정보 출력
- nmcli con up [장치명] : 장치 활성화
- nmcli con down [장치명] : 장치 비활성화
- nmcli con add [장치명] : 네트워크 연결 추가
- nmcli con mod : 설정 값 수정
nmcli con con 명령어로 수정하는 내용은 해당 디렉터리 내 ifcfg-(interfacename) 파일에 반영된다.
(단일 장치에 복수의 IP 주소를 지정할 수 있다. 연결이 확인되면 DNS 서버 같은 추가 설정이 수정 사항으로 설정된다.)
nmcli 명령은 nmcli [OPTIONS] *object {COMMAND}
의 문법을 사용하며
general, networking, radio 등의 object가 있고 축약해서 맨 앞 단어만 사용가능하다.
- object는 nmcli로 실행할 action을 의미
# 즉, 아래 두 가지 명령어는 동일하다.
$ nmcli general status
$ nmcli g status
nmcli 네트워크 정보 파악
모든 연결 목록을 표시하려면 nmcli con show
를 사용한다.
활성화된 내역만 표시하기 위해서는 --active 옵션을 추가하면 된다.
[root@localhost ~]# **nmcli con show**
NAME UUID TYPE DEVICE
ens192 70da6ac3-e0bc-3c48-881e-f9b8a9b91d73 ethernet ens192
명령어를 입력하면 인터페이스가 나타나게 되는데, 해당 인터페이스의 연결 상세 정보를 보러면
연결 ID(name)을 지정한다.
💡 이전 버전에서는 eth0으로 표기되었다.
이것은 네트워크 이름 규칙과 인덱스표기에 따른 표시차이이다.
**#** **nmcli con : 네트워크 설정**
[root@localhost ~]# **nmcli con show ens192**
onnection.id: ens192
connection.uuid: 70da6ac3-e0bc-3c48-881e-f9b8a9b91d73
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: ens192
connection.autoconnect: yes
connection.autoconnect-priority: -999
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
.
.
...
--------------------------------------------
**# nmcli dev : 디바이스 설정**
[root@localhost ~]# **nmcli dev status**
DEVICE TYPE STATE CONNECTION
ens192 ethernet connected ens192
lo loopback unmanaged --
[root@localhost ~]# **nmcli dev show ens192**
GENERAL.DEVICE: ens192
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:C8:FE:5E
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens192
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 172.16.0.148/24
IP4.ADDRESS[2]: 172.16.0.178/24
IP4.GATEWAY: 172.16.0.1
IP4.ROUTE[1]: dst = 172.16.0.0/24, nh = 0.0.0.0, mt = 100.
.
.
...
nmcli ip 설정(connection add/modify)
nmcli con add 명령어로 새로운 connection을 생성할 수 있다.
$ nmcli con add con-name "cw-test" ifname eth0 type ethernet ipv4.method manual
ipv4.address 172.16.0.199/24 ipv4.gateway 172.16.0.254
nmcli con mod 명령어로 이미 존재하는 connetion을 수정할 수 있다.
con mod 명령어 뒤 show에서 표시되는 connection NAME을 지정하고 IP, netmast, gateway를 명시한다.
# IPv4
$ nmcli con mod "System eth0" ipv4.address 172.16.0.155/24 ipv4.gateway 172.16.0.254
ipv4.dns "8.8.8.8 168.126.63.1"
# IPv6
$ nmcli con mod "System eth0" ipv6.address 2001:db8:0:1::a00:1/64 ipv6.gateway 2001:db8:0:1::1
이후 등록한 connetcion 활성화를 진행한다.
$ nmcli con up "cw-test"
$ nmcli con up "System eth0"
그 외 기능
# DHCP 활성화
$ nmcli device modify "System eth0" ipv4.method auto
$ nmcli device modify "System eth0" ipv6.method auto
# 부팅시 자동 활성화
$ nmcli con mod "System eth0" connection.autoconnect yes
# 설정 상태 확인 및 반영
$ nmcli device show "System eth0"
$ systemctl restart NetworkManager.service
# OBJECT 별 상세 옵션 확인
$ nmcli general --help
nmtui 네트워크 설정
NetworkManager 서비스가 활성화 상태여야 nmtui를 사용할 수 있다.
systemctl status NetworkManager
nmtui를 호출한 뒤 선택할 수 있는 각 옵션이다.
- Edit a connection (연결 편집)
- Activate a connection (연결 활성화)
- Set system hostname (시스템 호스트네임 설정)
연결 편집
구성하려는 인터페이스를 선택한다. (본인의 경우 ens192)
다음 화면에서 IP 주소, 서브넷 마스크, 기본 게이트웨이 및 DNS 서버를 정의할 수 있다.
연결 활성화
인터페이스명을 선택 후 활성/비활성 작업을 진행할 수 있다.
시스템 호스트네임 설정
hostnamectl
및 /etc/hostname
파일 수정 등의 작업 없이 nmtui 도구로 간단히 작업이 가능하다.
'DevOps > Linux_리눅스' 카테고리의 다른 글
[Linux] OTP 추가 인증 (0) | 2023.03.13 |
---|---|
[Linux] 사용자 계정 생성 (useradd, usermod) (0) | 2023.03.09 |
[Linux] repo 설정 (yum repository) (0) | 2023.01.10 |
[Linux] 네트워크 설정 검사 (0) | 2023.01.06 |
[Linux] Root 비밀번호 초기화 (1) | 2023.01.02 |