SLOW but STEADY

[CentOS7] 리눅스 Network Manager, IP주소 수동 설정, IP binding 본문

2020 AWS기반 아키텍처 설계 전문가 양성 과정/리눅스

[CentOS7] 리눅스 Network Manager, IP주소 수동 설정, IP binding

ㅁ윤지ㅁ 2020. 4. 5. 22:05

리눅스 가상머신을 껐다 켰을 때 ip주소가 잡히지 않는 일을 겪어보신 적 있으신가요?

옛날에는 이런 현상을 겪으면 가상머신을 싹 다 밀어버리고 다시 새로 설치했었는데,

이게 VMware의 Network Manager의 문제라는 것을 알았습니다. 

실제로 실무에서는 이 Network Manager가 켜져 있으면 인터페이스가 정상적으로 작동하지 않는다는 이유로,

Network Manager를 꺼준다고 합니다.

 

이번 시간에는 이 Network Manager를 꺼주고 수동으로 IP주소를 설정해주는 작업을 해보겠습니다.

 


 

Network Manager 꺼주기

systemctl disable NetworkManager

systemctl stop NetworkManager

setenforce 0

getenforce 

vi /etc/sysconfig/selinux
7번째 줄에 SELINUX=enforcing되어있는 부분을 SELINUX=disabled로 바꿔줍니다.

리부팅해줍니다.

yum -y update
만약, 이 과정에서 another app is currently holding the yum lock이라는 메시지가 나오면,
오류 메시지에 뜨는 프로세스의 pid를 찾아서 프로세스 킬을 해줘야 합니다.
프로세스 킬은 kill -9 {pid}를 사용하시면 됩니다.

이렇게 하면, Network Manager를 정상적으로 중지시켰습니다.
다음으론, 수동으로 IP주소를 설정해주도록 하겠습니다.

 


 

 

IP주소 수동으로 설정하기

 

cd /etc/sysconfig/network-scripts
/etc/sysconfig/network-scripts디렉터리 안에 들어있는 ifcfg-ens33이라는 파일을 살펴볼 것입니다.

ifconfig ens33
ens33정보를 확인할 수 있는 명령어입니다.
ifcfg-ens33파일은 ens33이라는 NIC(Network Interface Controller)정보를 저장하고 있는 설정 파일입니다.
그러므로, ifcfg-ens33파일을 수정해 주는 것은 ens33이라는 NIC정보를 수정해주는 것입니다.

vi ifcfg-ens33
각 필드에 대해 알아보겠습니다.

TYPE
2계층 데이터링크층에서 사용하는 전송 타입을 지정해 주는 것입니다. 주로 ethernet을 사용합니다.

BOOTPROTO
인터페이스의 IP주소를 어떤 방식으로 사용할 건지 설정하는 부분입니다. static, dhcp등의 값으로 지정해 줄 수 있습니다. none은 어떤 방식을 사용할 건지 설정하지 않는 것입니다. 곧, 중립적인 상태를 말합니다.

DEFROUTE
default route라는 기본 게이트웨이를 사용할 건지 물어보는 것입니다.

NAME
디바이스 별칭(화면에 표시될 이름)입니다.

UUID
ens33의 식별 ID값(각 장치를 구분하는 식별 ID값)입니다.

DEVICE
실제 디바이스 명입니다.
Network Manager가 켜져 있을 때 nmcli connection이라는 명령어를 사용하면 장치명을 확인할 수 있습니다.

ONBOOT
시스템 전원이 켜졌을 때 자동으로 인터페이스 연결을 허용하겠다는 설정입니다.
(장치를 자동으로 바로 활성화시키는 설정입니다.)

IPADDR
우리가 사용할 IP주소입니다.

PREPIX
PREPIX를 쓰거나 NETMASK를 써도 됩니다.

GATEWAY
우리가 사용할 게이트웨이 주소입니다.

DNS1
우리가 사용할 DNS주소입니다.

만약, ifcfg-ens33파일을 수정해주었으면
반드시 데몬 프로세스를 재시작해주어야 합니다.

systemctl restart network

 

이렇게, ifcfg-ens33이라는 파일을 수정해서 네트워크에 대한 설정을 해줄 수도 있지만
간단히, IP주소, 넷마스크 주소, 게이트웨이에 대한 설정만 필요한 것이라면 명령어를 사용해 작업을 해 줄수도 있습니다.

ifconfig ens33 up

ifconfig ens33 {IP주소} netmask {넷마스크 주소}
수동으로 IP주소와 넷마스크 주소를 잡아줍니다.

route add default gw {게이트웨이 주소}
게이트웨이 주소를 잡아줍니다.

 

* route -n 명령어란?

route -n
기본 G/W주소를 확인하고 기본 G/W주소를 추가하거나 삭제할 수 있는 명령어입니다.

route add default gw {G/W주소}
기본 게이트웨이 주소를 추가하는 명령어입니다.

route del default gw {G/W주소}
기본 게이트웨이 주소를 삭제하는 명령어입니다.

이 route명령어는 실제 IP주소를 설정하고 외부 통신이 안 될 경우 제일 먼저 사용하는 명령어입니다.
대부분, default G/W문제를 해결하게 되면 외부 통신 문제는 해결됩니다.

route -n

0.0.0.0에 설정되어 있는 Gateway부분의 주소가 현재 기본 게이트웨이 주소입니다.

 


 

IP binding

하나의 네트워크 인터페이스 카드에 여러 개의 IP주소를 부여하는 기술입니다.

Linux Server 1대로 여러 대의 WEB, FTPProxy Server 등을 운영하고자 할 때 사용합니다.

 

ifconfig ens33:0 192.168.1.101

ifconfig ens33:1 192.168.1.102

ifconfig

저희가 설정해준 대로, ens33:0과 ens33:1의 IP주소가 설정되었습니다.

이런 식으로, IP binding을 해줄 수 있습니다.

ifconfig ens33:0 down
ifconfig ens33:1 down
down명령어를 사용해서 비활성화시켜줄 수도 있습니다.
반대로 up은 활성화시켜주는 것입니다.


cd /etc/sysconfig/network-scripts

cp ./ifcfg-ens33 ./ifcfg-ens33:0
ifcfg-ens33:0이라는 파일을 새로 만들어줍니다.

vi ifcfg-ens33:0
IPv4, IPv6에 대한 부분은 다 없애줘도 됩니다.
UUID부분을 주석 처리합니다.
DEVICE, NAME을 ens33:0으로 바꿔줍니다.
IPADDR을 저희가 설정해준 대로 192.168.53.101로 바꿔줍니다.

 

vi ifcfg-ens33
UUID부분을 주석 처리해줍니다.

systemctl restart network

ifconfig
ens33:0이 추가된 것을 확인하실 수 있습니다.

리부팅합니다.

ifconfig
껐다 켜도 IP주소가 고정되어 있는 것을 확인합니다.