맥미니로 홈 서버 세팅 완료!

이번에 홈 서버를 구축하게 되었다. 기존에는 AWS를 사용하면서 그리 좋지 않은 스펙임에도 꽤 많은 비용을 지불 했었는데, 이번 기회에 외부에서도 언제든 접근할 수 있는 서버 환경을 구축했다.
Mac Mini M1Home ServersshIPv4DNSdomainTermius
avatar
2025.05.30
·
6 min read

이번에 홈 서버를 구축하게 되었다. 기존에는 AWS를 사용하면서 그리 좋지 않은 스펙임에도 꽤 많은 비용을 지불 했었는데, 이번 기회에 외부에서도 언제든 접근할 수 있는 서버 환경을 구축했다. 나의 맥 미니 스펙은 다음과 같다: 16GB, 1TB, M1...

6495

홈 서버 세팅 계획

외부에서 SSH로 맥미니에 접속하고, 도메인을 통해 편리하게 접근하며, 모니터 없이도 24시간 프로그램들을 배포 및 운영할 수 있는 헤드리스 서버를 만드는 것이 목표였다.

SSH 설정 및 아이피 고정

우선, 맨 처음에는 터미널에서 sudo systemsetup -setremotelogin on 명령어로 시스템 환경설정에서 원격 로그인을 켜주었다. 그 후, 네트워크 설정에서 DHCP로 두면 IP가 계속 바뀔 수 있어서 포트 포워딩 설정이 무의미해질 수 있기 때문에 아이피를 IPv4로 변경한 뒤 수동으로 고정했다.

공유기 포트포워딩 설정

공유기 포트포워딩 설정을 해주었다. 공유기 관리 페이지에 들어가서 22번 포트를 맥미니의 내부 IP로 포워딩하는 설정을 추가했다. 이때 SSH 서비스가 정상 작동하는지 확인하기 위해 로컬에서 ssh username@192.168.x.x 방식으로 테스트를 진행했다.

중간에 맥미니를 다른 위치로 옮겼는데 갑자기 SSH 접속이 안 되는 상황이 발생했다. 로컬에서는 접속이 되는데 외부에서는 안 되는 것을 보니 맥미니를 옮기면서 공유기 전원이 껐다 켜지며 포트포워딩 설정이 초기화된 것 같았다. 다시 설정해주니 정상적으로 작동했다.

DNS와 도메인 연결

AWS Route 53을 사용해서 도메인을 연결했다. A 레코드를 만들어서 홈 서버 전용 서브 도메인을 만들어 해당 외부 IP와 연결했다. curl ifconfig.me 명령어로 외부 IP를 확인한 뒤 Route 53의 A 레코드에 추가했다. 그 후 nslookup 명령어로 DNS가 제대로 전파됐는지 확인했다.

컴퓨터 잠자기 설정 (헤드리스 서버 세팅)

모니터 없이 24시간 돌리기 위해 여러 설정을 해주었다. 시스템 환경설정의 에너지 절약에서 컴퓨터 잠자기를 끄고, 전원 후 자동 시작하기를 켰다. 터미널에서는 sudo pmset -a sleep 0 같은 명령어로 절전 모드를 비활성화했다.

외부 네트워크에서 접속

핸드폰에서도 SSH 접속을 해보고 싶어서 아이폰에 Termius를 설치하여 연결이 완료된 도메인에 접속을 시도해 봤다. 접근이 잘 안 되길래 봤더니 동일한 와이파이로 진행하고 있어서 안 되는 거였다. 휴대폰으론 데이터 환경으로 연결해 보았고, 노트북으론 핫스팟 환경으로 연결해 봤는데 다행히 둘 다 정상적으로 접근이 가능하였고 폴더 내의 명령어들도 정상 작동 하는것을 확인할 수 있었다.

결론

맥 미니로 홈 서버를 구축하는 것은 설정할 것이 많긴 했지만 하나씩 해결해나가는 재미가 있었고 네트워크 설정이나 DNS 같은 것들을 오랜만에 직접 다뤄 보니까 재미도 있었다. 이제 이 홈 서버에 각종 웹서버 배포, 개발 환경 구축, 파일 서버 등 비용 부담 없이 자유롭게 활용해 볼 수 있을 것 같다.







- 컬렉션 아티클