Linux는 리누스 베네딕트 토발즈가 처음으로 개발하였습니다. 미닉스라는 교육용 운영체제를 참조하여 개발했습니다.
대부분의 클라우드 인스턴스는 리눅스를 사용하고 있습니다. 왜냐하면 컨테이너 기반의 환경으로 변화하였고 컨테이너 OS는 100% 리눅스이기 때문입니다.
Linux는 GPL 라이선스 2.0v으로 오픈소스 입니다. 그러므로 자유롭게 사용할 수 있고 누구든지 변경 가능합니다. 하지만 개발하면 그 개발한 내용 또한 공유해야 합니다.
리눅스의 구조
- 커널 : 리눅스의 핵심
- 프로세스/메모리/파일시스템/장치 관리
- 컴퓨터의 모든 자원 초기화 및 제어 기능
- 셸 : 사용자 인터페이스
- 명령해석
- 프로그래밍 기능 -> shellscript
- Linux 기본 셸 : 배시 셸(Linux 셸, bash shell)
- 응용 프로그램
- 각종 프로그래밍 개발도구
- 문서편집도구
- 네트워크 관련 도구 등
Linux 실습 환경
제 컴퓨터는 윈도우이므로 가상머신 (VM)을 이용하여 실습 환경을 구성해야 합니다. PC에 설치되어 있는 호스트 OS에 가상의 머신(시스템)을 생성한 후 여기에 다른 게스트 OS를 설치할 수 있도록 해주는 응용 프로그램입니다.
컴퓨터의 CMOS -> CPU의 가상화(VT-N=ENABLE) 기능이 활성화되어 있어야 합니다.
가상화 기술
호스트 가상화
- 호스트 가상화에서, 가상화 소프트웨어는 기존의 운영 체제 위에 설치되며, 이 운영 체제를 '호스트' OS라고 합니다.
- 가상 머신은 이 호스트 OS 위에서 '게스트' OS로서 실행됩니다.
- 예시) VMware Workstation, Oracle VirtualBox
- 장점
- 기존 시스템에 쉽게 설치하고 구성할 수 있습니다.
- 다양한 종류의 게스트 OS를 지원합니다.
- 단점
- OS위에 OS가 얹히는 방식으로 오버헤드가 클 수 있습니다.
하이퍼바이저 가상화
- 하이퍼바이저 가상화에서는 하이퍼바이저라는 소프트웨어가 하드웨어를 직접 제어하고 관리합니다.
- 이를 통해 여러 개의 가상 머신이 동일한 하드웨어 자원 위에서 독립적으로 실행될 수 있습니다.
- 예시) VMware ESXi, Microsoft Hyper-V, KVM (Kernel-based Virtual Machine)
- 장점
- 성능이 호스트 가상화보다 우수합니다.
- 물리적 자원을 효율적으로 분배하고 관리할 수 있습니다.
- 단점
- 설정과 관리가 복잡할 수 있습니다.
- 호환성 문제가 발생할 수 있으며, 특정 하드웨어에 종속될 수 있습니다.
하이퍼바이저란?
OS와 하드웨어 사이에 존재하는 일종의 가상화 매니저
유형 1 하이퍼바이저는 호스트 하드웨어에서 직접 실행되어 하드웨어를 제어하고 게스트 가상머신을 관리한다.
호스트 된 하이퍼바이저라고도 불리는 유형 2 는 시스템의 다른 응용 프로그램과 마찬가지로 일반적인 OS 내에 실행된다.
컨테이너 가상화
- 컨테이너 가상화는 OS 수준의 가상화 방식으로, 하나의 호스트 OS 위에서 여러 컨테이너를 실행합니다.
- 각 컨테이너는 격리된 환경에서 독립적으로 실행되며, 필요한 애플리케이션과 라이브러리만 포함합니다.
- 예시) Docker, Kubernetes
- 장점
- 빠른 시작 시간과 높은 효율성을 제공합니다.
- 애플리케이션의 이식성이 뛰어나며, 환경 구성의 일관성을 유지할 수 있습니다.
- 단점
- 모든 컨테이너가 동일한 호스트 OS를 공유하기 때문에, OS 다양성이 제한됩니다.
- 호스트 OS의 보안 취약점이 모든 컨테이너에 영향을 미칠 수 있습니다.
CentOS (Community ENTerprise Operating System)
CentOS는 리눅스 배포판 중 하나로, 엔터프라이즈급 컴퓨팅에 적합한 안정성과 보안을 제공하는 것으로 잘 알려져 있습니다. CentOS는 Red Hat Enterprise Linux (RHEL)을 기반으로 하며, 주로 서버 환경에서 널리 사용됩니다.
Disk
- 디스크 용량은 100GB로 선언
- 프로비저닝(Provisioning) : 예약할당(동적할당)
예약할당(동적할당)의 개념
이는 가상화 환경에서 자주 사용되는 스토리지 프로비저닝 방식입니다. 디스크 공간이 실제로 필요할 때까지 물리적 스토리지 공간을 할당하지 않습니다. 예를 들어, 100 GiB의 디스크 용량을 가상 머신에 할당할 때, 실제 사용량이 20 GiB일 경우, 오직 20 GiB만 물리적 스토리지에서 차지합니다. 사용량이 증가함에 따라 추가 공간이 할당됩니다.
Network
private IP 범위
- 10.0.0.0 - 10.255.255.255 (10.0.0.0/8)
- 172.16.0.0 - 172.31.255.255 (172.16.0.0/12)
- 192.168.0.0 - 192.168.255.255 (192.168.0.0/16)
- 어댑터 1번 NAT (public -> private)로 변경하는 기술
- 어댑터 2번 Host only (internel 용)
원격 접속 도구 활용
현재 사용하고 있는 도구는 MobaXterm, putty, winscp가 있습니다. 이걸로 관리, 모니터링 등의 작업을 수행합니다.
- 터미널 서비스
- telnet (비암호화)
- 인프라 내에서의 접근 (사용 금지), 스니핑에 이용 당할 수 있음
- ssh (Secure Shell Protocol)
- 정보보안감사 (전산감사)
- 감사위반, 절대로 root로 원격접속 금지
- 보안접속할 경우 인증서 필요
- 정보보안감사 (전산감사)
- telnet (비암호화)
웹 서버 구축
- 파일 전송 실습
101번에서 102번으로 input.txt를 전송할 때 사용하는 방법
scp input.txt root@192.168.56.102:/root/ # 파일 전송
scp -r test root@192.168.56.102:/root/ # 폴더 전송
윈도우에서 VM Linux로 파일 옮길 때는 winSCP 사용
- apache 다운 후 웹 화면 실습
yum -y install httpd # apache 다운
systemctl start httpd # apache 시작
ps -ef | grep httpd # apache 켜져 있는지 확인
cp index.html /var/www/html/index.html # index.html 생성
tail -f /var/log/httpd/access_log # 접속 로그 확인
- 리눅스 방화벽 크기
systemctl stop firewalld.service
'AWS Cloud School > Linux, Network' 카테고리의 다른 글
DMZ (Demilitarized Zone)란? (1) | 2024.02.01 |
---|---|
Network 주요 기기 및 기술 설명 (0) | 2024.01.30 |
Linux - Shell, alias, 방화벽, 환경설정 (2) | 2024.01.21 |
CentOS에서 보안 회선 VPN 구성 (이론) (0) | 2024.01.21 |
Linux vi shell 사용 (0) | 2024.01.20 |