서론
버추얼박스 NAT Network 설정에 포스팅을 하면서 NAT와 포트 포워딩을 살짝? 다루면서 NAT와 포트포워딩에 대해서 다시 포스팅을 해야겠다고 생각해서 하게됐다.
NAT (Network Address Translation)
- 사설 네트워크의 여러 기기들이 공용 IP 주소 하나를 통해 외부 네트워크와 통신할 수 있도록 하는 기술
- NAT는 주로 라우터에서 구현되며, 내부 네트워크와 외부 네트워크 간의 IP 주소 변환 담당
NAT 유형
Static NAT
- 고정된 사설 IP 주소를 고정된 공용 IP 주소에 매핑
- 주로 외부에서 내부 네트워크의 특정 기기에 직접 접근해야 할 때 사용
Dynamic NAT
- 사설 IP 주소를 풀(Pool) 내의 공용 IP 주소에 동적으로 매핑
> 풀(Pool)
> 네트워크에서 사용할 수 있는 IP 주소들의 집합
> 네트워크 관리자는 이 IP 풀을 사용하여 동적으로 IP 주소 할당, NAT, DHCP 등의 네트워크 기능 수행
- 내부 기기가 외부와 통신할 때 마다 다른 공용 IP 주소를 사용
PAT (Port Address Tarnslation)
- 보통 'NAT 오버로드'라고 불리며, 하나의 공용 IP 주소를 여러 사설 IP주소와 포트 번호를 통해 공유
- 가장 널리 사용되는 사용되는 NAT 형태로, 하나의 공용 IP 주소를 통해 다수의 내부 기기가 인터넷에 접근
- 가정에서 사용하는 공유기는 여러 기기가 인터넷에 동시에 접근
- PAT은 공유기에서 사용되는 NAT의 일종이라고 볼 수 있다.
SNAT(Source Network Address Translation)
- 내부 네트워크의 소스 IP 주소를 변경하여 외부 네트워크에 패킷을 보낼 때 사용
- 일반적으로 사설 IP 주소를 공용 IP 주소로 변환하여 외부 네트워크와 통신
DNAT(Destination Network Address Translation)
- 외부 네트워크에서 들어오는 패킷의 목저지 IP 주소를 변경하여 내부 네트워크의 특정 기기로 리다이렉션 할 때 사용
- 주로 외부에서 내부 네트워크에 특정 서비스에 접근할 수 있도록 사용
NAT의 동작 원리
1. 내부 네트워크에서 외부 네트워크로
- 내부 기기(예 : 192.168.22.222)가 외부 네트워크(예: 웹 서버)에 요청
- 라우터는 이 패킷의 출발지 IP 주소와 포트 번호를 기록, 라우터의 공용 IP 주소와 새 포트 번호로 변환
- 변환된 패킷이 외부 네트워크로 전송
2. 외부 네트워크에서 내부 네트워크로
- 외부 네트워크의 응답 패킷이 라우터의 공용 IP 주소와 포트 번호로 도착
- 라우터는 기록된 정보를 사용해 패킷의 목적지 IP 주소와 포트 번호를 원래 내부 기기의 주소로 변환
- 변환된 패킷이 내부 기기로 전달
포트 포워딩(Port Forwarding)
- 포트 포워딩은 외부 네트워크에서 들어오는 트래픽을 특정 내부 네트워크의 기기와 포트로 전달하는 기술
- 외부에서 내부 네트워크의 특정 서비스에 접근
포트 포워딩의 동작 원리
1. 포트 포워딩 설정
- 라우터에서 특정 외부 포트로 들어오는 트래픽을 내부 IP 주소와 포트로 매핑하는 규칙 설정
> ex) 버추얼박스 NAT Network
2. 외부 네트워크에서 요청
- 외부 기기(ex: 인터넷 사용자)가 라우터의 공용 IP 주소와 설정된 포트로 요청
3. 라우터의 포트 포워딩 동작
- 라우터는 설정된 규칙에 따라 이 패킷을 내부 네트워크의 지정된 IP주소와 포트로 전달
4. 내부 기기의 응답
- 내부 네트워크의 지정된 기기가 응답 패킷을 라우터로 보냄
- 라우터는 이 패킷을 원래 요청을 보낸 외부 기기로 전달
포트 포워딩 (Port Forwarding)과 DNAT (Destination Network Address Translation)
- 포트 포워딩과 DNAT는 아주 밀접하며, 포트 포워딩은 DNAT의 한 형태로 간주
- 포트 포워딩과 DNAT 모두 목적지 외부에서 들어오는 트래픽의 목적지 주소 변환
- 외부에서 내부 네트워크의 특정 서비스에 접근 (SSH, FTP, 웹 서버 등)
- 포트 포워딩은 주로 소규모 네트워크에서 사용하고, DNAT는 더 넓은 범위의 네트워크에서 사용
결론
포트 포워딩과 NAT를 포스팅하면서 IP와 GW도 전부 설명을 해야하는 지 고민하다가 따로 포스팅 해야겠다고 생각했다. 그리고 패킷 트레이서로 Static NAT와 Dynamic NAT에 대해서 실습 환경을 같이 올리려고 했으나 글 내용이 너무 길어질 것 같아서 패킷 트레이서 관련 내용은 따로 올리도록 하겠습니다.
'정보보안 > 네트워크 기초' 카테고리의 다른 글
SNI (Server Name Indication) 필드 (0) | 2024.08.05 |
---|---|
IP(Internet Protocol) 및 게이트웨이(Gateway, GW) (0) | 2024.07.31 |
버추얼박스(VirtualBox) NAT Network 설정 (0) | 2024.07.22 |
[암호화 프로토콜] SSL/TLS (0) | 2024.06.17 |
이중화 및 LLCF, FailOver (초간단 LLCF, FailOver 비교) (0) | 2024.05.29 |