OS

[Home Server] USB로 우분투 설치, 인터넷 연결, SSH 설정, 공유기 설정

ride-dev 2024. 5. 8. 21:41

제목

[Home Server] USB로 우분투 설치, 인터넷 연결, SSH 설정, 공유기 설정

관련 게시글

[Home Server] USB로 우분투 설치, 인터넷 연결, SSH 설정, 공유기 설정

[Home Server] SSH 서버-클라이언트 연결, 도커 설치

[Troubleshooting, Home Server] (LG U+)SSH 서버-클라이언트 연결 실패

[Troubleshooting, Docker] invalid referencd format, unexpected EOF

목차

  1. 들어가면서
  2. 우분투 서버 설치
  3. 인터넷 연결
  4. SSH 설정
  5.  (LG U+)공유기 설정

0. 들어가면서

집에 Mini PC를 구비하여 서버용으로 사용하고 있습니다.

환경이 구축된 aws를 활용하여 배포하는 것도 좋지만,

환경을 직접 구축하는 경험을 해보고 싶었습니다.

0.1 스펙

알리에서 16만원 후반에 구매했으며,

주요 스펙은 아래와 같습니다.

RAM 16 GB

SSD 512G GB

CPU N100

 

크기는 손바닥만해서 귀엽고 쓰기 편합니다.

MSA 개발 시에 약간 부담이 있지만,

웹 서비스 개발용으로 사용하기에 무리가 없습니다.

0.2 구조

공유기(LG U+)를 라우터로,

서버용 PC는 고유의 MAC 주소를 기반으로 고정 IP를 할당받을 것이며,

접속가능한 port를 선언하도록 합니다.

(사용하는 공유기 종류에 따라 설정이 달라질 수 있습니다)

1. 우분투 서버 설치

PC를 서버용으로 사용할 것이기에,

우분투 서버를 설치합니다.

우분투 서버는 GUI가 없습니다.

터미널이 불편하면 GUI를 설치할 수도 있습니다.

1.1 OS 설치

ubuntu server를 검색하여 다운로드 페이지로 들어갑니다.

설치가 완료되었으면, USB를 부팅용으로 변경합니다.

1.2 (부팅용)USB 설정 프로그램 설치

rufus 프로그램을 사용하여 USB를 부팅용으로 변경합니다.

설치가 완료되면,

1.3 USB 설정

rufus 프로그램을 실행하고,

Ubuntu server iso 파일을 선택합니다.

USB로 OS를 설치할 준비가 되었습니다.

1.4  USB로 설치

아래는 ppt로 만든 참고용 화면입니다.

(환경에 따라 정확하지 않을 수 있으며, 세세한 내용은 생략되었습니다)

1.4.1 부팅 설정

BIOS/UEFI 설정에 진입하기 위해,

PC를 부팅하면서 Del, F2, F10, Esc 등의 키를 누릅니다.

이후, USB가 첫 번째 순서로 부팅되도록 합니다.

1.4.2 부팅 및 OS 설치 시작

1.4.3 언어 및 키보드 설정

언어 설정을 합니다.

1.4.4 설치 타입 설정

우분투 서버 설치를 합니다.

최소한의 환경만 구축한다면, minimized 옵션으로 설치할 수도 있습니다.

1.4.5 네트워크 설정(연결 안됨 가정)

인터넷을 연결하여 관련 패키지를 설치합니다.

enp1s0은 유선랜,

wlp2s0은 무선랜입니다.

연결이 되지 않은 것을 가정하고 진행하겠습니다.

1.4.6 프록시 설정(없음 가정)

프록시 서버 또한 존재하지 않으므로 공백으로 진행합니다.

사용자가 패키지를 다운로드할 미러 서버를 설정합니다.

1.4.5 미러 설정

1.4.6 저장 공간 설정

OS 가 설치될 공간을 설정합니다.

논리적 저장공간(lv)에 모든 크기를 할당하여 초기설정을 단순화합니다.

사용하면서 공간을 나눌 일이 생기면, 그 때 설정합니다.

1.4.7 사용자 프로필 설정

원격 접속 등에 사용할 사용자 정보를 입력합니다.

1.4.8 우분투 프로 업그레이드 설정

1.4.9 SSH 설정

ssh 설정을 여기서 할 수도 있습니다.

나중에 따로 하도록 하겠습니다.

1.4.10 완료 및 부팅 옵션 변경

재부팅 시, 1옵션이 USB이기 때문에 설치 파일이 다시 실행됩니다.

따라서 부팅 시 USB가 먼저 시작되지 않도록 합니다.

minserver login: min
password: ********

앞서 설정한 정보를 바탕으로 로그인합니다.

2. 인터넷 연결(무선랜)

인터넷 연결에 가장 간단한 방법은 유선랜을 연결하는 것입니다.

상황에 따라 무선 랜을 사용해야 할 수도 있습니다.

아래는 무선랜 연결을 위한 단계입니다.

 

