홈서버 설치에 대한 기록입니다.
홈서버 초기 설정은 아래 글 참고!
목차
1. 내부 IP 확인
ip를 확인하려면 아래 명령어로 가능하다.
# 이더넷 명, 현재 내부 ip 주소 확인
$ ifconfig
위 캡쳐로 예시를 들자면
- 이더넷 이름: en0
- 내부 IP 주소: inet (공유기를 사용한다면 192.168.0.xxx가 될것입니다.)
- ether: MAC 주소 (보안을 위해 아무데나 노출하지마세요.)
여기서 내부 IP 주소는 공유기를 사용한다면 변하게됩니다.
이를 홈서버의 내부 IP 주소가 변하면 원격 접속이 불편합니다. 고정해줄 필요가 있습니다.
2. 내부 IP 고정하기
아래와 같이 netplan의 설정파일을 열어봅니다.
# 만약 vim이 설치되어있지 않다면 설치
$ sudo apt-get install vim
# 아래 파일 열어 고정 ip로 수정
$ vi /etc/netplan/01-network-manager-all.yaml
그리고 아래와 같이 작성해줍니다. 작성 시, 이더넷 이름에 유의해야합니다.
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
en0:
addresses:
- 192.168.0.xxx/24 # 고정 ip 주소
nameservers:
addresses: [192.168.0.xxx, 8.8.8.8, 8.8.4.4] # 기본 게이트웨이 주소 포함
routes:
- to: default
via: 192.168.0.xxx # 기본 게이트웨이 주소, 보통은 192.168.0.1
이 후, 적용해봅시다.
# 네트워크 적용
$ sudo netplan apply
** (generate:3150): WARNING **: 11:29:49.911: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
** (process:3149): WARNING **: 11:29:50.186: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
** (process:3149): WARNING **: 11:29:50.298: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.
# 별다른 에러 메시지가 없다면 적용됨. 위 warning은 보안 경고 메시지.
# 변경되었는지 확인
$ ifconfig
# 인터넷 연결 확인
$ ping google.com
만약 변경이 안된다면
/etc/netplan 디렉토리 내에 다른 yaml파일은 없는지 확인해보세요. 설정이 겹칠수 있습니다.
3. 공유기에서도 IP 설정
공유기에서도 IP 충돌 방지를 위해 고정IP 설정해줍시다.
브라우저에서 192.168.0.1로 접속하여 ‘고급설정 - 네트워크관리 - 내부 네트워크설정’ 탭으로 이동합니다.
위와 같이 동적 ip 주소를 제한 시켜줍니다.
위 예시의 경우, 홈서버 ip를 192.168.0.51로 사용하고 나머지를 2~50으로 사용합니다.
그리고 하단에 공유기에서 연결중인 장비와 IP 목록이 표시됩니다.
하단에 홈서버도 잡힐 것입니다. 이를 수동 등록해줍니다.
4. 원격접근(ssh) 설정
홈서버를 접속할때 마다 연결된 모니터 마우스, 키보드를 이용할 수는 없기 때문에 원격 접근 설정이 필요합니다.
# ssh 설치
$ sudo apt update
$ sudo apt install openssh-server
# ssh 활성화
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
# ssh 상태 확인
$ sudo systemctl status ssh
방화벽도 설정해줍니다.
$ sudo ufw status
$ sudo ufw allow ssh
이제 아래와 같이 ssh 접근이 가능해집니다.
# 원격 접속을 수행할 pc에서 터미널을 열어 '사용자명@내부IP주소'로 연결
$ ssh 사용자명@192.168.0.xxx
단, 이 경우 내부 IP를 통한 접근이므로 동일 공유기를 사용하는 장비에서만 가능합니다.
외부 네트워크에서 접근을 하려면 별도 포트포워딩 설정이 필요합니다. (제 경우 따로 하지 않았습니다.)
'개발 이야기 > Etc' 카테고리의 다른 글
심플추구 개발자 맥북 초기 셋팅 정리 - 1 (0) | 2025.01.25 |
---|---|
홈서버 설치기 - (3) Wake On LAN 설정 (1) | 2024.09.23 |
홈서버 설치기 - (1) 조립PC와 OS 설치 (0) | 2024.09.22 |
[독서]도메인 주도 개발 시작하기 (0) | 2024.05.07 |
[독서] 대규모 서비스를 지탱하는 기술 (0) | 2024.04.13 |