Home Lab 구축기 (1): WSL2, SSH, Docker, WOL

최규민

최규민

2025년 6월 10일1 분 소요

Home Lab 구축기 (1): WSL2, SSH, Docker, WOL
🌳
“WSL2에서 SSH서버를 띄우고, 컨테이너 환경에서 원격으로 개발하자!”
“집에 있는 컴퓨터 GPU를 카페에서 노트북으로 쓸 순 없을까?”

를 오랜 기간 고민했습니다.


2023년에 자대 신생 연구실의 스타팅 멤버로 합류하며, 직접 RTX4090 딥러닝 워크스테이션의 견적을 짜고, NVIDIA 드라이버와 CUDA, cuDNN을 설치하고, SSH 서버를 띄워 원격 접속 환경을 만들어 본 경험이 있었는데요,

당시에는 연구실 내부망에서만 접속할 수 있어서, 재택 근무를 할 때면 AnyDesk 같은 별도의 어플리케이션을 사용해야만 했습니다.


그래서 이번에는 ‘카페에서 딥러닝 하기’라는 꿈을 이루기 위해… 외부망에서도 접속할 수 있으며, WOL(Wake-On-LAN)을 이용해 이 서버의 전원을 원격으로 조정할 수 있는 환경을 집에서 구축해보기로 결심했습니다.

이왕 하는 거, 기존에 사용하던 Anaconda 환경을 쫙 밀어버리고, Docker로 컨테이너를 띄워 그 안에서 uv로 개발하는 환경까지 만들어 봅시다.



☁️공유기 설정

공유기 포트포워딩

  1. 192.168.0.1에 접속하여 공유기 설정에 접속합니다. admin 계정 로그인이 필요합니다.
  2. 포트포워딩 설정을 찾아,
    1. 외부 포트: 외부에서 접속할 때 사용할 포트 번호
    2. 내부 포트: WSL SSH 서버에 설정한 포트 번호 (다음 포스트에서 설정)
    3. 내부 IP: 서버로 사용할 데스크탑의 고정 IP
    4. 프로토콜: TCP

    로 설정합니다 (이름은 자유롭게 설정)

    💡
    외부 포트와 내부 포트를 동일하게 설정하면 관리가 편합니다.
    tplink의 예시
    tplink의 예시
    💡
    이 포트포워딩은 공유기(외부망 → 내부망) 수준의 설정입니다.
    Windows 내부의 포트포워딩(netsh portproxy)과는 별개이니 헷갈리지 마세요.

    Windows 쪽 설정은 추후 포스트에서 다루겠습니다.

데스크탑 IP 고정

  1. 192.168.0.1에 접속하여 공유기 설정에 접속합니다.
  2. IP 예약 기능 등을 이용해 서버로 사용할 데스크탑 MAC 주소를 내부망 특정 IP에 고정합니다.


MAC 주소는 데스크탑에서 아래 명령어로 확인할 수 있습니다.

bash
ipconfig /all

Wi-Fi 또는 이더넷 어댑터의 물리적 주소(Physical Address)가 MAC 주소입니다.


왜 이렇게 하나요?
내부망은 DHCP 서버에 의해 디바이스 별로 유동적인 아이피가 할당되기 때문입니다.
외부망의 노트북에서 내부망의 데스크탑 서버로 접속할 경우, 당연히 데스크탑의 IP주소가 고정되어 있어야 늘 잘 찾아가겠죠?


  • TP-link 기준으로 Advanced > Network > DHCP Server > Address Reservation에 있다.

(선택) DDNS 설정

통신사가 할당한 IP는 동적 IP이므로, 언제 외부 IP가 바뀔지 모릅니다.

우리는 외부망에서 접속할 예정이기에, 이 외부 IP가 바뀌게 되면 접속이 불가능해집니다.

따라서 Dynamic DNS를 설정하여, 외부 IP 대신 해당 DDNS 주소로 접속하도록 해야합니다.

tplink 공유기를 사용할 경우, 아래 링크에서 DDNS 설정 방법을 확인할 수 있습니다.

설정이 끝나면, 이제 외부에서 접속할 때 IP 대신 DDNS 주소를 사용하면 됩니다.

bash
# IP 직접 사용 (외부 IP가 바뀌면 접속 불가)
ssh -p {포트} user@123.456.789.0

# DDNS 사용 (IP가 바뀌어도 접속 가능)
ssh -p {포트} user@your-ddns.tplinkdns.com




다음 편에서는 WSL 설정을 알아보겠습니다🤗






최규민

최규민

AI Engineer

사파(邪派)식 AI-Native LLM SWE