[홈랩 구축기] 3️⃣ - Network편(간단)

developowl·2026년 1월 7일

Homelab

목록 보기
3/4
post-thumbnail

지난 [홈랩 구축기] 2️⃣ - Software편 에 이어 마지막 단계입니다. 하드웨어 결합, 소프트웨어 설치를 완료했으니 마지막으로 네트워크 설정만 해주면 기본적인 홈랩 구성이 완성될 것 같습니다. Port Forwarding은 퍼블릭 키 및 네트워크 보안을 좀 더 공부하고 도입하면 좋을 것 같기에 우선, Tailscale(무료)을 사용하여 간단한 VPN 설정을 했습니다. 이후 고정 IP 설정을 해주었습니다.

🤔 왜 VPN(Tailscale) 설정부터 했나요?

연달아 작업한다면 순서는 크게 상관 없을 것 같습니다. (공유기에서 자동으로 할당받는 DHCP IP의 Lease Time(유효 기간)은 제조사마다 약간의 차이는 있지만 일반적으로 2시간 ~ 24시간 사이입니다. + 장치가 계속 연결되어 있다면, 임대 시간의 50%가 지나는 시점에 기간을 연장하기도 합니다.)

그렇지만 저는 SSH 접속이 끊길 위험을 대비해 외부 접속(VPN, Tailscale)을 먼저 확보하고, 그 후 내부 네트워크 설정(고정 IP 등)을 했습니다.

순서

  1. Tailscale로 간단하게 VPN 설정
  2. 고정 IP 할당

1. Tailscale로 간단하게 VPN 설정

Tailscale: 복잡한 VPN 설정 없이 클릭 몇 번으로 외부 접속 환경을 만들 수 있습니다.

1-1) Tailscale 서비스 시작

sudo tailscale up
  • VPN 설정(Tailscale)을 할 노드에 접속한 후, 위 명령어를 입력하여 Tailscale에 접속합니다.
  • 인증이 성공적으로 되었다면, 출력된 URL로 접속을 해줍니다.

1-2) Tailscale 웹 인증

  • 화면에 나타난 Connect 버튼을 누릅니다.

1-3) Tailscale 연결 성공

  • Login successful 이라는 메시지와 함께 노드가 Tailnet에 등록됩니다.

    📌 Tailnet: Tailscale을 통해 구성된 Virtual Private Network

1-4) Tailscale 대시보드 확인

  • (나머지 노드들도 같은 작업을 반복해주었습니다.)
  • Tailscale 관리창(대시보드)에서 node01, node02, node03 모두 온라인인 것을 확인할 수 있습니다.

2. 고정 IP 할당

공유기에서 IP가 바뀌면 클러스터가 깨질 수 있기 때문에 이를 방지하기 위해 nmcli 도구로 IP를 수동으로 고정합니다.

🤔 nmcli 란?

Network Manager Command Line Interface.
리눅스 시스템의 네트워크 설정을 관리하는 NetworkManager 를 CLI 환경에서 제어하기 위한 도구입니다.

  • Device(장치) : 랜카드나 와이파이 칩셋 같은 물리적 하드웨어 자체를 의미합니다.(eth0, wlan0 등)
  • Connection(연결) : 특정 IP 정보나 보안 설정이 담긴 논리적 프로필을 의미합니다.(Wired connection 1 등)

2-1) 연결 이름 확인

nmcli connection show
  • 위 명령어를 사용하야 현재 사용 중인 유선 네트워크 이름(ex: Wired connection 1)을 확인합니다.

2-2) 임시 적용 테스트

# eth0 장치의 네트워크 설정(IP, Gateway 등)을 '메모리상에서 즉시 수정'
sudo nmcli device modify eth0 \
  ipv4.addresses <할당할 임시 IP 주소> \
  ipv4.gateway <공유기 주소> \
  ipv4.dns "8.8.8.8" \
  ipv4.method manual
  • device modify eth0: 물리적 장치인 eth0를 대상으로 설정을 즉시 변경
  • ipv4.addresses <할당하고 싶은 고정 IP> : 할당하고 싶은 고정 IP 주소를 입력
  • ipv4.gateway <공유기 주소> : 공유기의 주소인 게이트웨이를 지정.(외부 인터넷으로 나가는 통로)
  • ipv4.dns : 도메인 이름을 IP로 변환해주는 DNS 서버. (8.8.8.8 - 구글 등을 주로 사용)
  • ipv4.method manual : IP 할당 방식을 자동(DHCP)이 아닌 수동(고정IP)으로 확정짓는 옵션
