본문 바로가기

TIL

[TIL-99] 생활코딩 WEB2-Home server 1~4

1. 수업 소개

  • 목표 : 공유기 사용 환경에서 웹서버 구동 방법.
    • 공유기에 연결된 컴퓨터에 불특정 다수가 접속할 수 있게 함.
    • 공유기에 연결된 컴퓨터를 웹서버로 이용하는 방법. 클라이언트에서 서버가 되는 것.
  • IP 주소와 공유기
    • IP 주소 등장
      • 인터넷 위에 있는 컴퓨터 간에 통신하기 위해 IP 주소(전화번호 같은 것) 필요. 과거에 IPv4라는 통신규칙이 만들어졌고, 42억개의 주소 만들 수 있었음.
      • 문제 : 근데 인터넷 연결 컴퓨터가 크게 증가하자, 주소 부족해서 새로운 가입자 받을 수 없게 됨.
      • 해결책 : 주소의 형식을 새롭게 바꿈. IPv6. 주소가 2823양....? 개나 가능해짐.
    • 공유기 등장
      • 하지만 주소 바꾸기 힘들어서 IPv4 아껴씀. 그러기 위해 공유기를 통해 같은 IP 주소를 여러 대의 컴퓨터가 나눠씀.
      • 공유기에 연결된 컴퓨터에 서버 설치해서 운영하는 것 어려움. network address translation, 공인 ip와 사설 ip, 포트 포워딩, 고정 ip와 유동 ip, 다이나믹 DNS 등 알아야 함.

 

2. 라우터(공유기)

  • IP 주소 : 인터넷 프로토콜 어드레스
    • 인터넷 사용하려면 컴퓨터가 IP 주소 갖고 있어야 함. 다른 컴퓨터와 통신하기 위해.
    • 클라이언트가 웹사이트에 접속해서 요청한 것에 서버가 응답하려면 요청한 컴퓨터의 IP 알아야 하기 때문. 요청할 때 같이 전달됨.
    • 통신사의 인터넷 케이블이나 와이파이를 통해 인터넷에 연결되는 순간 자동으로 IP 부여됨.
  • 공유기
    https://www.youtube.com/watch?v=3HEhifFPdIs&list=PLuHgQVnccGMA52uRBmSwqcvtI5IMoFclJ&index=2
    • 컴퓨터가 여러 대 있을 때는 통신사에서 회선을 추가로 계약하기보다, 공유기를 이용하면 됨.
    • 그럼 IP도 공유하게 됨. 통신사에서 발급 받은 IP는 공유기의 것이 됨.
    • 공유기 구조
      • WAN : 혼자 떨어진 구멍. 통신사랑 계약해서 들어온 인터넷 케이블 꽂는 곳.
      • LAN : 같이 붙어있는 구멍들. 각각의 장치들을 연결하는 곳.
      • 안테나 : 스마트폰 등의 기계에서 와이파이 쓸 수 있게 해줌.
    • 네트워크
      • 지역 네트워크(Local Area Network) : 하나의 공유기를 중심으로 같은 네트워크에 묶여있는 것.
      • 광역 네트워크(Wide Area Network) : 세계에서 가장 거대한 네트워크인 인터넷. 공유기는 지역 네트워크와 동시에 광역 네트워크에 소속됨.
      • 공유기는 LAN과 WAN 두 네트워크 사이의 중계자, 교환원 같은 기계.
    • Gateway/Router address
      • 지역 네트워크 안에서 각 컴퓨터들은 공유기에 연결되는 순간 IP 부여 받음.
      • 네트워크의 일부인 공유기에게도 IP 부여됨. 공유기에게 부여된 IP는 특수하고 중요하기 때문에 이렇게 부름.
    • 공인 IP 주소(public IP address) : 광역 네트워크 안에서 공유기로 접속할 수 있게 해주는 IP. 전세계 누구나 접속 가능하다는 뜻.
    • 사설 IP 주소(private IP address)
      • 공유기에 연결된 각 컴퓨터들에게 부여된 IP는 내선 번호 같은 것. 지역 네트워크 안에서만 쓸 수 있는 IP 주소.
      • IPv4 체계에 따라 존재하는 42억 개의 주소 중 192.168.0.0~192.168.255.255(65536개)는 사설 IP로 쓰임.

 

3. Network Address Translation

  • NAT : 사설 IP 쓰고 있는 컴퓨터들이 외부 인터넷에 접속할 수 있게 해주는 기술.
  • 클라이언트 입장에서 NAT 동작 방법 : 개별 컴퓨터가 위키피디아(외부 세계)에 접속하는 과정
    1. 게이트웨이 어드레스에 신호를 보내서 공유기가 받음.
    2. 공유기는 네트워크 밖(위키피디아)의 요청이므로 WAN 통해 외부로 보냄.
      1. 공유기 안에 요청 보낸 컴퓨터의 사설 IP 기록해둠.
      2. 요청한 컴퓨터의 사설 IP는 외부에서 접속할 수 없으므로 공유기가 NAT 기술을 이용해 요청한 데이터를 사설 IP에서 공유기의 공인 IP로 변경함.
    3. 요청 받은 위키피디아가 작업을 처리한 뒤 공용 IP에 해당하는 공유기에 응답함.
    4. 공유기는 받은 정보를 기록해둔 사설 IP를 쓰고 있는 컴퓨터에게 보냄.
  • 그럼 서버 입장에서 NAT는 어떻게 동작하나?

 

4. IP 주소 알아내기

  • 학습목표 : 라우터의 IP 주소를 알아내기. 지역 네트워크가 외부에서 어떤 IP 주소로 보여지는가.
  • 윈도우
    • 제어판 < 네트워크와 공유센터 : 접속상태 표현되는 곳에 케이블로 연결돼있으면 이더넷, 아니면 와이파이.
    • 클릭 : 설정과 제어 방법 나옴.
    • '자세히' 버튼 클릭
      • "IPv4 주소" : 이 컴퓨터 지역 네트워크 상의 IP 주소(사설 IP)
      • "IPv4 기본 게이트웨이" : LAN에서 라우터의 IP 주소(gateway address)
  • 리눅스 : 콘솔
    • ifconfig : "lo"와 "eth0(이더제로)" 나옴.
      • eth0 < "inet addr:10.0.0.4" : 컴퓨터 IP 주소
    • route
      • default - Gateway : 이 컴퓨터의 게이트웨이(gateway address)
    • 환경설정 < 네트워크 : 초록색 점이 있는 게 현재 연결된 네트워크.
    • 클릭 < 고급 < TCP/IP
      • IPv4 Address : 컴퓨터의 IP 주소
      • Route : 공유기의 IP 주소(gateway)
  • 공유기 접속 : 가족용 공유기 사용할 경우
    • 알아낸 공유기 IP 주소를 브라우저 주소창에 입력하면 공유기로 접속 가능.
    • 라우터 환경설정 : 로그인하고 도구 들어가면 됨.
      • 라우터에 연결된 컴퓨터에서 라우터에 관리자로 접속하여 라우터 동작 방법 등을 설정할 수 있음.
      • WAN 상에서 라우터의 IP 주소, 공인 IP 확인
        • 내부 IP 주소 : gateway address
        • 외부 IP 주소 : 네트워크의 공인 IP
          • 구글 검색하면 IP 알려주는 사이트 있음. 해당 서비스에 접속하면 우리가 어떤 IP 보냈는지 알려줌.