[X205TA홈서버]넷북 홈서버 초기 설정하기

업데이트:

SIEGE_MODE

도입

시간에 여유가 좀 생겨서, 방치하고 있었던 우분투 넷북을 다시 꺼내들었다.
지금 관심있는 분야가 딱 DevOps 및 Infra라, 갖고 놀기 딱 좋다!
친구네 사무실 남는 공유기 포트에 연결해두고 갖고 놀기 위해서 설정해봤다.

전체적인 과정은 다음과 같다.

  1. 넷북 공유기에 연결시키기 (무선말고 유선으로 해뒀다, 안정적이고 빠르니깐)
  2. 서버용으로 사용하기 위한 우분투 관련 설정들
    1. 자동 화면 잠금 설정 제거
    2. 화면 덮어도 전원 안꺼지게 하기
    3. 우분투 CLI 모드로 부팅하기 (Server가 아닌 Desktop 버전으로 깔아서..)
  3. 서버로 쓰기 위한 초기 설정들
    1. Tlp를 설치해서 전력관리
    2. htop을 설치해서 모니터링
    3. ssh 설정
  4. 외부 네트워크에서도 접근하기 위한 설정들
    1. 공유기 외부 포트 접근 설정
    2. 공유기 DDNS 및 포트포워딩 설정

넷북 자리 잡기

별거 없다.
계속 켜둘거라서 전원 연결하고, 공유기 남는 포트에 랜선 연결한다.
다만, X205TA는 랜포트가 없기 때문에 USB-A 랜젠더를 사서 연결했다.

우분투 서버용 세팅

서버용으로 쓸 거라, 기본 설정대로 10분마다 화면 꺼진다던지,
화면 덮어두면 일정 시간 지나서 꺼진다던지 하면 안된다.
또한 GUI를 사용할 일이 없기 때문에 부팅할 때 아예 CLI 모드로 부팅하게 했다.
(Ubuntu Desktop에만 해당하는 이야기이다. Server 버전은 CLI만 깔림)

자동 화면 잠금 설정 제거

CLI 모드 쓰기 전에 그냥 GUI로 편하게 변경했다.
다음 링크를 참고했다.

화면 덮어도 전원 안꺼지게 하기

참고 링크
설정 파일 위치

1
/etc/systemd/logind.conf

1
2
3
4
5
6
7
8
9
# 해당 파일 vim으로 열기
$ sudo vi /etcsystemd/logind.conf

# 해당 설정 값(HandleLidSwitch) 주석 해제 후 변경하기
HandleLidSwitch=lock
#HandleLidSwitch=suspend

# 파일 저장 후 나와서 재시작
$ systemctl restart systemd-logind.service

HandleLidSwitch 옵션

  • lock : 모니터만 꺼짐
  • poweroff : 전원 꺼짐
  • hibernate : 최대 절전모드
  • ignore : 아무것도 하지 않음

우분투 CLI 모드로 부팅하기

참고 링크

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 설정에 앞서 백업하는 명령
$ sudo cp -n /etc/default/grub /etc/default/grub.orig
# 잘 안되면 되돌리는 명령
$ sudo mv /etc/default/grub.orig /etc/default/grub && sudo update-grub

# ----- 설정 시작 -----
# vim로 부트로더인 grub 설정 열기
$ sudo vim /etc/default/grub

# / 커맨드를 통해 아래 키워드들 검색

# 아래의 옵션 주석 처리
# GRUB_CMDLINE_LINUX_DEFAULT='quiet splash'

# text로 지정
GRUB_CMDLINE_LINUX="text"

# 주석 제거
GRUB_TERMINAL=console

# wq! (vim 저장하고 나옴)

# grub 변경사항 업데이트
$ sudo update-grub
# 시스템 설정 변경
$ sudo systemctl set-default multi-user.target
# 재부팅
$ reboot

grub 이란?
GNU 기반 OS에서 흔히 사용하는 부트로더 패키지

boot loader란?
OS가 시동되기 이전에 실행되면서, Kernal이 올바르게 시동되기 위해 필요한 모든 관련 작업들을 마무리하고, 최종적으로 OS를 시동하기 위한 목적의 프로그램

유용한 유틸리티 설치

TLP를 통한 전력관리 및 발열관리

TLP == Optimize Linux Laptop Battery Life

TLP is a feature-rich command line utility for Linux, saving laptop battery power without the need to delve deeper into technical details.
TLP’s default settings are already optimized for battery life and implement Powertop’s recommendations out of the box. So you may just install and forget it.
공식 문서 참조

그냥 설치하고 까먹어도 되는, 노트북 전력 관리를 위한 CLI 유틸리티이다.

1
2
3
4
5
6
7
8
9
10
11
12
# 패키지 저장소 추가
$ sudo add-apt-repository ppa:linrunner/tlp
$ sudo apt update
# 설치
$ sudo apt install tlp tlp-rdw

# 설치했으면 다음 부팅때부터 자동으로 실행됨
# 바로 쓰고 싶다면? 수동 실행
$ sudo tlp start

# TLP 상태를 확인하고 싶다면
$ tlp-stat -s

htop을 통한 넷북 모니터링

htop htop == an interactive process viewer
htop은 window의 작업관리자와 동일한 목적의 프로그램이다.
현재 cpu, memory 그리고 swap 상태를 확인하고,
실행중인 프로세스도 확인할 수 있다.

1
2
3
4
5
6
# 설치
apt-get update
apt-get upgrade
apt-get install htop
# 실행 (그냥 필요할 때 쓰면 된다)
$ htop

SSH 설정

systemctl?
systemd utility that is responsible for Controlling the systemd system and service manager

systemd?
Systemd is a collection of system management daemons, utilities, and libraries which serves as a replacement of System V init daemon

ufw?
Uncomplicated Firewall (UFW) is a program for managing a netfilter firewall designed to be easy to use

ssh 설치 후, systemd 반영 후, ufw 설정 변경

1
2
3
4
5
6
7
8
9
10
11
12
# macOS는 기본적으로 ssh-client 제공한다
# 따라서 서버에 ssh-server만 다운받으면 됨
$ sudo apt-get install openssh-server
# systemd ssh 설정
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
# ufw(방화벽) 설정
$ sudo ufw allow ssh
$ sudo ufw enable
$ sudo ufw status
# ssh 사용법
$ ssh [hostname]@[ip-addr]

외부 네트워크 접근 관련 설정들

이 글을 참고하여 설정했다.

공유기 관리자 페이지로 접속해서,
DDNS 설정해서 도메인 부여하고,
포트포워딩해서 ssh를 위한 22번 포트를 오픈했다.
추가적으로 외부에서 공유기를 설정하기 위한 포트도 오픈했다.

마치며

이제 진짜 EC2 인스턴스 처음 생성했을 때와 같은 상태로 사용 가능하다!

현재는 아이패드 termius를 이용해서 알고리즘 문제를 풀 때 사용 중인데, 이에 대한 설정 포스팅도 이어질 예정이다.

댓글남기기