Day_02 (웹 서버, 포트 포워딩)

HD.Y·2023년 11월 1일
0

한화시스템 BEYOND SW

목록 보기
2/58
post-thumbnail

리눅스에서 네트워크 설정하기

  • Virtual Network Editor (가상 머신의 공유기 역할) 에서 관리자 권한으로 접속한다.
  • Name : VMnet8 / Type : NAT 을 선택한다.
  • Subnet IP : 77.77.77.0 (임의 지정) / Subnet mask : 255.255.255.0 로 설정한뒤
    Apply 한다.
  • 리눅스 서버로 돌아와서 vi /etc/sysconfig/network-scripts/ifcfg-ens160 를 입력하여 네트워크 설정을 변경한다.
  • BOOTPROTO : dnhs(자동) -> static(수동) / ONBOOT : no -> yes 로 변경해준다.
  • IPADDR는 VMware에서 Gateway 주소를 끝자리 2 로 자동 설정해주기 때문에
    Subnet IP인 0과 2를 제외한 255 이하의 숫자중에서 임의로 지정해준다.
  • NETMASK, GATEWAY, DNS1(임의로 8.8.8.8로 지정하였음) 을 설정해준뒤 저장한다.
  • 설정을 변경한 뒤에는 반드시 systemctl restart NetworkManager 를 실행하여 적용해준다.
  • 적용 후 IP 주소가 정상적으로 설정되었는지 ip addr 명령어로 확인해준다.
    • 만약 IP 주소가 이전 주소와 새로 설정한 주소 2개가 잡혀있다면 시스템을 재부팅
      ( init 6 해준다. )
  • 변경 후 통신이 잘 되는지 확인해준다. ( ping 8.8.8.8 )
    • 발생하는 대표적인 오류 2가지
      • destination unreachable : 특정 컴퓨터를 찾아가지 못할때 발생하는 오류
        (IP 설정 문제)
      • time exceeded : 특정 컴퓨터를 찾아갔지만 거부됬을때 (대부분 방화벽 문제)

리눅스에서 nginx (웹 서버) 설치 및 실행하기

  • 설치 명령어를 통해 nginx 를 설치해준다. ( yum install -y nginx )

  • 설치 후 설치된 프로그램을 확인해준다. ( rpm -qa | grep nginx )

  • nginx 를 실행해준다. ( systemctl start nginx )

  • 프로세스를 확인한다. ( ps -ef | grep nginx )

  • 포트번호를 확인한다. ( netstat -anlp | grep nginx )
    / 만약 명령어 실행이 안된다면 tool을 설치해준다. ( yum install -y net-tools )

  • 서비스 실행상태를 확인한다. ( systemctl status nginx )

  • 다음으로 가장 중요한 것은 "방화벽 해제" 이다. 현재 nginx는 80번 포트를 사용하고 있기 때문에 80번 포트를 허용해줘야 접속이 가능하다.

  • 방화벽 허용 후 내 IP 주소 : 77.77.77.121 를 입력하면 nginx 웹 서버로 접속이 되는것을 볼 수 있다.

포트 번호, html 파일로 접속 시도하기

  • nginx의 html 디렉토리로 이동한다. ( cd /usr/share/nginx/html )
  • 파일을 하나 생성한다. ( touch test.html )
    • 파일 내용은 임의로 작성한다. 나는 " hello world! " 로 작성하였다.
  • 다시 웹 서버로 접속해본다. ( 77.77.77.121:80/test.html )

포트 포워딩 설정하기

  • 포트 포워딩이란 ? (개인적으로 이해한 내용)

    • 사설 IP가 client 에게 보이지 않기 때문에 공유기에 포트 포워딩 설정을 함으로써 client 가 서버로 접속할 수 있도록 해주는 작업.
      결국 client는 공유기를 찾아감으로써 서버로 접속할 수 있게 됨.
    • 즉, 공유기에 [공인 IP 주소:호스트포트] 로 client가 찾아오면
      가상머신 [사설 IP 주소:가상머신의 프로그램 포트] 로 보내준다.
  • Virtual Network Editor를 관리자 권한으로 실행 후 VMnet8을 선택 후 NAT Settings 클릭한다.

  • ADD 를 클릭하여 아래대로 입력해준 후 적용한다.
    (호스트 포트 : 임의 지정 / IP 주소 : 가상 머신의 사설 IP 주소 / 가상 머신 포트 : 80)

  • 제대로 설정이 되었다면, 같은 공유기를 사용하는 다른 사람의 PC 에서 나의 윈도우
    IP 주소( 예시 : 777.777.0.777:7777/test.html )를 입력하면 웹 서버로 정상적으로 접속되는 것을 확인할 수 있다.

오늘의 과제 : 집에서 생성한 웹 서버를 교육장에서 접속 가능토록 구현

  • 과제는 위의 내용대로 설정을 끝낸 기준부터 시작하겠다.
  • 설정이 끝났다면, 포트 포워딩을 한번 더 설정해서 교육장에서 집 PC의 IP로 접근이 가능토록 해주면 된다.
  • 그러기 위해선 집 PC 공유기 관리자 화면으로 들어가 포트 포워딩 설정을 해준다.
  • 외부 포트 : 접속할 상대에게 알려줄 포트 번호이다. (임의로 지정)
  • 내부 IP 주소 : 집 PC의 윈도우 IP 주소이다. (cmd 창에서 ipconfig 명령어로 확인 가능)
  • 내부 포트 : 리눅스 가상머신에서 포트 포워딩 설정 시 지정했던 포트 번호
  • 다음으로 가장 중요한 것은 윈도우에서 내부 포트( 7777 )에 접근할 수 있도록
    방화벽을 허용해주는 것이다!!
    • 방화벽 고급 설정으로 들어가서 인바운드 규칙을 클릭한다.
    • 작업창에서 새 규칙을 클릭한다.
    • 7777 포트에 대한 규칙을 새로 생성한 뒤 방화벽을 허용해준다.
  • 휴대폰을 데이터로 전환한 뒤 인터넷 창에서 [ 외부 IP 주소:8282/test.html ] 를 입력하면 웹 서버로 접속되는 것을 볼 수 있다.
    • 외부 IP 주소는 윈도우 PC의 외부 주소를 말한다. (구글 검색 등 다양한 방법으로 찾을 수 있음)
profile
Backend Developer

0개의 댓글