CS

[네트워크] DNS 서버, 포트 포워딩, 웹 서버 nginx

셰욘 2024. 11. 21. 18:45
728x90

DNS 서버

: 도메인 이름을 IP 주소로, IP 주소를 도메인 이름으로 변환해주는 서비스를 제공하는 프로그램

 

전세계 도메인이 엄청 많기 때문에 서버를 여러 개로 나눈다.

  • 루트 DNS 서버 : 전 세계 13대
  • 최상위 레벨 서버 : 모든 국가의 상위 레벨 서버 (com, org, net, kr, uk ...)
  • 책임 서버 : 인터넷을 통해 서비스를 제공하는 모든 기관이 가지는 서버 (naver, google, nate 등등)
  • 로컬 서버 : 사용자에게 직접적으로 도메인에 대한 질의를 받고 그에 대한 응답을 해주는 서버

'도메인을 산다' 라는 건? => 너네 DNS 서버에 내 주소 등록해줘!

 


포트 포워딩

특정 포트 번호를 통해 공유기한테 오면 (공유기의 외부 IP 주소로 오면)

가상 머신 IP 주소의 해당 포트(저장해놓은 IP 주소와 포트번호)로 보내주는 것

vmnet의 포트포워딩

 

참고로 포트 번호를 설정할 때 고유 포트 번호로 설정해놓으면 안 된다....

실습할 때 포트 번호를 123으로 설정해놨는데 안 돼서 애먹었다


웹 서버 nginx

웹 서비스

: 서버 컴퓨터에 저장되어 있는 파일을 클라이언트에 다운로드 받을 수 있게 해주는 서비스

웹 서버란? => 웹 서비스를 제공하는 프로그램!

 

nginx 설치

apt install nginx: 인터넷에서 파일을 찾아서 다운로드 후 설치

 

nginx 실행

systemctl restart nginx : 서비스로 등록되어 있는 프로그램 실행

 

nginx 서비스 상태 확인

systemctl status nginx : 프로그램이 어떤 상태인지 확인

- active : 정상

 

netstat

: 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구

1. net-tools 설치 : apt install net-tools

2. netstat -anlp | grep :80 : :80인 것만 뽑아서 보겠다

 

 

웹 서버를 브라우저에서 실행하기

[가상 컴퓨터 IP 주소]:80

짜잔

 

html 파일 만들어서 띄우기

 

1. cd /var/www/html
2. vi abc.html
3. [가상 컴퓨터 IP 주소]:80/abc.html


포트 포워딩을 통해 내 컴퓨터의 IP 주소로 웹 서버 띄우기

위에서 포트 포워딩을 통해 [내 컴퓨터 IP 주소]:1011 이 들어오면,

10.10.10.10:80 으로 보내주도록 설정해놨다. (사진 참고)

 

저렇게 설정해두면 내 컴퓨터의 IP 주소와 1011 포트 번호로 들어올 때,

10.10.10.10 (가상 컴퓨터 IP 주소)의 포트 번호 80 (웹 서버 주소)로 보내진다.

 

이렇게 하면 같은 LAN 안에 있는 컴퓨터들이 [내 컴퓨터의 IP 주소]:1011 을 통해 가상 컴퓨터의 웹 서버를 이용할 수 있다.

728x90