CS/운영체제

리눅스 서버 정리(웹 서버 및 FTP/NFS/Samba 서버 설치와 운영)

Chae-ri🍒 2024. 12. 11. 15:30

웹 서버 설치 및 운영

APM

리눅스를 가장 많이 활용하는 것 중 하나 => 웹 서버

APM = Apache 웹 서버 + 프로그래밍 언어 PHP + 데이터베이스 MariaDB(이전 MySQL)

리눅스 환경에서 사용될 경우 => LAPM(Linux, Apache, PHP, MariaDB)이라고도 부름

DNF 명령으로 편리한 설치를 제공

클라우드 서비스 개념도

FTP/NFS/Samba 서버 설치 및 운영

FTP(File Transfer Protocol)

파일을 전송하기 위한 서비스

웹에서 FTP의 고유 기능인 파일 전송을 편리하게 할 수 있게 되어서 예전보다 인기가 많이 떨어짐

파일 전송 자체를 위해서는 성능 Good

vsftpd는 Rocky Linux에서 제공

*vsftpd(Very Secure FTPD)는 Rocky Linux에서 기본적으로 제공되며, 리눅스와 유닉스 환경에서 보안성과 성능이 우수한 FTP 서버로 인정받고 있음.

외부에서 제공하는 pure-ftpd도 많이 사용됨

 

vsftpd.conf 옵션

anonymous_enable: anonymous(익명) 사용자의 접속을 허가할지 설정

local_enable: 로컬 사용자의 접속 허가 여부를 설정

write_enable: 로컬 사용자가 저장, 삭제, 디렉터리 생성 등의 명령을 실행하게 할

것인지 설정 (anonymous 사용자는 해당 없음)

anon_upload_enable: anonymous 사용자의 파일 업로드 허가 여부를 설정

anon_mkdir_write_eanble: anonymous 사용자의 디렉터리 생성 허가 여부를 설정

dirlist_enable: 접속한 디렉터리의 파일 리스트를 보여줄지 설정

download_enable: 다운로드의 허가 여부를 설정

listen_port: FTP 서비스의 포트 번호를 설정(기본: 21번)

 

NFS(Network File System) 서버

Linux(Unix) 컴퓨터끼리 저장 공간을 공유할 수 있도록 해 주는 시스템

Samba 서버

Windows와 리눅스/유닉스 사이에서 자원을 공유하기 위해서 개발

리눅스에서 Windows의 자원을 사용하는 방법과 Windows에서 리눅스의 자원을 사용하는 방법이 있음

Samba 서버 설정 파일(smb.conf)

/etc/samba/smb.conf 파일

 

① [global] : 모든 자원들의 공유를 위한 설정

workgroup = Windows의 작업 그룹 이름

server string = Windows의 네트워크에 보이는 컴퓨터 이름

netbios name = Windows의 네트워크에 참가하는 컴퓨터 이름

hosts allow = Samba 서버에 접속을 허용할 컴퓨터의 IP 주소

log file = Samba 서버에 접속하는 컴퓨터의 접속 기록 파일

security = user(Rocky Linux 9에 포함된 버전은 share를 허용안함)

 

② [공유이름] : 공유되는 디렉토리에 대한 설정

comment = 공유하는 디렉터리를 설명. 생략 가능

path = 물리적인 디렉터리

read only = 디렉터리에 쓰기 권한이 있는지 여부. yes는 읽기 전용, no는 읽기/쓰기 허용

browseable = 공유 리스트를 보여줄지 여부

guest ok = 다른 사용자도 사용하게 할지 여부

 

DHCP(Dynamic Host Configuration Protocol) 서버

자신의 네트워크 안에 있는 클라이언트 컴퓨터가 부팅될 때 자동으로 IP주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소를 할당해 줌

일반 사용자는 IP에 관련된 어려운 정보를 알지 못해도, 인터넷을 사용하는 데는 더 이상 아무런 문제가 없어짐

DHCP 서버의 가장 큰 장점은 관리하기 편하고 이용자가 편하다는 것

한정된 IP 주소를 가지고 더 많은 IP주소가 있는 것처럼 활용할 수 있음.

즉, 적은 개수의 IP주소로 여러 명의 사용자가 사용할 수 있다!

 

DHCP 서버의 작동원리

 

VMware 내부에서 구현할 DHCP 서버 구성도

 

프록시(Proxy) 서버

‘대리인’의 역할을 하는 서버

웹 환경에서 프록시 서버는 웹 클라이언트와 웹 서버 사이에서 요청한 데이터를 전달하는 역할

한번 전송한 데이터를 캐시에 저장한 후, 같은 데이터를 또 요청할 경우에 캐시에 저장된 것을 보내줌. => 처리 속도 향상!

보안을 위한 네트워크 설계

방화벽

외부의 공개된 네트워크와 내부의 사설 네트워크 사이에 자리잡고,

외부와 내부에 전달되는 트래픽을 ‘정책(Policy)’에 의해서 허용/거부하는 역할을 하는 컴퓨터나 장치

 

내부의 사용자는 외부의 인터넷을 이용하면서, 외부에서는 내부로 침입할 수 없게 하는 방법 중 가장 보편적으로 많이 사용하는 방법

=> 사설IP(Private IP)라고 불리는 nonroutable IP 주소 이용

 

사설IP의 주소 범위

10.0.0.0 ~ 10.255.255.255

172.16.0.0 ~ 172.31.255.255

192.168.0.0~192.168.255.255

 

IP 마스커레이딩(Masquerading)

사설IP주소의 컴퓨터가 외부의 인터넷으로 접속할 수 있도록 해 주는 방법

책 실습에서 구현할 네트워크 구성

PXE(Pre-boot eXecution Environment) 설치 서버

킥스타트

PXE 설치 서버를 이용할 때, 부팅 후에 필요한 작업까지 미리 설정해서 원격 설치시 편리하게 설치할 수 있게 도와주는 기능

 

도커

- 작은 운영체제를 포함하는 가상화 기술

- 가상 컴퓨터와 비슷하지만 훨씬 가볍게 운영됨

- 도커에서 사용되는 작은 컴퓨터를 컨테이너(Container)라 부름

 

가상 컴퓨터와 컨테이너 차이

 

  가상 컴퓨터 컨테이너
운영 체제 포함 여부 포함 (Guest OS) 포함하지 않음 (공유 커널)
리소스 사용량 높음 낮음
시작 속도 느림 빠름
격리 수준 높음 낮음
사용 사례 다양한 OS 실행, 레거시 시스템 지원 마이크로서비스, CI/CD, 빠른 배포

 

728x90