OS 환경 : Oracle Linux 10.3 (64bit)
방법 : Oracle Linux 10 nmcli 명령으로 IP 확인 및 변경 방법
본문에서는 리눅스 10 환경에서 nmcli 명령을 이용하여 현재 IP 정보를 확인하고 IP, Gateway, DNS 등을 변경하는 방법을 설명함
리눅스 10에서 NetworkManager를 사용하는 경우 nmcli 명령으로 네트워크 설정을 확인하거나 변경할 수 있음
테스트
현재 네트워크 인터페이스 상태 확인
|
1
2
3
4
|
# nmcli device
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
lo loopback connected (externally) lo
|
현재 활성화된 Connection 정보 확인
|
1
2
3
4
|
# nmcli connection show
NAME UUID TYPE DEVICE
ens160 bf692b3a-e8df-32e9-aee2-0f53bcd8564f ethernet ens160
lo 85741310-09a6-4293-9a35-5c8433126d5e loopback lo
|
IP 변경 시 DEVICE 이름이 아닌 Connection NAME을 사용하기때문에 먼저 nmcli connection show 명령으로 이름을 확인하는 것이 좋음
현재 IP 정보 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:a8:10:28 brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname enx005056a81028
inet 192.168.137.163/24 brd 192.168.137.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.137.163 netmask 255.255.255.0 broadcast 192.168.137.255
ether 00:50:56:a8:10:28 txqueuelen 1000 (Ethernet)
RX packets 2279 bytes 148604 (145.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2379 bytes 281031 (274.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 89 bytes 8159 (7.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 89 bytes 8159 (7.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
|
현재 ip는 192.168.137.163임
참고로 특정 인터페이스만 확인하려면 아래와 같이 수행하면됨
|
1
2
3
4
5
6
7
|
# ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:a8:10:28 brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname enx005056a81028
inet 192.168.137.163/24 brd 192.168.137.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
|
nmcli 명령으로 상세 정보 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# nmcli device show ens160
GENERAL.DEVICE: ens160
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:50:56:A8:10:28
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens160
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.137.163/24
IP4.GATEWAY: 192.168.137.1
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.137.1, mt = 100
IP4.ROUTE[2]: dst = 192.168.137.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 168.126.63.1
IP6.GATEWAY: --
|
IP, Gateway, DNS 정보만 확인하려면 아래와 같이 수행
|
1
2
3
4
|
# nmcli -g IP4.ADDRESS,IP4.GATEWAY,IP4.DNS device show ens160
192.168.137.163/24
192.168.137.1
168.126.63.1
|
아래 정보로 IP 변경
IP : 192.168.137.164
Subnet : /24
Gateway : 192.168.137.1(현재와 동일)
DNS : 8.8.8.8
Connection Name : ens160
IP 설정
|
1
2
3
4
5
|
#
nmcli connection modify ens160 ipv4.method manual
nmcli connection modify ens160 ipv4.addresses 192.168.137.164/24
nmcli connection modify ens160 ipv4.gateway 192.168.137.1
nmcli connection modify ens160 ipv4.dns 8.8.8.8
|
한 번에 설정하려면 아래와 같이 수행 가능함
|
1
|
# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.137.164/24 ipv4.gateway 192.168.137.1 ipv4.dns 8.8.8.8
|
설정 적용
|
1
2
|
# nmcli connection up ens160
(연결 끊김)
|
새 ip로 접속 후 확인
|
1
2
3
4
5
6
7
|
# ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:a8:10:28 brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname enx005056a81028
inet 192.168.137.164/24 brd 192.168.137.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
|
정상적으로 변경됨
게이트웨이 확인
|
1
2
3
|
# ip route
default via 192.168.137.1 dev ens160 proto static metric 100
192.168.137.0/24 dev ens160 proto kernel scope link src 192.168.137.164 metric 100
|
nmcli 설정값 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# nmcli connection show ens160 | grep ipv4
ipv4.method: manual
ipv4.dns: 8.8.8.8
ipv4.dns-search: --
ipv4.dns-options: --
ipv4.dns-priority: 0
ipv4.addresses: 192.168.137.164/24
ipv4.gateway: 192.168.137.1
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: --
ipv4.replace-local-rule: -1 (default)
ipv4.dhcp-send-release: -1 (default)
ipv4.routed-dns: -1 (default)
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-iaid: --
ipv4.dhcp-dscp: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname-deprecated: yes
ipv4.dhcp-send-hostname: -1 (default)
ipv4.forwarding: -1 (default)
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.dhcp-hostname-flags: 0x0 (none)
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.required-timeout: -1 (default)
ipv4.dad-timeout: -1 (default)
ipv4.dhcp-vendor-class-identifier: --
ipv4.dhcp-ipv6-only-preferred: -1 (default)
ipv4.link-local: 0 (default)
ipv4.dhcp-reject-servers: --
ipv4.auto-route-ext-gw: -1 (default)
ipv4.shared-dhcp-range: --
ipv4.shared-dhcp-lease-time: 0 (default)
|
DNS 여러 개 설정
아래와 같이 공백으로 구분하여 여러 DNS를 설정할 수 있음
|
1
|
# nmcli connection modify ens160 ipv4.dns "168.126.63.1 8.8.8.8"
|
적용
|
1
|
# nmcli connection up ens160
|
DNS 확인
|
1
2
3
|
# nmcli device show ens160 | grep DNS
IP4.DNS[1]: 168.126.63.1
IP4.DNS[2]: 8.8.8.8
|
DHCP로 변경
|
1
|
# nmcli connection modify ens160 ipv4.method auto
|
기존에 입력한 고정 IP, Gateway, DNS 정보도 제거
|
1
2
3
4
|
#
nmcli connection modify ens160 ipv4.addresses ""
nmcli connection modify ens160 ipv4.gateway ""
nmcli connection modify ens160 ipv4.dns ""
|
적용
|
1
|
# nmcli connection up ens160
|
결론 :
이전버전에서는 /etc/sysconfig/network-script/ifcfg~ 에서 네트워크 파일을 수정하고 systemctl로 재시작하여 적용을 했었지만
리눅스 10에서는 nmcli 명령으로 네트워크를 조작하는게 편함
참조 :
https://docs.oracle.com/en/operating-systems/oracle-linux/10/network/OL10-NETWORK.pdf
https://docs.oracle.com/en-us/iaas/oracle-linux/network/network-network-configuration-overview.htm
https://docs.oracle.com/en/operating-systems/oracle-linux/10/network/network-CreateKeyfileConnectionProfile-nm-connection-editor.html
'Linux, Unix > Tip' 카테고리의 다른 글
| AIX nmon 명령어를 이용한 시스템 자원 모니터링 (0) | 2026.07.26 |
|---|---|
| Oracle Linux 8 grep 또는 find 명령 특정 단어 들어간 파일 찾기 (0) | 2026.06.11 |
| Oracle Linux 9 온라인 디스크 증설 방법 (0) | 2026.05.23 |
| Oracle Linux 9 oracle asmlib v3 구성 가이드 (0) | 2026.01.09 |
| 리눅스 쉘로 크리스마스 트리 만들기 (0) | 2025.12.24 |
