본문 바로가기

개발/웹 개발

풀스택 6일차

VirtualBox의 호스트 PC와 게스트 PC

호스트 PC

  • 정의: 호스트 PC는 VirtualBox 소프트웨어가 설치된 실제 컴퓨터이다. 호스트 시스템은 게스트 운영체제를 실행하기 위한 하드웨어 자원을 제공.
  • 역할
    • 하드웨어 자원 제공: CPU, 메모리, 디스크 공간, 네트워크 인터페이스 등
    • 버추얼박스 소프트웨어 실행: 가상 머신을 생성하고 관리하는 역할
    • 기타 작업: 호스트 운영체제에서 다른 작업을 수행하면서 동시에 가상 머신을 실행할 수 있음

게스트 PC

  • 정의: 게스트 PC는 버추얼박스 소프트웨어 내에서 실행되는 가상 머신(Virtual Machine, VM)입니다. 게스트 시스템은 가상 하드웨어 위에서 작동하는 운영체제와 애플리케이션을 포함한다.
  • 역할:
    • 가상 환경 실행: 호스트 시스템의 자원을 활용하여 독립적인 운영체제와 애플리케이션을 실행
    • 테스트 및 개발: 소프트웨어 테스트, 개발 환경 구성, 새로운 운영체제 학습 등에 사용
    • 격리된 실행: 호스트 시스템과 분리된 환경에서 애플리케이션을 안전하게 실행
0번 ~ 1023번: 잘 알려진 포트 (well-known port) 

1024번 ~ 49151번: 등록된 포트 (registered port)

49152번 ~ 65535번: 동적 포트 (dynamic port)

 

20  FTP
21  FIP(제어)
22  SSH
23  Telnet
25  SMTP
53  DNS
80  HTTP
443  HTTPS 

 

 

인바운드, 아웃바운드

인바운드, 아웃바운드 는 트래픽 네트워크 간에 이동하는 방향을 말하는데

  • 인바운드
    데이터가 서버 외부에서 내부로 들어오는 것
    ex) 서버에 파일 업로드
    인바운드(Inbound) 윈도우 방화벽의 기본 세팅은 모든 접속을 차단한다

 

  • 아웃바운드
    데이터가 서버에서 외부로 나가는 것
    ex) 첨부파일을 다운로드
    아웃바운드(Outbound) 윈도우 방화벽의 기본 세팅은 모든 접속을 허용한다

 

포트포워딩의 정의, 개념

포트포워딩(Port Forwarding)은 네트워크 라우터나 방화벽이 특정 포트로 들어오는 외부 네트워크 요청을 내부 네트워크의 특정 IP 주소와 포트로 전달하는 기술로, 이 방법을 통해 외부에서 내부 네트워크의 특정 장치나 서비스에 접근할 수 있다.

포트포워딩의 작동 방식

  • 외부 요청: 인터넷을 통해 특정 포트로 요청이 들어온다.
  • 라우터/방화벽: 라우터나 방화벽이 이 요청을 받는다.
  • 포트포워딩 규칙: 라우터/방화벽은 미리 설정된 포트포워딩 규칙에 따라 요청을 내부 네트워크의 특정 장치(IP 주소)와 포트로 전달한다.
  • 내부 장치: 내부 네트워크의 장치는 이 요청을 처리하고, 필요한 응답을 외부로 다시 보낸다.

 

우분투(리눅스) 기본 명령어

ls (list directory contents)   리스트 확인 

  • -l: 긴 형식으로 출력 (파일의 권한, 소유자, 파일 크기, 수정 시간 등 포함)
  • -a: 숨김 파일을 포함하여 모든 파일 출력
  • -h: 파일 크기를 사람이 읽기 쉬운 형식으로 출력 (예: 1K, 234M, 2G)

cd (change directory)   디렉토리 이동

  • cd -: 이전 디렉토리로 이동
  • cd ~: 홈 디렉토리로 이동
  • cd ..: 상위 디렉토리로 이동

pwd (print working directory)   현재 경로 확인

  • -P: 실제 경로를 표시 (심볼릭 링크 따라가지 않음)
  • -L: 논리적 경로를 표시 (기본값, 심볼릭 링크를 따름)

cat (concatenate)   파일의 내용 출력

  • -n: 각 줄에 번호를 붙여 출력
  • -b: 비어 있지 않은 줄에만 번호를 붙여 출력
  • -s: 연속되는 빈 줄을 하나로 압축

cp (copy)   복사

  • -r: 디렉토리와 그 내용을 재귀적으로 복사
  • -p: 원본 파일의 속성을 유지 (권한, 소유권, 타임스탬프 등)
  • -i: 대상 파일을 덮어쓰기 전에 사용자에게 확인

mv (move)   파일이나 디렉토리를 이동

  • -i: 대상 파일을 덮어쓰기 전에 사용자에게 확인
  • -u: 대상 파일이 없거나 소스 파일이 더 최신인 경우에만 이동
  • -v: 이동 과정의 진행 상황을 상세히 출력

rm (remove)   파일 삭제

  • -r: 디렉토리와 그 안의 내용을 재귀적으로 삭제
  • -f: 강제 삭제, 존재하지 않는 파일에 대해 오류 메시지 표시 안 함
  • -i: 각 파일을 삭제하기 전에 사용자에게 확인

mkdir (make directory)   디렉토리 생성

  • -p: 필요한 상위 디렉토리까지 함께 생성
  • -v: 생성된 디렉토리를 상세히 출력
  • -m: 새 디렉토리에 적용할 권한을 설정

rmdir (remove directory)   디렉토리 삭제

  • --ignore-fail-on-non-empty: 비어 있지 않은 디렉토리의 삭제 실패를 무시
  • -p: 지정된 디렉토리와 그 부모 디렉토리까지 함께 삭제
  • -v: 삭제된 디렉토리를 상세히 출력

'개발 > 웹 개발' 카테고리의 다른 글

풀스택 8일차 JavaScript  (0) 2024.08.05
풀스택 7일차  (0) 2024.08.02
풀스택 5일차  (0) 2024.08.01
풀스택 4일차  (0) 2024.07.31
풀스택 3일차 JS  (0) 2024.07.29