네트워크(10) | NAT와 포트포워딩

Jihun Kim·2021년 10월 29일
0

네트워크

목록 보기
11/13
post-thumbnail

NAT(Network Address Translation)

  • TCP/UDP 포트 숫자와 소스, 목적지의 IP 주소 등을 재기록한다.
    👉 3, 4계층까지도 자신이 프로토콜을 다시 만듦
    👉 그 대신 다시 만들었다는 기록을 nat table에 해둠
  • 특정 IP 주소에 특정 포트 번호로 가는 패킷을 다른 IP 주소와 다른 포트 번호로 바꾸어 주는 것임
  • 사설 IP와 공인 IP를 서로 바꿀 때 주로 사용한다.
    👉 다른 식으로 응용 역시 가능하다!

  • NAT table에는 A 컴퓨터가 언제 밖으로 요청을 보냈는지 적어 두고, 해당 요청에 대한 응답이 있을 때만 패킷이 들어올 수 있게 된다.

포트 포워딩

  • 특정 IP 주소와 포트 번호의 통신 요청을 특정 다른 IP와 포트 번호로 넘겨주는 NAT를 응용한 기술이다.
    👉 3계층 장비에서 제공하는 기능
  • 보통은 클라이언트가 먼저 요청을 보내는데, 서버에 요청을 보내고 싶은데 서버가 사설 네트워크 대역에 있어서 보이지 않는 경우 이용할 수 있다.
  1. 일단 보내고자 하는 곳의 공인 IP(공인 IP 2)가 할당되어 있는 공유기로 패킷을 보낸다.
    👉 이 때, 해당 공유기에 포트 포워드 설정이 되어 있어야 한다.
  2. 공인 IP 2의 특정 포트(세팅한 사람 마음, 가령 1234)로 패킷을 전송한다.
  3. 공유기는 특정 포트(1234)로 들어온 요청을 내부 네트워크 대역 중 다른 특정 IP의 특정 포트(4321)로 전송한다.
    👉 일반적으로는 외부에서 들어온 포트 번호와 내부 포트 번호는 일치하게 설정한다.
  4. 그러면 사설 IP 대역에 있던 웹 서버로 패킷을 전달할 수 있다.(공유기가 전달해 주는 것이다.)

💡 포트 포워딩을 언제 사용할까?

가령, 다음과 같은 상황이 있을 수 있다.

내 컴퓨터에 VMware가 있다고 해 보자.
그리고 VMware에 아래와 같이 NAT 설정을 한다.

  • Host port: 9999
  • Type: TCP
  • Virtual Machine IP Address: 192.168.10.100
    내 컴퓨터의 IP 주소는 192.168.0.100이라고 하자.
    👉 이렇게 설정하면 내 컴퓨터의 공유기가 9999 포트를 LISTENING 상태로 만들어 둔다.

⚡ 그러면 이 때 외부에서 9999포트로 내 VMware로 접근하기 위해서는 어떤 IP 주소로 접근해야 할까?

👉 답은 내 컴퓨터의 IP 주소인 '192.168.0.100'이다. 왜냐하면, Host PC로 접근하면 Vmware로 포트 포워딩 해주기로 설정이 되어 있기 때문이다.

profile
쿄쿄

0개의 댓글