0. 홈 서버 용 하드웨어 준비

1. Linux OS 설치

  $ sudo apt-get update
  $ sudo apt-get upgrade
  • LAN card logical name 확인
  • Local IP 확인
  $ sudo lshw -c network
  $ ip a

2. ssh 연결

  • server에 접속할 기기를 server가 연결된 공유기 network 에 연결
  • Window PC에서는 WSL 이용
  $ ssh <username>@<ip>
  • iPad, iPhone 등 apple 기기에서는 Termius 이용
  • 이제 서버 에 연결된 모니터와 키보드를 제거해도 ssh 접속으로 서버를 제어할 수 있다.

3. Ubuntu 보안 강화

  $ ssh <username>@<ip> -p <port>
  • service 이름(ssh)에 mapping된 port 번호 수정
  $ sudo vi /etc/services
  • 설정 적용을 위한 재시작
  $ service ssh restart
  $ sudo reboot
  • 방화벽 활성화
    • https://nitr0.tistory.com/326
    • ufw 설치 (Ubuntu 설치 시, 기본으로 포함되어있을 수 있음)
    • 활성화 하지 않음면 기본으로 꺼져있음
  $ sudo apt-get install ufw
  • 수정된 port를 허용하고 기본 ssh port인 22번을 제한
  • ssh 서비스 허용
  $ sudo ufw allow <port>
  $ sudo ufw allow ssh
  $ sudo ufw deny 22
  • ufw 활성화
  $ sudo ufw enable

4. 외부로 port 열기 (port fowarding)

※ 주의: port fowarding을 적용하면 즉시 서버가 외부에 노출되므로 반드시 보안강화를 먼저 진행한 후 port를 열어준다.

  • 우리집 공인 IP 확인
    • Server와 같은 공유기에 연결된 PC에서 네이버 접속
      • 네이버 검색창에 내 아이피 검색
      • 또는 Ubuntu server에서 아래의 명령어 입력
  $ curl ifconfig.me
  • 공유기 설정에서 port forwarding
    • NETGEAR 제품의 경우 설정 주소는 192.168.1.1
    • 고급 설정에서 포트포워딩 설정 가능
  • 서비스 이름은 단순 구분을 위한 이름이므로 아무거나 선택
  • 내부 IP 주소에 server의 local IP를 입력하고 추가 버튼 클릭
  • 추가된 항목 선택하여 세부 설정
  • 서비스 종류는 TCP 선택
  • 외부와 내부 동일한 포트 범위 사용을 선택하고, ssh용으로 변경한 포트번호 입력
  • 이제 공인 IP를 통해 어디서든 집에 있는 server에 접속할 수 있다.
  $ ssh <username>@<공인ip> -p <port>

99. Ubuntu 추가설정(optional)

By rammie

안녕하세요! 취미로 개발하는 직장인입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다