이번 글에서는
개인 홈서버 환경에서 온프레미스 네트워크 인프라를 구성하는 기초 실습을 진행할 예정이다.
목표는 단순한 서버 구축이 아니라,
클라우드 환경에서 우리가 클릭 몇 번으로 사용하는 기능들이 실제로 어떻게 구성되어 있는지를 직접 구현하고 이해하는 것.
최대한 이론은 생략하려고 하지만, 그래도 그 전에 온프레미스 개념은 한 번 알고 시작해야 한다.
1. 온프레미스란?
온프레미스(On-Premises)란, 말 그대로
“내가 있는 물리적 장소(on the premises)”에 직접 설치하고 운영하는
서버 환경을 말한다.
클라우드에서의 EC2 인스턴스는 단순히 클릭 몇 번으로 생성되지만,
온프레미스는 하드웨어 셋업부터 OS 설치, 보안 설정, 네트워크 라우팅, 도메인 연결까지 모두 직접 구성해야 한다.
2. 실습 환경 정의
현재 실습에 사용하는 서버는 LG 노트북이고,
이 장비는 클라우드 기준으로 보면 단일 리눅스 EC2 인스턴스라고 할 수 있다. 단, 다음과 같은 차이점이 있다.
클라우드 구성요소 온프레미스 실습 요소
EC2 인스턴스 | Ubuntu 서버 직접 설치 및 운영 |
보안 그룹(Security Group) | ufw, iptables 설정 |
VPC / Subnet | 포트 포워딩, 서브넷 분리, 방화벽 직접 구성 |
ELB (ALB/NLB) | nginx 리버스 프록시 + 포워딩 설정 |
EBS | 디스크 파티션 분할 및 마운트 |
Route53 | DDNS 또는 공인 IP 기반 도메인 연결 실습 |
NAT Gateway | 공유기 NAT 설정 → 내부망에서 외부 인터넷 접속 |
SSH | 공개키 기반 SSH 직접 구성 |
Docker | 직접 설치 + 컨테이너와 호스트 OS의 관계 이해 |
이처럼 AWS의 모든 기능이 실제로 어떻게 구현되는지를 직접 구성해보는 것이 온프레미스 실습의 본질이다.
예를 들어, AWS에서 그냥 클릭 한 번이면 되는
NAT Gateway가 사실은
라우터 + 포트포워딩 + 방화벽 설정의
조합이라는 걸 직접 알아봐가고 그러고 싶다는 거짐
이 실습의 목표부터 세워보쟈
3. 목표 세우기
“집에 구축한 Ubuntu 서버에 웹 애플리케이션을 배포하고,
전 세계 어디에서나 https://example 도메인으로 접근 가능하게 만들기.
이 과정에서 AWS가 제공하는 주요 네트워크 및 보안 요소들을
직접 구현하고 그 구조와 작동 원리를 체득한다.”
=> 혹시나 공격의 대상이 될까봐 도메인 이름은 example로 대체합니다.
4. 환경 준비
일단... 환경 구성하기 전 준비물이 있다.
- 필요한 준비물
- 서버로 사용할 노트북 또는 데스크탑 1대 (나는 LG 노트북을 사용했당)
- usb (ISO파일 다운받아야 해서 최소 4GB 이상)
- 리눅스 배포판 ISO 파일 (Ubuntu 추천)
- Rufus (USB 부팅 디스크 제작 도구)
- 안정적인 인터넷 연결
⚠️ Rufus가 왜 필요한가
=> ISO는 단순 파일이 아니라, OS 부팅을 위한 디스크 이미지임.
단순히 USB에 복사한다고 부팅되지 않습니다.
이를 부팅 가능한 USB로 만들어주는 도구가 Rufus 라고 아시면 됩니다.
5. Ubuntu 설치 디스크 제작 (USB 부팅)
5_1. usb에 ubuntu 설치파일 다운 ⇒ rufus 로 실행
- https://ubuntu.com/download/desktop ubuntu 다운로드
⇒ 이거 미국 공식 사이트라 왕 느리다
⇒ 한국의 CDN 같은 mirror 사이트라고 1시간 걸릴일 1분만에 한다는 것을 알려준 알찬 개발자님이 계신 서쪽으로 108배를 .. ㅎ
5_2. Rufus로 USB 부팅 디스크 만들기
- USB 부팅 드라이브 만들기
- Rufus 다운로드
- Rufus 공식 사이트에서 Rufus를 다운로드하고 실행.
- USB에 부팅 가능한 리눅스 설치 드라이브 만들기
- USB 드라이브를 노트북에 연결.
- Rufus를 실행하고, 아래와 같이 설정:
- Device: USB 드라이브 선택
- Boot selection: Disk or ISO image 선택하고, Download한 리눅스 ISO 파일을 선택.
- Partition scheme: MBR (UEFI/BIOS 모두 지원)
- File system: FAT32 선택
- Cluster size: Default로 두고, Start 버튼 클릭 → 부팅 가능한 USB 생성
- Rufus가 자동으로 USB 드라이브에 부팅 가능한 리눅스 설치 파일을 생성.
- 설치 후 USB는 BIOS에서 OS로 인식되며, Ubuntu 설치 가능
=> 이 과정을 하는 이유는,
- 윈도우든 리눅스든 운영체제는 다른 OS가 없으면 스스로 설치 못 함
- 그래서 USB에 ISO 파일을 굽고, BIOS에서 USB로 부팅해서 설치함
- Rufus는 그 ISO 파일을 USB에 부팅 가능하게 포맷해주는 도구
- 이 USB는 이후 노트북 전원을 켰을 때, OS처럼 인식되고 부팅됨
- 이 파일의 확장자가 .iso. (우분투 파일) 그래서 “ISO 파일”이라고 부른다.
- 이걸 그냥 USB에 복사해 넣는다고 부팅되진 않는다. → Rufus가 이 ISO를 USB에 ‘부팅 가능하게’ 구워주는 것!!!
6. window os 삭제
- 노트북 끄고 usb에 설치된 ubuntu 노트북에 연결
- 전원 켜고 f2랑 delete 연속 연타 → BIOS 진입
⇒ gpt 멍청한 자식 전원 끄고 하라더니 켜고 하는 거자나 ㅡㅡ
linux os 설치
https://andrewpage.tistory.com/388 => 이거보고 설치했습니답
자잔
우분투 설치 완..
Ubuntu 설치는 각 장비 및 BIOS 설정에 따라 차이가 있어 감으로 진행해야 한다고 하는데 어후ㅜ후 . .
마무리: 왜 이런 실습을 하냐면…
클라우드 서비스는 무척이나 편하지만 굉장히 많은걸 추상화 하고 있기 때문에
개발자 입장에서 네트워크, 보안, 운영 시스템의 본질을 파악하지 못한 채 추상화에만 의존하면,
문제 발생 시 근본 원인을 분석하지 못하게 될 거 같았어요
온프레미스 실습으로 그 추상화된 구조들을 한 땀 한 땀 뜯어보고 직접 구축하면서,
가발자에서 찐발자가 되고싶은 것 그게 다입니답.
다음 글에서는,
이번에 구축한 Ubuntu 온프레미스 서버에 올린 프로젝트를
외부 네트워크 환경에서 내부 IP로 접근 가능하도록 설정하는 과정을 다룰 예정입니답.
즉, 내부망에 있는 개발 서버를 외부에서 접속 가능하게 만드는
포트 포워딩, 방화벽, 공유기 NAT 설정 등
네트워크 레이어의 핵심 개념을 실습을 통해 직접 다뤄볼 예쩡 !!
'OS' 카테고리의 다른 글
4. HTTPS 인증서 및 도메인 연결 (0) | 2025.06.20 |
---|---|
3. 온프레미스에서 FQDN 구축하기: 유동 IP 환경에서 DDNS + 도메인 네임 서비스 구성 실습 (1) | 2025.06.11 |
2. 외부에서 내부 Ubuntu 서버에 접근하기 – 포트 포워딩과 방화벽 설정 (1) | 2025.05.29 |
온프레미스를 내가 왜 해야 할까 (0) | 2025.05.10 |