Rocky Linux / IP 설정하는 방법

Rocky Linux 서버를 설치한 후 가장 먼저 설정하는 항목 중 하나가 네트워크입니다. 특히 웹 서버, 데이터베이스 서버, 파일 서버처럼 다른 장치에서 지속적으로 접근해야 하는 서버라면 DHCP를 통해 자동으로 IP 주소를 할당받는 것보다 고정 IP(Static IP)​를 설정하는 것이 일반적입니다.

Rocky Linux에서는 NetworkManager를 이용하여 네트워크를 관리하며, 명령어 환경에서는 nmcli, 텍스트 인터페이스에서는 nmtui 등을 사용할 수 있습니다. NetworkManager는 네트워크 인터페이스마다 연결 프로필(Connection Profile)을 생성하고 관리하는 방식으로 동작합니다.

현재 IP 주소 확인하기

 

현재 Rocky Linux 서버에 설정된 IP 주소를 확인하려면 다음 명령어를 사용합니다.

# ip addr

간단하게 다음과 같이 입력해도 됩니다.

# ip a

예를 들어 다음과 비슷한 결과가 나타날 수 있습니다.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:00:c8:1d brd ff:ff:ff:ff:ff:ff
    altname enx00155d00c81d
    inet 192.168.3.211/22 brd 192.168.3.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe00:c81d/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

여기에서

192.168.3.211/22

가 현재 설정된 IPv4 주소입니다.

/22는 CIDR 방식으로 표현된 서브넷 마스크이며 일반적인 IPv4 서브넷 마스크인 다음 값에 해당합니다.

255.255.252.0

NetworkManager를 이용하여 보다 자세한 정보를 확인하려면 다음 명령어를 사용할 수도 있습니다.

# nmcli device show
# nmcli device show
GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:15:5D:00:C8:1D
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     eth0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.3.211/22
IP4.GATEWAY:                            192.168.0.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.0.1, mt = 100
IP4.ROUTE[2]:                           dst = 192.168.0.0/22, nh = 0.0.0.0, mt = 100
IP4.DNS[1]:                             8.8.8.8
IP6.ADDRESS[1]:                         fe80::215:5dff:fe00:c81d/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          100 (connected (externally))
GENERAL.CONNECTION:                     lo
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            --

네트워크 인터페이스 확인하기

IP를 변경하기 전에 먼저 서버에서 사용 중인 네트워크 인터페이스와 NetworkManager 연결 프로필을 확인하는 것이 좋습니다.

다음 명령어를 실행합니다.

# nmcli device status

예를 들어 다음처럼 나타날 수 있습니다.

# nmcli device status
DEVICE  TYPE      STATE                   CONNECTION
eth0    ethernet  connected               eth0
lo      loopback  connected (externally)  lo

위의 예에서는 실제 네트워크 인터페이스 이름이 eth0입니다.

다음 명령어를 실행하면 NetworkManager에 등록된 연결 프로필을 확인할 수 있습니다.

# nmcli connection show

또는 줄여서 다음처럼 입력할 수 있습니다.

# nmcli con show

예를 들어 다음과 같이 출력될 수 있습니다.

NAME  UUID                                  TYPE      DEVICE
eth0  400fca0a-53cb-3b1e-a0ea-1fb653aa1545  ethernet  eth0
lo    b1b8c674-a24c-4413-bd78-fa7229ee1fd2  loopback  lo

IP 주소를 변경할 때는 DEVICE 이름과 NAME, 즉 네트워크 장치 이름과 NetworkManager 연결 프로필 이름을 혼동하지 않는 것이 중요합니다. 둘이 같은 경우가 많지만 반드시 같은 것은 아닙니다.

고정 IP 설정하기

다음과 같은 환경을 예로 들어 Rocky Linux에 고정 IP를 설정해보겠습니다.

  • Connection : eth0
  • IP Address : 192.168.3.212
  • Subnet : /22
  • Gateway : 192.168.0.1
  • DNS : 8.8.8.8, 8.8.4.4

먼저 IPv4 주소를 설정합니다.

# nmcli connection modify eth0 ipv4.addresses 192.168.3.212/22

다음으로 기본 게이트웨이를 설정합니다.

# nmcli connection modify eth0 ipv4.gateway 192.168.0.1

DNS 서버를 설정합니다.

# nmcli connection modify eth0 ipv4.dns "8.8.8.8 8.8.4.4"

마지막으로 IPv4 할당 방식을 수동으로 변경합니다.

# nmcli connection modify eth0 ipv4.method manual

즉, 한 번에 보면 다음과 같습니다.

# nmcli connection modify eth0 ipv4.addresses 192.168.3.212/22
# nmcli connection modify eth0 ipv4.gateway 192.168.0.1
# nmcli connection modify eth0 ipv4.dns "8.8.8.8 8.8.4.4"
# nmcli connection modify eth0 ipv4.method manual

네트워크 설정 적용하기

NetworkManager에서 고정 IPv4 주소를 사용하는 경우 연결 프로필의 IPv4 방식을 manual로 지정하는 것이 핵심입니다.

nmcli connection modify 명령으로 값을 변경했다고 해서 현재 연결에 모든 설정이 즉시 반영되는 것은 아닐 수 있습니다.

변경한 연결 프로필을 다시 활성화합니다.

# nmcli connection up eth0

필요하다면 다음과 같이 연결을 내렸다가 다시 올릴 수도 있습니다.

# nmcli connection down eth0
# nmcli connection up eth0

단, SSH로 원격 접속 중인 서버에서 IP 주소를 변경하는 경우 주의해야 합니다.

현재 SSH 연결에 사용하고 있는 네트워크 인터페이스의 IP를 변경하면 기존 SSH 세션이 끊어질 수 있습니다. 특히 원격 데이터센터나 클라우드 서버라면 잘못된 IP, 게이트웨이 또는 서브넷을 입력했을 때 서버에 다시 접속하지 못할 수도 있습니다.

TUI 이용하기

명령어를 하나씩 입력하는 것이 어렵다면 Rocky Linux의 텍스트 기반 네트워크 설정 도구인 nmtui를 사용할 수도 있습니다.

nmtui는 NetworkManager 기반의 텍스트 사용자 인터페이스이며 Rocky Linux 8 이상에서 네트워크 설정에 사용할 수 있습니다.

# nmtui