CentOS nmcli 명령어로 정적 ip (Static IP) 설정하기
RHEL/CentOS 7 이상부터는 nmcli 명령어 사용을 권장하고 있습니다.
TL;DR
다음 명령어로 네트워크 디바이스 이름을 알아냅니다.
$ nmcli dev
DEVICE TYPE STATE CONNECTION
enp5s0f0 ethernet connected enp5s0f0
enp5s0f1 ethernet connected enp5s0f1
BASH
알아낸 디바이스 명(예: enp5s0f0) 에 다음과 같이 네트워크 정보를 설정합니다.
$ nmcli con mod enp5s0f0 ipv4.address 192.168.129.150/24 \
ipv4.gateway 192.168.129.2 \
ipv4.dns 192.168.129.2 \
ipv4.method manual connection.autoconnect yes
BASH
네트워크를 활성화합니다.
$ nmcli con up enp5s0f0
BASH
인터페이스 확인
리눅스 시스템에 부착된 모든 인터페이스를 확인하기 위해 con(nection) show 명령어를 사용합니다.
$ sudo nmcli con show
NAME UUID TYPE DEVICE
ens33 e31b4238-76fe-4199-a540-451d2f576934 ethernet ens33
virbr0 66469b6b-2c12-4d9d-b758-ce343d6fadc3 bridge virbr0
BASH
위의 예에서 NAME 항목에 보이는 ens33 이 connection name 이며 ethernet device 입니다. 더 자세한 정보를 얻기 위해 con show 뒤에 connection name 인 ens33 을 지정합니다.
$ sudo nmcli con show ens33
BASH
Click here to expand...
$ sudo nmcli con show ens33
connection.id: ens33
connection.uuid: e31b4238-76fe-4199-a540-451d2f576934
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: ens33
connection.autoconnect: yes
...
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/1
GENERAL.ZONE: --
GENERAL.MASTER-PATH: --
IP4.ADDRESS[1]: 192.168.129.132/24
BASH
너무 많은 정보가 나오니까 현재 IP 설정을 알기 위해 grep 으로 필터링합니다.
$ sudo nmcli con show ens33 | grep -i ip[46]
IP4.ADDRESS[1]: 192.168.129.132/24
IP4.GATEWAY: 192.168.129.2
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.129.2, mt = 100
IP4.ROUTE[2]: dst = 192.168.129.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 192.168.129.2
IP4.DOMAIN[1]: localdomain
CODE
정적 IP 설정
IP 를 설정하려면 con mod 명령어 뒤에 connection NAME (위에서는 "ens33") 을 적어주고 IP 와 Net Mask, gateway 를 명시합니다.
다음은 IP V4 를 192.168.129.150, Gate Way 를 192.168.129.2 로 설정하는 예입니다.
$ nmcli con mod ens33 ipv4.address 192.168.129.150/24 ipv4.gateway 192.168.129.2 ipv4.dns 192.168.129.2 ipv4.method manual
BASH
또는 아래처럼 나눠서 실행해도 됩니다.
$ nmcli con mod ens33 ipv4.address 192.168.129.150/24
BASH
$ nmcli con mod ens33 ipv4.dns 192.168.129.2
BASH
$ nmcli con mod ens33 ipv4.gateway 192.168.129.2
BASH
$ nmcli con mod ens33 ipv4.method manual
BASH
IPV6 를 사용할 경우 아래처럼 IPV6 주소를 지정해 주면 됩니다.
$ nmcli con mod ens33 ipv6.address 2001:db8:0:1::a00:1/64 ipv6.gateway 2001:db8:0:1::1
BASH
설정을 반영하려면 up 명령을 사용합니다.
$ nmcli con up ens33
BASH
DHCP 사용
DHCP 를 사용한다면 method 를 auto 로 설정합니다.
$ nmcli device modify "ens33" ipv4.method auto
BASH
$ nmcli device modify "ens33" ipv6.method auto
BASH