2024-09-11(WED)
1. Ubuntu Linux Env. 구축 개요
1-1. VMs Spec
Server | Server(B) | Client | Windows Client | |
목적 | 서버 전용 | 서버 전용(Text Mode) | 클라이언트 전용 | Windows 클라이언트 전용 |
Guest OS 종류 | Ubuntu 64 bit | Ubuntu 64 bit | Ubuntu 64 bit | Windows 10 |
ISO Image | Ubuntu Desktop 20.04 | Ubuntu Server 20.04 | Kubuntu 20.04 | Windows 10 Evalu. |
가상머신 이름 | Server | Server(B) | Client | WinClient |
디스크 용량 | 100GB | 100GB | 100GB | 100GB |
디스크 타입 | SCSI | SCSI | SCSI or SATA | SCSI or SATA |
메모리 할당 | 4GB | 4GB | 4GB | 4GB |
1-2. Topology
1-3. VMs Network IPv4 Address Assignment
Server | Server B | Client | WinClient | |
IPv4 Address | 192.168.100.160 | 192.168.100.161 | 192.168.100.162 | 192.168.100.163 |
Subnet Mask | 255.255.255.0 | |||
Gateway | 192.168.100.1 | |||
DNS Server Address | 8.8.8.8 |
2. Ubuntu Linux Installation (Server) / 환경 설정
2-1. VMs Creation
(1) 새로운 가상 머신을 위와 같이 생성한다.
(2) Image ISO 파일의 경우 24.04 Desktop 버전을 선택한다.
2-2. Ubuntu Installation
(1) 네트워크 연결의 경우 유선 연결 사용을 활성화한다.
(2) 업데이트는 하지 않고 넘어간다.
(3) Interactive Installation 옵션을 체크한다.
(4) 기본 옵션인 Default selection 부분을 선택한다.
(5) 해당 부분은 체크하는 옵션 없이 넘어간다.
(6) 이름, 컴퓨터 이름, 사용자 이름, 암호를 입력하고 로그인 시 암호를 입력할 수 있도록 체크한다.
(7) 디스크를 지우고 Ubuntu를 설치하는 옵션을 선택한다.
(8) 본격적인 설치 준비가 완료되고, 다음부터 설치를 진행할 수 있다.
(9) 설치가 진행되고 있다. 설치가 완료되면 시스템을 재부팅한다.
(10) Enter 키를 눌러 재부팅을 진행해 준다. / 이후 로그인 화면에서 설치 과정에서 입력한 패스워드를 입력하고 로그인한다.
3. Ubuntu Linux 개요
3-1. 개요
(1) 유닉스 운영체제는 리눅스가 나오기 전부터 널리 사용되던 운영체제로 현재까지도 많이 사용한다. 하지만 유닉스는 상용 소프트웨어로 발전했고 많은 비용을 부담해야 사용할 수 있는 환경이 되었다.
(2) 이러한 상용 유닉스를 대체할 수 있는 운영체제가 바로 리눅스다. 리눅스는 유닉스와 거의 동일한 기능과 역할을 수행하는 운영체제이면서도 오픈 소스 기반 / 무료로 사용할 수 있다는 점이 큰 장점이다.
3-2. 리눅스의 탄생
(1) 리누스 토르발스가 어셈블리어로 리눅스 커널 0.01 버전을 처음으로 작성했다. 이후 1992년에 0.02 버전을 작성하면서 온라인에 소스코드를 공개했는데, 리눅스 커널이 리눅스 탄생의 시초이자 엄격한 의미의 리눅스다.
(2) 리누스 토르발스가 커널 부분을 작성해서 배포했고, 이후 이 커널에 컴파일러, 쉘, 기타 응용 프로그램들이 조합된 배포판이 바로 사람들이 알고 있는 일반적인 리눅스다.
(3) 이러한 배포판은 여러 가지 응용 프로그램을 조합하여 많은 리눅스 단체 또는 회사가 본인만의 이름을 붙여서 판매하거나 배포하고 있다.
3-3. GNU 프로젝트
(1) 토르발스가 커널을 개발하기 전에 리처드 스톨먼에 의해 GNU 프로젝트가 시작되었다. GNU의 목적은 모두가 공유 가능한 소프트웨어를 만드는 것이었다. 따라서 자유 소프트웨어 재단(FSF)를 설립하고 FSF는 GNU 프로젝트에서 제작한 소프트웨어를 지원함으로써 애플리케이션의 복제, 변경, 소스 코드 사용에 걸린 제한을 철폐하는 것이 목적이었다.
- 누구든지 소프트웨어를 자유롭게 사용할 수 있도록 하는 것.
(2) FSF에서 제공하는 소프트웨어는 GPL(General Pulbic License)라는 라이센스를 따르도록 되어 있다. 해당 라이센스는 자유 소프트웨어의 수정과 공유에 있어서 매우 자유로운 편이다.
(3) 모든 소스 코드가 완전히 public으로 열려 있는 자유 소프트웨어의 철학은 아래와 같다.
- 소프트웨어 사용, 수정, 재배포에 대한 자유, 수정된 소프트웨어의 이익을 전체가 얻을 수 있도록 배포할 수 있는 자유
3-4. 리눅스의 Kernel / 리눅스 Kernel의 버전
(1) 커널(Kernel)에는 현재 제어하는 하드웨어 장치의 자원 여부 정보, 성능, 하드웨어를 직접적으로 제어하는 코드가 들어 있다.
(2) 토르발스는 커널이라고 부르는 리눅스의 핵심 영역을 지속적으로 개발했고 지금도 업데이트되고 있다.
(3) 리눅스 커널의 버전은 Stable Version(안정 버전), Development Version(개발 버전)으로 나뉜다. 안정 버전은 이미 검증이 완료된 소스 코드로 이루어져 있으며 개발 버전은 말 그대로 아직 개발 중인 코드다. 개발 버전이 아직 소스 코드가 완성되지 않은 상황이라 상대적으로 불안정하며 안정 버전이 릴리즈되기 전에 추가된 기능을 미리 사용해 보거나 테스트하고 싶을 때 사용한다.
(4) 리눅스의 가장 큰 특징 중 하나는 배포판에 포함된 기본 커널을 사용자가 직접 최신 커널로 업그레이드할 수 있다는 것이다. 이러한 과정을 커널 업그레이드 또는 커널 컴파일이라고 한다.
(5) LTS 버전이 존재하는데 말 그대로 장기적으로 지원되는 버전을 의미한다. 일반 버전과 달리 안정성에 중점을 둔 버전으로 기능 업데이트는 최소한으로 이루어지거나 아예 없지만 보안 관련 업데이트는 지원 기간이 일반 버전보다 상대적으로 매우 긴 편이다.
3-5. 리눅스 배포판
(1) 일반 사용자의 경우 리눅스 커널만으로는 리눅스를 사용할 수 없다. 이런 이유 때문에 여러 회사나 단체에서 리눅스 커널에 다양한 응용 프로그램을 추가해 쉽게 설치할 수 있도록 만든 것이 바로 리눅스 배포판이다.
(2) 배포판의 종류는 상당히 많고 우리나라에서 주로 사용하는 유명한 배포판도 많은 편이다.
(3) 비교적 잘 알려진 배포판은 Red Hat Enterprise, Gentoo, CentOS, Debian, Fedora, Knoopix, Linux Mint, Mandriva, openSUSE, Pardus 등이 있다.
3-6. 리눅스 배포판 : Debian Linux & Ubuntu Linx
(1) 유명한 배포판 중 하나가 데비안 프로젝트에서 개발한 데비안 계열 리눅스다.
(2) 데비안 리눅스의 큰 특징은 패키지 설치 및 업그레이드가 상당히 단순하고 apt 프로그램을 사용해서 소프트웨어 설치나 업데이트 등이 자동으로 진행된다.
(3) 우분투 리눅스는 이러한 데비안 계열 리눅스를 기초로 GNOME 데스크탑 환경을 사용하는 리눅스 배포판이다.
(4) 우분투 배포판의 경우 데스크톱 버전, 서버 버전 두 가지를 배포하고 있다. 데스크톱은 X Window 환경을 지원하고 LibreOffice, Firefox, Gimp 이미지 편집기 등 다양한 GUI 도구를 제공한다. 반면에 서버는 X Window 환경을 지원하지 않고 CLI 환경의 인터페이스를 제공한다.
4. (Server) 설치 완료 & 환경 설정
4-1. 주소 대역 & 인터넷 연결 확인
(1) ifconfig 커맨드가 수행이 안 된다면 패키지 관리자로 관련 커맨드를 사용할 수 있도록 라이브러리를 설치한다.
(2) 네트워크 인터페이스 / 이더넷 설정 부분에서 주소를 수동으로 할당해 준다.
(3) 주소가 할당된 부분을 체크한다.
(4) 게이트웨이, DNS 서버 주소로도 ping이 수행되는지 확인한다.
(5) 현재 인터넷도 정상 접속되므로 방금 설정한 네트워크 인터페이스에는 큰 문제가 없다.
5. Ubuntu (ServerB) VMs Installation / 환경 설정
(1) 위와 같이 VMs의 이름을 주고 가상 머신 환경을 생성한다.
(2) 이번 설치는 수동 파티셔닝으로 진행한다.
(3) 남은 공간을 선택하고 하단 +을 클릭한다.
(4) 용도는 포맷할 파일 시스템의 종류를 의미한다 파티션 크기, 용도, 마운트 위치를 선택할 수 있다.
(5) 파티션(Partition)의 경우 물리적인 디스크 공간을 목적에 맞게 논리적인 공간으로 분리한 영역을 의미한다.
(6) 위와 같이 할당해 주면 파티션이 생성된 것을 확인할 수 있다.
(7) 이제 위와 같이 각 마운트에 해당하는 공간을 각각 할당해준다.
(8) 컴퓨터 이름을 serverb로 지정한다.
(9) 파티션 작업 내역을 설치 마지막 전에 확인한다.
(10) 이후 다음 단계에서 설치가 진행되는데, 설치 이후 시스템을 재부팅한다.
(11) nmtui(Network Manager TUI) 커맨드로 네트워크 인터페이스와 관련된 설정을 진행할 수 있다.
(12) 커맨드 실행 시 Network Manager TUI로 진입하게 된다.
(12) nmtui 커맨드와 달리 설정에서 이더넷 연결 부분을 확인해 보면 동일한 설정을 진행할 수 있다.
(13) netplan-zz-all-en 인터페이스의 IPv4 주소 대역을 위와 같이 수정한다.
(14) 정상적으로 반영되었다.
(15) 마지막으로 게이트웨이와 DNS 서버에 ping 테스트를 수행하고 파이어폭스 브라우저로 인터넷에 접속되는지 확인한다.
6. WinClient-U(Ubuntu Env - Windows10) 설치 / 환경 설정
(1) 설치 환경은 Windows 10 Pro 버전이다. (이전 VMs와의 구분을 위해 WinClient-U로 지정)
(2) 마찬가지로 게이트웨이, DNS 서버로 ping이 수행되는지 체크한다.
7. Ubuntu (Client) Installation / 환경 설정
(1) 위와 같이 가상 머신 설정 / Ubuntu 설치 작업을 진행해 주고 네트워크 ping 수행 및 인터넷 연결이 정상적으로 되는지 확인한다.
(2) 위와 같이 네트워크 인터페이스를 잡아준 상황이다. 이후 ping 수행 / 인터넷에 정상적으로 연결된 부분을 확인했다.
8. Ubuntu Server 설치 이후 작업
8-1. 기본적으로 비활성화된 root 계정 Enable 처리(로그인 시 root 계정으로 로그인, Server, ServerB, Client 모두 진행)
(1) sudo su - root 커맨드로 루트 계정으로 접속을 시도한다.
(2) 이후 passwd 커맨드로 루트 계정의 비밀번호를 지정해 준다.
(3) 우선 자동 로그인 활성화를 위해 사용자 설정에서 해당 옵션을 활성화한다.
- 이전 인증 처리가 필요한데, 인증 페이지에서 패스워드를 입력해 해당 부분을 활성화한다.
(4) nano /etc/gdm3/custom.conf
- 해당 파일을 편집하기 위해 nano 에디터를 사용한다.
(5) [daemon], [security] 영역에 아래 항목을 각각 추가한다.
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=root
[security]
AllowRoot=True
(6) 이후에 nano 에디터로 /etc/pam.d/gdm-password 파일을 열고 3번 라인을 주석 처리한다.
(7) 마찬가지로 위의 경로의 파일을 열어서 3번 라인을 주석 처리한다.
(8) 이후 reboot로 시스템을 재부팅한다.
(9) 8-1 작업을 ServerB, Client 가상 머신에 대해서도 동일하게 처리한다.
(10) 이 작업은 실습의 편리함을 위해 진행하는 부분으로 실무에서는 root로 자동 접속되도록 허용하면 안 된다.
8-2. 소프트웨어 업데이트 기능 비활성화
(1) 바탕 화면의 왼쪽 아래에서 애플리케이션 표시를 누른 후 소프트웨어 업데이트 아이콘을 실행한다.
(2) 설정 메뉴로 접속한다.
(3) 업데이트 설정의 경우 자동 업데이트 확인, 우분투 버전 확인 옵션을 비활성화한다.
(4) apt update 커맨드로 설정한 내용을 적용한다.
8-3. 화면 보호기 비활성화, 언어(한국어) 설정
(1) 화면 보호기 비활성화의 경우 위의 설정 > 전원 > 전기 절약 옵션에서 빈 화면 모드를 비활성화한다.
(2) 보이는 언어의 경우 시스템 > 지역 및 언어에서 수정 가능하고, 입력 데이터도 한글 전환이 필요한 경우 키보드 설정에서 입력 소스에 한글을 추가해 준다.
(3) 한글팩이 정상 적용되었다면 위와 같이 한글이 입력된다.
(4) 다른 방식으로 ibus-setup으로도 처리 가능하다.
8-4. 필수 패키지 설치 / 방화벽 활성화
(1) apt -y install net-tools 커맨드로 필수 패키지를 설치한다.
(2) ufw enable 커맨드로 방화벽을 활성화시킨다.
(3) 지금까지 설정한 가상 머신에 대해 ESXi Client에서 Snapshot을 미리 생성해 둔다. (실습환경 구성 이후 초기 Snapshot을 저장)
9. Reference
(1) https://www.hanbit.co.kr/store/books/look.php?p_code=B3658372395
※ 해당 포스팅을 기준으로 내용 추가가 필요하다고 생각되면 기존 내용에 다른 내용이 추가될 수 있습니다.
개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있으며, 이에 대해 댓글로 알려주시면 감사하겠습니다!
'Virtualization & Cloud Infra > Server & Linux' 카테고리의 다른 글
Ubuntu Linux (3) - 서버 구축(운영) 시 필요한 필수 개념, 하드 디스크 관리, RAID, LVM (0) | 2024.09.20 |
---|---|
Ubuntu Linux (2) - 서버 구축(운영) 시 필요한 필수 개념 & 명령어 (0) | 2024.09.13 |
Windows Server 2022 (6) - Active Directory 그룹 관리, 그룹 정책의 구성과 운영 (2) | 2024.09.13 |
Windows Server 2022 (5) - Active Directory (AD 도메인, 사용자 관리) (0) | 2024.09.13 |
Windows Server 2022 (4) - 서버 운영을 위한 필수 사항, 원격 접속, DNS 서버, Active Directory (0) | 2024.09.13 |
댓글