본문 바로가기
IT/리눅스 이론

리눅스 서버 네트워크 설정 방법과 네트워크 이중화 설정

by 꾸꾸웍스 2022. 6. 3.
반응형

리눅스 서버 네트워크 설정 방법과 네트워크 이중화 설정


 

 

 

 

※ 목차

1. 리눅스 네트워크 설정 파일
2. 리눅스 네트워크 설정 
3. 리눅스 핑 테스트(ping test)
4. 리눅스 서버 간 ssh 접속
5. 리눅스 서버 네트워크 이중화 설정

 

 

1. 리눅스 네트워크 설정 파일

 

리눅스 네트워크를 설정하기 위해서는 네트워크 설정 관련 파일에 대해 알아야 합니다. 기본적으로 구성해야 될 파일은 아래와 같으며 4개의 파일에 대해서 간단하게 설명은 아래와 같습니다. 아래 각 파일의 IP 주소는 랜덤으로 예를 작성한 것입니다.

 

/etc/hosts

/etc/resolv.conf

/etc/sysconfig/network

/etc/sysconfig/network-scripts/{인터페이스파일}

 

/etc/hosts

리눅스의 hosts 파일로 IP와 hostname을 매칭 시켜주는 파일입니다. 즉, 컴퓨터가 도메인을 찾을 때 제일 먼저 찾는 파일 이기 때문에 여러 IP와 통신을 하면 /etc/hosts 파일에 정리를 잘해놓으면 좋습니다. IP와 hostname의 구분tab으로 구분하면 좋습니다.

 

root@server # cat /etc/hosts
192.168.1.101	appleserver
172.100.100.1	bananaserver
...

 

 

/etc/resolv.conf

리눅스 서버의 resolv.conf 파일은 DNS를 설정하는 파일로 사용하고자 하는 네임서버를 설정합니다. 

 

root@server # cat /etc/resolv.conf

#search localdomain

nameserver 168.100.11.1

 

 

/etc/sysconfig/network

모든 시스템의 네트워크 인터페이스에 추가 정보를 지정합니다. 시스템의 호스트네임(hostname) 또는 기본 게이트웨이(default gateway)를 설정할 수 있습니다.

 

root@server # /etc/sysconfig/netwrok
# Created by anaconda
GATEWAY=192.168.1.1
HOSTNAME=appleserver

 

 

/etc/sysconfig/network-scripts/ifcfg-ens192

리눅스 서버에 존재하는 이 경로에 파일은 네트워크 인터페이스 관련 설정을 하는 파일로 리눅스 IP 부여 방식, IP MAC 주소 방식, UID 방식, 게이트웨이, 넷마스크, IP주소 등 여러 가지를 설정할 수 있습니다. 리눅스 서버마다 환경이 다르지만 보통 인터페이스 파일은 ifcfg-eth0으로 보이며 아래 예시는 ifcfg-ens192 인터페이스로 예입니다.

 

 


 

반응형

 


 

 

2. 리눅스 네트워크 설정

 

네트워크 설정 시 IP주소 관련하여 모자이크 처리한 점 양해 부탁드립니다

 

네트워크 설정하기 앞서 호스트네임을 설정합니다. 호스트네임(hostname)은 template으로 설정하겠습니다.

 


root@server # hostnamectl set-hostname template

 

호스트네임을 위와 같이 설정했다면 ctrl+d를 눌러 재로그인을 하거나 시스템을 재부팅하면 hostname이 변경되어 로그인 화면에 나타납니다.

 

 

이후 프롬프트 설정도 해주었습니다. 프롬프트 설정에 궁금하신 분은 아래 링크를 참고하시면 됩니다

 

 

 

↓↓ 프롬프트 설정 ↓↓

 

https://rhrhth23.tistory.com/60

 

리눅스 - 사용자 프롬프트 환경 변경하기 .bashrc 파일 수정

리눅스 사용자 로그인 프롬프트 예쁘게 꾸미기 .bashrc 파일 수정 리눅스 사용자별 .bashrc 파일 이란?? 리눅스는 다중사용자 시스템으로 하나의 리눅스 환경에서 여러 명의 사용자가 접속해서 사용

rhrhth23.tistory.com

 

위 설정이 끝났으면 /etc/sysconfig/network-scripts 경로에 이동하여 인터페이스 파일을 수정합니다.

 


root@server # cd /etc/sysconfig/network-scripts

root@server # ls -l

 

 

위 경로에 네트워크 인터페이스를 찾기 어렵다면 아래 명령어로 인터페이스를 확인하여 어떤 네트워크 인터페이스가 사용되는지 확인합니다.

 



root@server # ifconfig -a

root@server # nmcli d

 

