[Ubuntu] 네트워크 접속 환경 구축 및 도메인 연결

Gogh·2023년 7월 8일
0

Ubuntu

목록 보기
4/4

현재 진행하고 있는 프로젝트를 배포하기 위한 자체 서버를 구축하였다.
네트워크(현재 HTTP)에서 접속 가능하도록 환경을 구축하고 도메인 연결하는 방법을 정리해 남긴다.

IP 주소, 네트워크

  • 네트워크에서 구축한 서버로 접근하려면 공인 IP 값이 필요하며, 이 IP주소를 활용하여 포트포워딩을 하고, 도메인 연결을 하려한다.
  • 구축한 서버는 고정아이피를 사용해야 하며, iptime 공유기는 자체적으로 와이파이 고정 IP를 할당 할 수 있다.
  • 나는 LAN 케이블을 연결하여 고정아이피를 사용한다.

서버의 공인 IP 확인

$ ip a


서버에서의 포트 포워딩

  • 모든 과정은 관리자 권한으로 명령어를 입력한다.

iptables 조회

$ sudo iptables -t nat -L --line-numbers

  • 현재 80 포트와 8080 포트의 포트포워딩을 설정해 놓은 상태라 위 화면과 같이 PREROUTING 항목에 리스트 업 되어 있다.

포트포워딩 설정

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 8080
  • 외부 IP의 8080 포트로 들어온 요청을 내부 IP 8080 포트로 Redirect 해준다.

  • 정상적으로 등록 되면 위 그림 같이 List에서 PREROUTING 항목에 등록 된다.

  • 포트포워딩 삭제(Optional)

    $ iptables -t nat -D PREROUTING [num 숫자]
    • 조회 하여 num 값으로 제거 할수 있다.

재부팅시에도 해당 설정 유지

# iptables 설정 관리 패키지 설치
$ sudo apt install iptables-persistent
# 현재 설정 저장
$ sudo netfilter-persistent save

공유기 포트포워딩

  • 서버에서 위 설정과 동일하게 적용하였는데 외부에서 아이피를 통해 접속이 안된다면, 공유기 설정 페이지에서 포트 포워딩을 해 주어야 한다.
  • 공유기 별 포트포워딩 방법은 너무 쉬우니 구글링 ㄱ

도메인 연결

도메인을 구입하여 구축한 서버에 연결하는 과정이다. DNS 레코드 A 태그 Name으로 분기하여 여러 프로젝트를 배포할 예정이다.

  • 도메인 구입은 생략한다. 나는 가비아에서 도메인을 구입하였다.

DNS 레코드 설정

  • DNS 관리 페이지로 이동

  • 서버 도메인의 DNS 관리 페이지로 이동

  • 레코드 수정 클릭 및 레코드 추가

    • 레코드 추가를 클릭하면 아래와 같은 화면을 볼수 있다.
    • 호스트 이름은 도메인주소 앞에 붙는 Name 태그다
    • 글의 처음에 확인 했던 서버의 공인 IP 주소를 입력 해 주고 확인 -> 저장을 한다.
  • 구매한 도메인은 suyoung-server.site지만, 위에서 등록한 레코드가 반영되면 service.suyoung-server.site로 네트워크 접속이 가능하다.

  • DNS 레코드 태그를 이용하여 서버의 포트별 여러개의 도메인으로 분기하여 Nginx 를 활용해 여러개의 프로젝트를 배포할 예정이다.


방화벽(UFW)

  • 방화벽 활성화

    $ sudo ufw enable
  • 8080포트 접속 허용

    $ sudo ufw allow 8080
  • 방화벽 상태 확인

    $ sudo ufw status

  • 현재 SSH 서버와 Nginx 설정 포트 등 여러 개의 포트가 허용 되어 있다.

  • 다음 블로깅에서는 실제 웹 백엔드 서버를 배포하고, Nginx 서버를 설정하여 여러 포트로 여러 프로잭트를 분기하는 작업을 정리할 예정이다.

profile
컴퓨터가 할일은 컴퓨터가

0개의 댓글