배포를 위한 홈서버 구축하기(포트 포워딩)

10000DOO·2023년 2월 21일
2

YouHaveTo

목록 보기
5/12
post-thumbnail

📌 홈서버 구축 계기

이번에 프로젝트를 진행하면서 중간중간 지속적으로 배포를 진행하고 있습니다.

  1. 처음에는 aws ec2에 도커를 설치하여 스프링부트를 배포했고 데이터베이스는 RDS를 사용했다.
  2. 도커를 처음 사용하고 배워가다 보니 너무 신기하고 재밌어져서 데이터베이스 또한 도커를 사용해 ec2에서 실행시켰다. (도커를 통한 세팅 과정은 다음에 쓸 예정)
  3. 이때부터 슬슬 ec2의 램이 부족해서 버벅거리고 중간중간 멈추고 접속이 안되는 경우가 발생했다.
  4. 메모리 스왑을 통해 해결하긴 했지만 여유롭진 않았다.
  5. 젠킨슨을 통해 CI/CD를 해보려고 할 때 계속 멈추고 버벅거리는 현상이 다시 발생했다.

🤮이대로는 못하겠다!!!🤮

사실 aws도 1년이 다 돼가서 유료로 쓰기 좀 그런 마음도 있었습니다.

🧐집에 남는 랩탑에 리눅스를 설치해서 서버로 사용하자!!!🧐

📌 리눅스 설치

아예 윈도우를 지워버리고 리눅스를 설치해도 되지만 집에 윈도우를 사용할 수 있는 컴퓨터가 얘 하나라 듀얼부팅으로 세팅했습니다.
https://velog.io/@whattsup_kim/Linux-윈도우-리눅스우분투-듀얼부팅-세팅하기
이분 글을 참고하여 진행하였습니다.

📌 포트 포워딩

포트 포워딩이란 컴퓨터 네트워크에서 패킷이 라우터나 방화벽 같은 네트워크 게이트웨이를 통과하는 동안 네트워크 주소를 변환해주는 것을 의미합니다. 쉽게 말해 외부에서 접속이 가능하도록 하는 것입니다.

가장 먼저 일단 서버로 사용할 우분투와 인터넷 관련 세팅을 진행할 맥을 같은 와이파이에 연결했습니다.(리눅스만 사용해도 가능할거 같은데 저는 익숙한 맥으로 하다보니 두대로 하게 되었습니다.)

🔶 IP확인

먼저 ip주소를 확인하기 위해 우분투 터미널에서 아래 명령어를 실행시킵니다.

$ ifconfig

ifconfig: Command not found.와 같은 에러 메시지가 나온다면 net-tools를 설치합니다.

$ sudo apt install net-tools

이후 다시 ifconfig를 통해 ip를 확인할 수 있습니다.

다른 명령어를 통해서도 확인할 수 있습니다.

$ hostname -I


현재 ip는 192.168.35.155인 것입니다.
그리고 기본 게이트웨이는 맨뒷자리를 1로 바꾼 192.168.35.1입니다.

맥에서는 시스템 설정 -> WI-FI -> 세부사항에 들어가면 IP주소와 라우터라고 나오는 게이트웨이를 알 수 있습니다.

🔶 인터넷 설정

브라우저에 게이트웨이 주소를 입력하고 들어갑니다.(저는 192.168.35.1로 접속했습니다.)

그렇다면 이러한 사이트가 나올텐데 사용자ID : admin 비밀번호 : 공유기 유선 mac주소 뒷 6자리+_admin 으로 접속하시면 됩니다. 저기 외부IP주소는 기억해주세요.

접속 하셔서 고급설정을 누르시고 사진과 같이 해주시면 됩니다.

SKT 인터넷 사용 시 22번 포트로 접속이 안되는 경우가 종종 있다고 하여 저는 23번으로 바꿔서 진행 했습니다.

이후 외부IP:외부포트 번호 이렇게 접속하면 접속이 가능해집니다.
(8080은 스프링부트, 5432는 postgresql, 2323은 ssh접속을 위한 포트입니다.)

🎉원격 접속에 성공 했습니다!🎉

추가적으로 https://blog.dalso.org/article/ubuntu-20-04-lts-nework
이 글을 참고해서 사설IP를 고정시켰습니다.

이렇게 하셨는데 안되신다면 모뎀의 문제일 가능성이 높습니다. 저는 위에 단계에서 성공했지만 실패하신 분들을 위해 설명드리자면

현재 인터넷은 이런 상태로 연결되어 있습니다.
모뎀이 사설IP를 공유기에 할당해주는 것 즉 모뎀이 공유기 역할을 하고 있는 것이 문제이기 때문에 모뎀 관리자 페이지에 가서 모뎀의 모드를 브릿지 모드로 변경해주면 해결됩니다.

🚨브릿지 모드로 변경하면 초기화 전까지 관리자 페이지에 접속할 수 없습니다.🚨

자세한 방법은 https://comterman.tistory.com/1408 이분의 글을 참고하시면 도움이 될 것 같습니다.

다음에는 IP의 종류와 차이점에 대해서 정리해보도록 하겠습니다.

📚 참고 자료

https://ooeunz.tistory.com/104
https://velog.io/@whattsup_kim/Linux-윈도우-리눅스우분투-듀얼부팅-세팅하기
https://dongle94.github.io/ubuntu/ubuntu-check-ip/
https://hellodoor.tistory.com/140
https://www.youtube.com/watch?v=b-QRQTfyn0c&t=450s
https://blog.dalso.org/article/ubuntu-20-04-lts-nework

profile
iOS 개발자 지망생 https://github.com/10000DOO

0개의 댓글