/etc/sysconfig/network-scripts 이 경로의 ifcfg-ens192 파일을 아래 내용처럼 수정합니다. 기존 파일에서 수정한 것은 아래 내용이고 추가한 내용은 IPADDR, NETMASK, GATEWAY를 추가하였습니다. 참고로  BOOTPROTO값을 static는 고정 ip로 사용하겠다는 뜻이고 dhcp는 자동할당받는 DHCP를 사용하겠다는 뜻입니다.

 

ONBOOT=yes  → 시스템 부팅 시 자동으로 활성화

BOOTPROTO=none → 부팅 시 프로토콜을 사용하지 않습니다.

 

 

수정이 끝났다면 ifdown명령어로 네트워크 인터페이스를 내리고 ifup 명령어로 네트워크 인터페이스를 올리는 작업을 수행합니다.

 


root@server # ifdown ens192

root@server # ifup ens192

 

이후 network 서비스를 재시작합니다. systemctl명령어 대신 service 명령어를 사용해도 무방합니다. 

 


root@server # systemctl restart network

root@server # systemctl status network

 

systemctl status network 명령어로 Acitve 상태가 active 상태이면 정상입니다.

 


 

 


 

3. 리눅스 ping test

 

 

새로운 네트워크 설정이 끝났다면 연결된 망에 다른 아이피 또는 게이트웨이로 핑을 테스트하는 방법도 있지만 아래 방법은 망에 연결된 다른 서버에서 새로 운 네트워크를 설정해준 서버로 ping을 테스트해보겠습니다

 

 

ip주소를 입력해도 되지만 호스트네임을 설정을 해 주었기 때문에 다른 서버에서도 호스트 파일에 등록을 해준 다음 ping 테스트를 해보겠습니다

 

 

ping 테스트 시 지정해준 IP 주소와 지정해준 호스트네임으로 핑이 가는 것을 볼 수 있습니다.

 

 

 

4. 리눅스 서버 간 ssh 접속

 

리눅스 서버에서 새로 네트워크 설정한 서버에 ping 테스트가 완료되었다면 실제로 ssh 포트 22로 접속이 되는지 확인을 해야 됩니다. 실제로 ping은 가지만 ssh 서비스뿐만 아니라 ftp 등 서비스가 되기 위해서 접속 테스트까지 완료해야 됩니다.

 

 

이상 없이 잘 접속이 되었습니다. 참고로 핑 테스트를 완료하였지만 접속이 안 되는 현상이거나 서비스가 되지 않는다면 방화벽 관련 포트가 막혀있을 수 있습니다.

 

 

 

5. 리눅스 서버 네트워크 이중화 설정

 

 

리눅스 서버의 네트워크 이중화 설정은 network bonding 설정으로 여러 개의 네트워크를 하나로 묶어 사용을 합니다. 따라서 하나의 인터페이스가 down이 되어도 나머지 인터페이스가 살아있기 때문에 통신에 대한 것은 이상이 없습니다. 즉 실제 물리적으로 구성된 네트워크 인터페이스 2개를 가상의 인터페이스를 만들어 하나로 사용하는 것입니다.

 

본딩에 사용될 2개의 인터페이스

 

 

기존의 네트워크 구성은 1개 즉 ifcfg-ens192 네트워크 인터페이스 파일의 ens192 네트워크 인터페이스였다면 본딩에 사용될 인터페이스는 1개가 아닌 2개를 만들어줍니다 실제로 물리적으로 네트워크가 2개 이상 물려있어야 됩니다. 물리적으로 네트워크가 물려있지 않은 상태에서 만들면 오류가 생길 수 있습니다.

 

 

서로 네트워크 인터페이스 파일이 다르듯이 파일 내용 안에 DEVICE 장치명도 파일명 인터페이스와 같아야 됩니다. em1과 em2에 대한 인터페이스 파일을 2개 생성합니다. 또한 MASTER에 bond0라는 값을 넣어 bond0를 바라보게 설정을 해줍니다. bond0는 가상으로 만들 네트워크 인터페이스입니다. SLAVE값에도 yes를 넣어줍니다.

 

가상 bond0 네트워크 인터페이스 생성

 

 

위 사진과 같이 실제 사용할 IP는 bond0라는 가상 네트워크 인터페이스에 들어가며 em1과 em2의 물리적인 네트워크 인터페이스를 사용합니다. 이후 위에서 설명했듯이 ifdown, ifup 명령어를 이용해 bond0를 내렸다 올리고 네트워크 서비스 systemctl restart network를 재시작하면 bond0 가상 네트워크 인터페이스가 활성화됩니다. 

 

 

위 사진과 같이 통신은 bond0 가상 네트워크 인터페이스로 하며 물리적은 네트워크 인터페이스는 em1과 em2로 네트워크 이중화(network bonding) 설정이 완료됩니다.

 

 

 


 

반응형
그리드형

댓글