# 수정된 설정값들을 네트워크 연결을 끊지 않고 '장치에 즉시 다시 적용(동기화)'
sudo nmcli device reapply eth0
  • device reapply eth0: modify로 바뀐 설정값을 네트워크 중단 없이 장치에 즉시 반영

위 명령어들을 사용하여 장치 레벨에서 IP를 즉시 변경해보았습니다.
(\(백슬래시) 의 경우 가독성을 높여주는 기호이기 때문에 한 줄로 쭉 이어서 작성해도 무방합니다.)

  • 이 방식(임시 적용)은 장치를 직접 건드리기 때문에 속도는 빠르지만 일시적일 수 있습니다.
  • 설정이 꼬였을 때 재부팅만으로 복구가 가능하다는 장점이 있기 때문에 테스트용으로 적합합니다. (한 번쯤은 해보고 싶었습니다.)

🤔 왜 '임시'인가요?

device modify 는 장치의 현재 상태만 건드리는 방식입니다. 설정 파일을 직접 수정한 것이 아니기 때문에, 재부팅 한다면 DHCP(자동 할당) 설정으로 돌아갈 수 있습니다. 그래서 확실한 고정을 위해 다음 단계인 영구 설정 이 반드시 필요합니다.

  • 재부팅 후에도 유지되는 영구적인 설정을 이어서 진행했습니다.

2-3) 영구 설정 적용

sudo nmcli connection modify "Wired connection 1" \
ipv4.addresses <할당하고 싶은 고정 IP> \
ipv4.gateway <공유기 주소> \
ipv4.dns "8.8.8.8" \
ipv4.method manual
  • connection modify "Wired connection 1" : 지정한 네트워크 프로필의 설정을 수정하겠다는 선언
  • ipv4.addresses <할당하고 싶은 고정 IP> : 할당하고 싶은 고정 IP 주소를 입력
  • ipv4.gateway <공유기 주소> : 공유기의 주소인 게이트웨이를 지정.(외부 인터넷으로 나가는 통로)
  • ipv4.dns : 도메인 이름을 IP로 변환해주는 DNS 서버. (8.8.8.8 - 구글 등을 주로 사용)
  • ipv4.method manual : IP 할당 방식을 자동(DHCP)이 아닌 수동(고정IP)으로 확정짓는 옵션

위 명령어를 사용하여 재부팅 후에도 유지될 고정 IP 정보를 입력합니다.
(\(백슬래시) 의 경우 가독성을 높여주는 기호이기 때문에 한 줄로 쭉 이어서 작성해도 무방합니다.)

  • 주의) 설정 파일을 수정하는 것만으로는 즉시 반영이 되지 않기 때문에 아래 명령어를 입력하고, 검증하는 과정을 거치면 좋습니다.

    # 설정 적용 (연결 재활성화)
    sudo nmcli connection up "Wired connection 1"
    
    # 시스템 재부팅
    sudo reboot

2-4) 최종 확인

hostname -I # (대문자 I 입니다.)

  • 위 명령어를 입력하여 IP가 변경되었음을 확인합니다.
  • 앞의 IP는 내부 고정 IP, 뒤의 100으로 시작하는 IP는 Tailscale 가상 IP입니다.

마무리

이제 집 와이파이(홈서버와 동일한 네트워크)를 사용하지 않더라도 외부에서 홈서버에 접속할 수 있게 되었습니다.

  • 이제 홈서버를 가지고 이것저것 해볼 일만 남았네요.

💡 아 그리고 아마존에서 클러스터 랙이 안전하게 도착하였습니다. (랜선과 전원 케이블의 길이를 잘못 측정하여 책상 한 켠에 홈랩을 두게 되었습니다..)

  • 홈랩 구축 소식을 듣고 홈서버 무사고 기원을 위해 여자친구가 붕어빵 풍경(안전을 기원하는)을 선물해주어 달아주었습니다.
profile
Don’t get mad at the computer.

0개의 댓글