만쥬의 개발일기
article thumbnail

킥오프 미팅이후, 메일로 다음 미팅 약속을잡은 뒤 우리는 강서구에 위치한 업체에 가서 나스를 업어왔다.

사실 나스 설치까지는 업체측에서 해주기로 했었는데, 좋은 경험이 될 것 같아 우리가 직접 하겠다고 나섰다.

(이후 굉장히 후회했다)

 


시놀로지 사의 DS223모델

 

나스를 직접 본 건 처음이었는데, 안에 2TB 하드 디스크가 꽂혀있었음에도 생각보다 더 작고 가벼웠다.

이게 40만원이 넘는다니,, 정말 탐난다.

나스의 초기 세팅은 이미 되어있는 것으로  전달받았으나, 계정 비밀번호가 유실되어 초기 세팅부터 직접 진행했다.

우선 NAS 뒤에 있는 reset 버튼을 눌러 초기화 후, OS 설치부터 진행하였다. NAS의 OS는 리눅스 기반 OS인 DSM이다.

이후 계정 생성등 초기 설정을 마친 뒤 (https://chelly.kr/synology/setting/1490/ <- 해당 블로그를 참고했다.)

서버실에 나스를 설치하기 이전 IP와 포트포워딩의 개념에 대해 공부하였다. (이전엔 네트워크 관련 지식이 전무했다!)


❓[공인 IP란?]

일단 ip 주소는 인터넷에 연결된 장치가 웹 서버와 통신하는 데에 사용된다.

이때 ip 주소에는 다양한 유형이 있는데 공인 ip는 다음과 같은 특징이 있다.

  • 인터넷 통신 목적으로 사용
  • 인터넷 업체가 직접 할당
  • 인터넷에서 식별 가능
  • 다른 IP 주소와 중복되지 않음

 

그리고 공인 ip는 한 번 더 고정ip와 동적 ip로 나뉘는데, 다음의 차이가 있다.

출처:&nbsp;https://nordvpn.com/ko/blog/public-ip-and-private-ip/

우리는 감사하게도 교수님의 도움으로 고정 ip인 공인 ip를 학교로부터 하나 할당받아, 서비스하기로 하였다.

보통 내 아이피를 확인하는 https://www.findip.kr/ 사이트에서 볼 수 있는 ip주소가 바로 이 공인 ip이다.

만약 우리가 개인 가정 혹은 회사의 공인 ip를 가지고 있고, 해당 공인 ip를 공유기에 입력해놓으면,

우리는 외부에서 공인 ip를 통해 해당 네트워크에 접속이 가능하다.


❓[사설 IP란?]

공인 ip와 다르게 사설 ip는 다음과 같은 특징이 있다.

  • 로컬 네트워크 통신 목적으로 사용
  • 네트워크 관리자 or 장치가 직접 할당
  • 인터넷에서 직접 식별 불가
  • 다른 네트워크에 존재하는 사설 ip 주소와 중복 가능성 有

하나의 공유기를 사용하는 전자 기기는 여럿이 될 것이다.

핸드폰, 데스크탑, 랩탑, 나스 등등..

그리고 홈 네트워크에 연결된 해당 장치들에 할당한 내부 IP 주소를 사설 IP 주소라고 한다.

사설 ip주소가 다른 네트워크의 ip주소와 중복되는 이유는, 각자의 내부 네트워크에서 사용되는 ip주소이기 때문이다.


즉, 우리가 외부에서 특정 네트워크에 존재하는 특정 기기 (이번 프로젝트에서는 학교에서 할당받은 ip주소를 통해 NAS의 사설 ip로 접근) 를 특정하기 위해서는 공인 ip ➡️ 사설 ip 라는 경로가 필요한 것이다.

 

👀네트워크 접근 예시

잘 이해가 안된다면, 예시를 하나 들어보자.

 


건국고등학교에는 "강만쥬.D.익스펙토페트로눔" 이라는 이름의 학생이 여럿 있다.
우리는 이 중 "3학년 2반 강만쥬.D.익스펙토페트로눔" 을 찾아 물건을 전달하고 싶다.
그렇다면, 우리는 해당 학생을 찾고자 경비실에 가서,
"3학년 2반" 이라고만 해서도 안되고,
"강만쥬.D.익스펙토페트로눔" 이라고만 해서도 안된다.
반드시 "3학년 2반 강만쥬.D.익스펙토페트로눔" 이라고 해야, 경비실은 내가 찾는 학생의 위치를 알려줄 것이다.

위 예시를 현재 상황에 대입해보면,

  • 건국고등학교 ➡️ 인터넷
  • 3학년 2반 ➡️ 공인 IP     (건국고등학교 3학년 2반은 고유하다.)
  • 강만쥬.D.익스펙토페트로눔 ➡️NAS의 사설 IP주소 (해당 이름은 인터넷 상에 여럿 존재할 수 있다.)
  • 경비실 ➡️ 주소창

이렇게 생각할 수 있다.

 

공인 IP와 사설 IP의 개념이 정립되었다면, 포트포워딩에 대해 배워보자.

 

❓포트포워딩(Port forwarding) 이란?

하지만 위의 예시처럼 직접 공인 IP와 사설 IP를 입력해서 들어가기 위해서는, 포트포워딩이라는 작업이 필요하다.

해당 개념을 이해하기 위해선 예시를 우선 보자.


건국고등학교는 보안이 철저해 이름만을 대며 막무가내로 찾아갈 수 없다.
따라서 강만쥬.D.익스펙토페트로눔 이라는 학생을 찾아가기 위해서는, 이름이 아닌 해당 학생의
고유 번호가 필요하다. 따라서 3학년 2반은 해당 학생에게 5000번이라는 번호를 부여했다.
드디어 우리는 경비실에서 해당 학생을 찾을 수 있다.

바로 3학년 2반 5000번 학생 ! 이라는 방식으로 말이다.
경비실은 잠시 고민을 한다. 내가 외부인이기 때문에, 해당 학생의 위치와 정보를 넘겨도 되는지 말이다.
하지만 내가 단순히 이름이 아닌, 그 학생에게 할당된 고유 번호를 알고 있기에 흔쾌히 위치를 넘긴다.
드디어 나는 3학년 2반 강만쥬.D.익스펙토페트로눔에게 접근할 자격을 얻은 것이다.

위 예시를 현재 상황에 대입해보면,

  • 번호 부여 ➡️ 포트 포워딩
  • 5000번 ➡️ 외부 접속 포트 (NAS로 연결할 수 있는 포트이다.)

만약 우리의 IP 주소가 114.70.29.55이라면, 우리는 이제 114.70.29.55:5000 을 주소창에 입력하면

우리의 NAS에 접속이 가능하다. 이게 바로 포트포워딩 작업이다.

만약 포트포워딩을 하지않는다면, NAS에는 접속이 불가능하다. 사설 IP주소를 안다고 해서 접속할 수 없기 때문이다.

반대로 말하면, 포트포워딩을 할 경우 외부에서 접속 가능하기 때문에 보안에 취약하므로, 특정 작업을 위해서가 아니라면

개인 네트워크에서는 함부로 하지 않는 것이 좋다.

 

❓포트 포워딩하는 방법

해당 글에서는 iptime 공유기로 접속하였다.

공유기 설정 주소는 제작한 회사별로 상이하다.

192.168.0.1에 접속하면 다음과 같이 iptime공유기 설정 창이 나온다.

보통 iptime의 초기 아이디 /비밀번호는 admin/admin이다. (최근 모 회사의 보안 이슈가 생각나는...)

 

로그인해서 들어가면, 다음과 같이 NAT/라우터 관리의 하위탭에 포트포워드 설정이 있다.

여기서 내 NAS 기기의 내부 IP주소를 내부 IP주소 입력칸에 넣어주고,

외부 포트에는 접속하고자 하는 포트번호 ex)8080 를 넣어주면 된다.