인터넷 연결 파일을 확인라고 수정합니다.

cd /etc/netplan
ls

 

파일을 수정하기 전, 백업 파일을 만듭니다.

sudo 명령어를 사용하여 관리자 권한으로 실행합니다.

sudo cp 50-cloud-init.yml 50-cloud-init.yml.backup

관리자 비밀번호를 입력합니다.

[sudo] password for min:

그리고 편집기를 사용하여 편집합니다.

편집기의 종류는 nano, vim, vi 등이 있습니다.

저는 vim을 사용하도록 하겠습니다.

sudo vim 50-cloud-init.yml

이 PC에는 유선 포트가 둘이 있고, wifi 연결이 가능합니다.

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp1s0:
            dhcp4: true
        enp3s0:
            dhcp4: true
    version: 2
    wifis:

개행에 주의하며 수정합니다.

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp1s0:
            dhcp4: true
        enp3s0:
            dhcp4: true
    version: 2
    wifis:
        wlp2s0:
            dhcp4: true
            access-points:
                "U+Net8507":
                    password: "비밀번호"
                "U+Net8507_5G":
                    password: "비밀번호"
                "myPhone":
                    password: "비밀번호"

아래 명령어를 사용하여 변경사항을 적용합니다.

sudo netplan apply

네트워크 인터페이스 정보를 확인하기 위해 net-tools를 설치합니다.

sudo apt-get update
sudo apt-get install net-tools

이제 ifconfig 명령어를 사용하여 네트워크 인터페이스 정보를 확인할 수 있습니다.

3. SSH, UFW설정

3.1 SSH 설정

3.1.1 설치

명령어를 사용하여 openssh-server 를 설치합니다.

sudo apt-get update
sudo apt-get install openssh-server -y

3.1.2 설치 확인

명령어를 사용하여 잘 설치되었는지 확인합니다.

sudo systemctl status ssh

3.1.3 세부 설정

세부 설정을 합니다.

마찬가지로 설정을 하기 전에 백업 파일을 생성합니다.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

ssh 포트는 기본적으로 22번을 사용하지만,

저는 2235를 ssh port로 사용하려고 합니다.

이번엔 nano 편집기를 사용하도록 하겠습니다.

sudo nano /etc/ssh/sshd_config

아래 내용을 변경합니다.

#Port 22
Port 2235

이제 ssh 서비스를 재시작하고,

상태를 확인합니다.

sudo systemctl restart ssh
sudo systemctl status ssh

3.1.4 재부팅 시 켜지도록 설정

이제 서버가 재부팅 될 때에도 ssh가 켜지도록 설정합니다.

자동으로 시작되게끔 설정되어 있는지 아래 명령어로 확인합니다.

sudo systemctl is-enabled ssh

아래 명령어로 자동 시작 되도록 합니다.

sudo systemctl enable ssh

이제 서버가 재부팅되어도 ssh가 실행됩니다.

3.2 UFW 설정

이제 방화벽 설정을 합니다.

ssh 포트, nginx 등 필요로 하는 포트를 열고,

ufw를 활성화합니다.

sudo ufw allow 2235/tcp
sudo ufw enable

4. (LG U+)공유기 설정

4.1 접속

LG U+ 공유기 설정 주소에 들어갑니다.

http://192.168.219.1/

패스워드는 와이파이 암호가 아닌,

 '관리자 웹 접속 암호' 로 공유기 아래에 표기되어 있었습니다.

4.2 IP 할당

상태정보 > DHCP 할당 정보 > DHCP 고정할당을 통해,

MAC 주소를 기반으로 내부 네트워크 에서 사용할 IP를 고정합니다.

공유기에 인터넷 게이트웨이가 있어 외부 인터넷 망과 연결됩니다.

공유기는 MAC주소를 기반으로 각 디바이스에 IP를 동적으로 할당합니다.

(DHCP는 동적으로 IP를 할당하는 것을 말합니다)

PC에서도 dhcp4: true로 하여 IP를 동적으로 할당받도록 합니다.

 

network:
    ethernets:
        enp1s0:
            dhcp4: true
        enp3s0:
            dhcp4: true
    version: 2
    wifis:

이렇게 할당된 IP는 PC 재부팅 후 고정됩니다.

4.3 포트포워딩

네트워크 설정 > NAT 설정 > 포트포워딩을 통해,

포트포워딩 설정을 합니다.

서비스 포트는 외부에서 라우터에 접근하는 포트입니다.

내부 IP 주소는 IP 할당 시 입력한 IP 주소를,

내부 포트는 서버에서 사용하는 포트를 입력합니다.

ssh가 기본적으로 22:22 이지만, 내부는 2235로 설정했습니다.

설정 적용을 클릭하여 적용합니다.

(설정 적용 시 공유기가 재부팅 되며, 공유기와 연결된 디바이스의 인터넷 연결이 마비됩니다)

728x90