🙋‍♀️ Infra

[미니 프로젝트] (2) - 미니 PC로 홈서버 구축하기

수댕ʕت̫͡ʔ 2025. 3. 4. 07:22

이제 우분투를 깔았으니 포트포워딩, 방화벽 설정, ssh 원격 접속 설정을 해주자.

 

우선 각 용어에 대한 개념 공부가 필요하다.

 

1. 포트포워딩 (Port Forwarding)

포트포워딩을 이해하려면 아래와 같은 개념을 알아야 한다.

 

1) 아이피 (Internet Protocol)

IP 주소는 네트워크에 연결된 장치를 식별하는 고유한 주소이다. 

예를 들어 컴퓨터, 서버 등이 IP 주소를 가지고 일반적으로는 숫자로 이루어져 있다.

 

2) 공인 아이피

공인 IP는 인터넷 서비스 제공업체에서 할당받은 IP 주소이다.

인터넷에서 고유하고 전 세계 어디서나 인터넷을 통해 접근할 수 있는 IP주소이다. 

 

3) 사설 아이피

사설 IP는 내부 네트워크 내에서만 사용되는 IP 주소이다. 

예시로 집, 회사 네트워크에서만 사용되는 것이다. 일반적으로 IP 주소 범위가 있고, 외부에서는 직접 접근할 수 없다. 

라우터를 통해서만 연결된다.

 

4) 외부 아이피

외부 IP는 공인 IP와 동일한 의미로 사용된다. 인터넷을 통해 외부에서 내부 네트워크로 접근할 때 사용하는 IP 주소이다.

 

5) 내부 아이피

내부 IP는 사설 IP와 동일한 의미로 사용된다. 내부 네트워크 내에서 장치들이 서로 통신할 때 사용한다.

 

6) 포트

포트는 네트워크 통신에서 특정 서비스를 식별하기 위한 번호이다. 

예를 들어 HTTP는 포트 80, HTTPS는 포트 443 이런식으로 번호를 설정할 수 있다.

 

그러면 포트포워딩은 뭘까!

포트포워딩은 외부 IP와 특정 포트를 내부 IP와 포트에 연결해 주는 작업이다.

 

그니깐 외부 아이피 : 포트번호 -> 내부 아이피 : 포트번호를 연결해준다는 의미이다.

내가 만약에 123.45.67.89:8080으로 외부에서 접속을 하게 되면, 내부 네트워크의 192.168.1.100:80 웹 서버로 연결되도록 설정한다는 것이다.

 

이렇게 설정하게 되면 외부 사용자가 공인 IP와 특정 포트를 통해서 내부 서버에 안전하게 접근할 수 있다.

 

2. 방화벽 설정을 왜 해줘야해?

원격 접속을 위해서는 방화벽을 설정해줘야한다. 

방화벽은 네트워크 보안을 위해서 외부와 내부 네트워크 간의 트래픽을 제어하는 시스템이다. 

나는 특정 포트, IP주소를 통해서만 연결을 허용하려고 하기 때문에 외부에서 접속하려는 포트는 방화벽을 열어줘야 한다.

 

3. ssh

SSH는 네트워크를 통해 다른 컴퓨터에 안전하게 접속할 수 있도록 도와주는 프로토콜이다. 나는 원격 접속을 통해 내 미니 PC에 접속하게 할 예정이다. 따라서 외부 네트워크가 내 미니 PC 네트워크에 CLI로 접속할 수 있도록 설정해 줄 것이다.

 


 

개념을 공부했으니 포트포워딩 작업을 먼저 해주자.

 

1️⃣ 포트포워딩 설정

나는 iptime 공유기를 사용하고 있기 때문에 기본 주소인 192.168.0.1 로 들어간다.

그러면 로그인 화면이 나오는데 보통 초기 아이디와 비번은 둘다 admin일 것이다.

그리고 들어가면 아래와 같은 화면에서 관리도구로 들어간다.

그리고 고정 IP를 설정해준다. 나는 192.168.0.2 ~ 192.168.0.10 까지 고정 IP로 설정해두고 내 미니 PC를 원하는 IP 주소로 지정해주었다.

 

이제 고급 설정 -> NAT/라우터 관리 -> 포트포워딩 설정에 들어가서 설정을 해주어야 한다.

 

추가 버튼을 클릭하고 SSH, TCP, 외부 포트, 내부 포트를 작성하고 저장을 눌러주면 끝이다!

 

2️⃣ 방화벽 설정

다음으로 방화벽을 열어준다. SSH 포트인 22를 열어주고, 외부 포트도 함께 열어준다.

# 방화벽 상태 확인
sudo ufw status

# SSH 포트 22 열기
sudo ufw allow 22/tcp

# 방화벽 활성화
sudo ufw enable

 

3️⃣ SSH 설정

그리고 SSH를 설치해주어야 하는데 아래와 같은 명령어로 설치를 해준다.

sudo apt update
sudo apt install openssh-server

 

설치가 완료되었다면 SSH 서비스를 시작해주고 상태를 확인한다.

sudo systemctl start ssh
sudo systemctl status ssh

 

이렇게 초록불이 들어오면 성공! 

 

원격 접속 성공!

 

그리고 다른 PC에서 원격접속을 시도하면...! 성공!!! 감격