
지난 [홈랩 구축기] 2️⃣ - Software편 에 이어 마지막 단계입니다. 하드웨어 결합, 소프트웨어 설치를 완료했으니 마지막으로 네트워크 설정만 해주면 기본적인 홈랩 구성이 완성될 것 같습니다. Port Forwarding은 퍼블릭 키 및 네트워크 보안을 좀 더 공부하고 도입하면 좋을 것 같기에 우선, Tailscale(무료)을 사용하여 간단한 VPN 설정을 했습니다. 이후 고정 IP 설정을 해주었습니다.
🤔 왜 VPN(Tailscale) 설정부터 했나요?
연달아 작업한다면 순서는 크게 상관 없을 것 같습니다. (공유기에서 자동으로 할당받는 DHCP IP의 Lease Time(유효 기간)은 제조사마다 약간의 차이는 있지만 일반적으로 2시간 ~ 24시간 사이입니다. + 장치가 계속 연결되어 있다면, 임대 시간의 50%가 지나는 시점에 기간을 연장하기도 합니다.)
그렇지만 저는 SSH 접속이 끊길 위험을 대비해 외부 접속(VPN, Tailscale)을 먼저 확보하고, 그 후 내부 네트워크 설정(고정 IP 등)을 했습니다.
순서
- Tailscale로 간단하게 VPN 설정
- 고정 IP 할당
Tailscale: 복잡한 VPN 설정 없이 클릭 몇 번으로 외부 접속 환경을 만들 수 있습니다.

sudo tailscale up

Connect 버튼을 누릅니다.
Login successful 이라는 메시지와 함께 노드가 Tailnet에 등록됩니다.📌 Tailnet: Tailscale을 통해 구성된 Virtual Private Network

node01, node02, node03 모두 온라인인 것을 확인할 수 있습니다.공유기에서 IP가 바뀌면 클러스터가 깨질 수 있기 때문에 이를 방지하기 위해
nmcli도구로 IP를 수동으로 고정합니다.
🤔 nmcli 란?
Network Manager Command Line Interface.
리눅스 시스템의 네트워크 설정을 관리하는NetworkManager를 CLI 환경에서 제어하기 위한 도구입니다.
Device(장치): 랜카드나 와이파이 칩셋 같은물리적 하드웨어자체를 의미합니다.(eth0, wlan0 등)Connection(연결): 특정 IP 정보나 보안 설정이 담긴논리적 프로필을 의미합니다.(Wired connection 1 등)

nmcli connection show

# 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(자동 할당) 설정으로 돌아갈 수 있습니다. 그래서 확실한 고정을 위해 다음 단계인영구 설정이 반드시 필요합니다.

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
hostname -I # (대문자 I 입니다.)

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

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