내부 포트(NAS의 포트)는 5000을 넣어주자.

 

이렇게 작업하고 나면, 

공인IP주소:8080으로 접속할 경우, 

자동으로 NAS의 5000번 포트로 연결해주는 것이다!

5000번 : DSM 접속 포트

5001번 : DSM 접속 https 포트 

 

❓ NAS의 사설 IP 주소 확인법

하지만 정작 우리 NAS 기기의 사설 ip 주소는 확인하지 못한 상태이다.

NAS의 설정 페이지로 들어가기 위해선, 우선 NAS와 같은 네트워크에 접속한뒤, 주소창에 다음과 같이 입력한다.

find.synology.com

여기서 내부 IP 주소를 확인 가능하다.

아니면, NAS에 연결한 뒤

제어판 ➡️ 네트워크 ➡️ 네트워크 인터페이스에 접속하면 다음과 같이 IP 주소를 확인할 수 있다.

 

이제 포트포워딩을 하는 법까지 학습했다. 하지만 우리는 해당 방법으로 진행하지 않고,

직접 NAS에 공인 IP를 할당하는 방법을 택했다.

 

why ?

➡️ 우선 학교 서버실에 공유기를 두기가 곤란하다.

➡️ 어차피 해당 공인 IP를 사용하는 기기는 NAS 한대 뿐이다.

  

따라서 우리는 NAS에 직접 공인 IP를 할당하기로 했다.

이렇게 할 경우, 비록 공인 IP는 NAS 혼자 사용하게 되었지만 NAS의 내부 포트들을

일일이 포트포워딩 해줄 필요가 없어서 편리하기도 하고, 공유기 또한 아낄 수 있다! 

 

자, 이제 학습은 끝이 났으니 서버실에 NAS를 설치하러 가보자.

 

 

 

 

profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!