CentOS 7 고정 IP (Static IP)설정
반응형

Linux 를 사용하는 경우 대부분 서버용으로 사용하기에 DHCP를 통해 동적으로 받은 IP 보다는 Static IP로 설정하는 경우가 많다.

이번에 오래된 Linux 가 필요하여 CentOS 7을 설치했고 고정 IP가 필요하여 정리한다.

먼저 설치 전에 네트워크 구성을 Enable 하여 DHCP 로 IP를 받아 올 수 있도록 설치한다.

만약 Ifconfig 명령어가 수행되지 않는다면 net-tools 패키지를 설치한다. 

패키지 설치 방법은 https://enowy.tistory.com/51 에서 확인할 수 있다. 

 

 

사전 확인

IP v4 기준으로 설정에 필요한 정보는

  • 정상적인 네트워크 설정 - ping yahoo.com 과 같은 명령어로 확인
  • 설정할 IP 주소 - ifconfig 명령어로 확인
  • 연결된 NIC 정보 - route 명령어로 확인
  • Gateway 정보- route 명령어로 확인
  • Name server 주소 - 아래의 원하는 주소를 입력
    • 구글 DNS : 8.8.8.8
    • KT DNS : 168.126.63.1

설정할 IP 주소 선택

설정할 IP 주소를 위해 현재 설정된 주소를 확인한다. 이 IP를 바탕으로 C클래스를 확인한다.

# ifconfig 명령어를 이용해 IP 정보를 출력한다. 
# grep 명령어로 inet 키워드를 수집하면 IP 정보를 확인할 수 있다. 
$ ifconfig | grep inet
        inet 10.211.55.63 netmask 255.255.255.0 broadcast 10.211.55.255
        inet6 fdb2:2c26:f4e4:0:6612:8be5:a066:8b34 prefixlen 64 scopeid 0x0<global>
        inet6 fe80::f978:600d:ela7:867 prefixlen 64 scopeid 0x20<global>
        inet 127.0.0.1 netmask 255.0.0.0
        inet6 ::1 prefixlen 128  scopeid 0x10<global>

현재 DHCP로 받은 IP는 10.211.55.63 이고 netmask는 255.255.255.0 이다.

C클래스 정보인 10.211.55 를 활용하여 10.211.55.2 부터 10.211.55.254 까지 중 원하는 IP를 설정한다.

여기서는 10.211.55.141를 이용하겠다.

만약 확인이 어려우면 grep inet을 빼고 ifconfig 전체 내용을 확인한다.

 

연결된 NIC 정보와 Gateway 정보

# route 명령어에 n 옵션을 주고 확인한다.
# Destination이 0.0.0.0 인 항목을 찾으면 Gateway 정보와 Use Iface 를 확인할 수 있다.
$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.211.55.1     0.0.0.0         UG    100    0        0 eth0
10.211.55.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

현재 사용하고 있는 NIC는 eth0 이고 Gateway는 10.211.55.1 이다.

 

Static 정보 설정

설정해야 할 파일은 /etc/sysconfig/networkt-scripts/ifcfg-"NIC이름" 이다.

여기서는  /etc/sysconfig/networkt-scripts/ifcfg-eth0 를 편집한다.

먼저 root 로 전환하고 이 파일을 열면 수정 전의 아래와 같이 표시된다.

BOOTPROTO 가 dhcp 로 되어 있다.

TYPE="Ethernet"
PROXY METHOD="none"
BROWSER ONLY="no"
BOOTPROTO= "dhcp"
DEFROUTE= "yes'
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="63433b62-7597-407c-aee1-9fbc03092cf5"
DEVICE="eth0" 
ONBOOT="yes"

 

아래와 같이 수정한다. 원래 있던 BOOTPROTO 는 삭제하고 아래에 다시 기입하고 확인했던 나머지 내용을 채워 준다.

TYPE="Ethernet"
PROXY METHOD="none"
BROWSER ONLY="no"
DEFROUTE= "yes'
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="63433b62-7597-407c-aee1-9fbc03092cf5"
DEVICE="eth0" 
ONBOOT="yes"

BOOTPROTO=none
IPADDR=10.211.55.141
PREFIX=24
GATEWAY=10.211.55.1
DNS1=8.8.8.8
DNS2=168.126.63.1
PEERDNS=NO

 

해당 내용을 저장하고 설정 적용 단계로 이동한다.

 

설정 적용

# 수정한 내용을 systemctl 명령어로 network 서비스를 재시작한다.
$ systemctl restart network

# 설정한 IP 확인
$ ifconfig | grep inet
        inet 10.211.55.141  netmask 255.255.255.0  broadcast 10.211.55.255
        inet6 fdb2:2c26:f4e4:0:6612:8be5:a066:8b34  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::f978:600d:e1a7:867  prefixlen 64  scopeid 0x20<link>
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>

# route 정보 확인
$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.211.55.1     0.0.0.0         UG    100    0        0 eth0
10.211.55.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

# yahoo.com에 ping 확인
$ ping yahoo.com
PING yahoo.com (74.6.231.20) 56(84) bytes of data.
64 bytes from media-router-fp73.prod.media.vip.ne1.yahoo.com (74.6.231.20): icmp_seq=1 ttl=128 time=286 ms
64 bytes from media-router-fp73.prod.media.vip.ne1.yahoo.com (74.6.231.20): icmp_seq=2 ttl=128 time=185 ms
64 bytes from media-router-fp73.prod.media.vip.ne1.yahoo.com (74.6.231.20): icmp_seq=3 ttl=128 time=187 ms
^C
--- yahoo.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 185.718/219.873/286.492/47.111 ms

 

반응형