Centos 7 base setting after minimal install

 

Centos7 OS minimal로 설치 후 가장 기본적으로 진행해야하는 네트워크 세팅에 대해 설명하겠습니다.

 

 

일단 만약 할당할 IP를 가지고 있다면 아래와 같이 진행합니다. (Centos6에 익숙하신 분들도 아래와 같이 진행하시면 되겠습니다.)

 

systemctl stop NetworkManager

systemctl disable NetworkManager

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

getenforce

vi /etc/sysconfig/selinux

========================

SELINUX=disabled

========================

 

위에서부터 NetworkManager 정지 및 비활성화

firewalld (방화벽) 정지 및 비활성화

selinux permissive로 변경 및 확인

selinux disabled로 설정 변경

 

해당 작업들은 이후에 진행될 작업의 편의를 위해 필요하며, 보안에 취약할 수 있는 세팅이므로 주의 바랍니다.

 

 

 

cd /etc/sysconfig/network-scripts/

에서 ifcfg-eno1 혹은 ifcfg-enpf0s0 등과 유사한 형태의 이름을 가진 파일을 수정하여 네트워크를 세팅해줍니다.

 

=========================================

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
#DEFROUTE=no
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eno1
UUID=c3ef3bd9-ea0e-4037-8975-97c5f849284d
DEVICE=eno1
ONBOOT=yes

IPADDR=999.888.777.666
GATEWAY=999.888.777.1 
PREFIX=26

=========================================

 

제 경우에는 static으로 IP를 지정해줄 것이므로 

BOOTPROTO=none 으로 변경해주었으며 그 아래 설정들은 필요하지 않아 주석처리 하였습니다.

#DEFROUTE=no 의 경우 주석처리를 진행하지 않으면 네트워크가 살지 않는 경우가 있으니 꼭 주석처리하거나 다른 세팅값으로 진행해주세요.

 

해당 네트워크 인터페이스를 살릴 예정이므로 ONBOOT=yes 로 변경해주었으며

 

IP, GATEWAY, NETMASK 정보를 넣어주고 저장하였습니다.

 

 

systemctl restart network

혹은

/etc/init.d/network restart

 

진행해주신 다음

ip addr

커맨드를 통해 인터페이스가 잘 올라왔는지 확인할 수 있고

ping 8.8.8.8

커맨드를 통해 실제로 외부로 핑이 잘 가는지 확인할 수 있습니다.

 

혹시라도 예상치 못한 문제 상황에 직면하였을 경우 8.8.8.8 외에 GATEWAY 서버의 IP로 핑을 날려보시는 것도 원인 분석에 도움이 되니 참고하시면 되겠습니다.

 

원격 접속을 위한 세팅을 진행하겠습니다.

여러가지 방법이 있겠지만 여기에서는 방화벽, selinux 모두 내린 상태임을 감안한 세팅을 진행하겠습니다.

 

/etc/ssh/sshd_config     두 줄 변경합니다.

===========================

#Port 22          를 다른 포트로 변경           > 기본 22번 포트를 사용하면 공격 정말 많이 들어옵니다. sshd 뿐만 아니라 어떤 데몬이든 기본 포트 사용은 지양하셔야합니다.

#PermitRootLogin yes             를 PermitRootLogin no 로 변경         > sshd를 통해 원격 접속시 root로 바로 접속하지 못하도록 하는 설정입니다.

===========================

systemctl restart sshd

를 통해 변경된 설정값 적용을 해줍니다.

( 혹시라도 이후에 방화벽을 올리면 해당 변경된 ssh 포트를 열어주셔야합니다. )

 

useradd testuser001

root 원격접속을 막았으니 접속을 위한 계정을 생성해줘야합니다. testuser001로 임의로 썼지만 본인만의 계정 아이디를 만드셔서 사용하는 것을 추천드립니다.

 

passwd testuser001

생성 후 바로 비밀번호를 설정해줍니다. 어렵게 하시는걸 추천드립니다.

 

 

 

이제 DNS 설정을 해주겠습니다.

 

vi /etc/resolv.conf

안의 모든 내용을 지워주시고

==================================

nameserver 210.220.163.82
nameserver 8.8.8.8
nameserver 208.67.222.222

==================================

 

를 입력하여 저장해줍니다.

해당 값들은 꼭 저 값으로 해야만 하는 이유는 없으므로 다른 DNS를 사용하셔도 무방합니다.

 

다음으로 yum 설치를 통해 기본적으로 필요한 툴 설치를 진행하겠습니다.

 

yum install -y kernel kernel-devel ntsysv net-tools vim rdate lrzsz net-snmp wget

 

1. kernel & kernel-devel

kernel을 최신 버전으로 업데이트하기 위한 파일을 설치합니다. 해당 작업 후 서버 재부팅을 진행하면 kernel 버전을 올릴 수 있습니다.

커널 버전 확인 커맨드는 아래와 같습니다.

uname -a

( 혹시 업그레이드된 버전으로 물고 올라오지 않는다면 grub.conf (grub.cfg) 파일을 확인해보세요. 해당 관련 파일은 /boot/ 혹은 /etc/에 있는 경우가 많습니다. )

 

2. ntsysv

chkconfig로 일일히 보시거나 하시는 것이 불편하니 GUI 형태로 설정 변경 및 조회가 가능하도록 하는 ntsysv 커맨드를 사용할 수 있게 해줍니다.

 

3. net-tools

Centos7에서 Centos6의 커맨드를 사용할 수 있도록 해주는 툴입니다. 예시로 ifconfig와 같은 커맨드를 Centos7에서도 사용할 수 있도록 해줍니다.

 

4. vim

vi가 아닌 vim을 쓰면 편합니다. 써보세요. ㅎㅎ

 

5. rdate

rdate -s time.bora.net && /sbin/clock -w

커맨드를 통해 해당 서버의 소프트웨어적인 시간과 하드웨어적인 시간을 time.bora.net의 시간과 동기화시킵니다. 해당 커맨드를 crontab에 걸어두는 것도 괜찮은 생각입니다. (누군가가 시간을 이후 수동으로 건드리지 않는다면 말이죠)

 

6. lrzsz

rz & sz 등의 커맨드를 사용하기 위해 설치, 해당 커맨드로 로컬 pc에서 원격 접속 상태에서 파일을 편하게 주고받을 수 있습니다.

 

7. net-snmp

snmpd 기능을 사용하기 위해 설치합니다 - 해당 데몬을 통해 이후 해당 서버의 정보를 원격에서 가져가 mrtg 그래프를 출력하는 등의 작업이 가능합니다. - (보안을 위해 community 값 변경 추천드립니다.)

 

8. wget

wget 커맨드를 사용하기 위해 설치합니다.

 

 

ntsysv를 통해 혹시라도 NetwokManager 가 포함된 이름의 데몬이 올라와있는게 있다면 disable해줍니다.

postfix도 일단 꺼줍시다. 나중에 필요하면 올리겠습니다.

snmpd도 사용하실거라면 올려두시고, 사용안하신다면 내려두시면 되겠습니다.

 

 

 

 

이렇게 어느정도 기본적인 세팅은 완료된 듯 합니다.

 

일부러 처음부터 세팅하는 모습을 보여드리기 위해 minimal 설치 환경에서 진행했습니다.

 

마지막으로 서버 재부팅 후 정상적으로 올라오며 서버에 문제는 없는지 확인한 다음

직접 원격 접속 진행해보신 후 문제 없음을 확인하시고 종료하시면 되겠습니다.

 

 

 

감사합니다.

 

 

+ Recent posts