NAT라는 용어를 들어보신 적 있으신가요? 제가 이 글을 쓰게 된 이유도 오늘 NAT라는 기능을 실무에서 자주 사용하는데 NAT에 대해 정확히 알고 있지 않아, NAT에 대한 정의와 기능을 정리하면서 다른 분들께도 소개해드리고자 글을 쓰게 되었습니다.
1. NAT란
NAT(Network Address Translation, 네트워크 주소 변환)는 인터넷을 통해 다양한 기기들을 서로 연결하고 보호하는 데 중요한 역할을 합니다. 간단하게 말해서, NAT는 인터넷에 접속할 때 집이나 회사 네트워크의 내부 주소를 외부에서 사용할 수 있는 주소로 바꿔주는 기술입니다.
2. NAT를 쓰면 좋은 점은?
보안 강화
NAT는 외부에서 내부 네트워크를 직접 볼 수 없게 만들어서 보안을 강화합니다. 인터넷을 통해 들어오는 요청은 NAT 장비가 확인하고, 내부 네트워크로 전달합니다. 이렇게 하면 외부에서 내부 네트워크의 각 기기를 직접 공격하기 어렵게 됩니다.
IP 주소 절약
인터넷에 연결된 모든 기기는 IP 주소가 필요합니다. 하지만 IP 주소는 한정되어 있습니다.
NAT는 하나의 공인 IP 주소를 여러 기기가 나눠서 사용할 수 있게 해 줍니다. 예를 들어, 집에 컴퓨터, 스마트폰, 태블릿이 여러 대 있어도, 외부에서는 하나의 IP 주소로 보이게 하는 것입니다.
예를 들어 한 회사에서 인터넷을 1회선만 사용한다면 공인 IP를 하나만 할당받아, 사용하는 경우가 많습니다. 아래의 NAT 세부기능에서 설명드리도록 하겠습니다.
3. NAT 세부 기능
NAT(Network Address Translation)라는 기능은 실제로도 자주 사용합니다.
위는 실제 방화벽의 관리자페이지에서 NAT 정책을 설정하는 화면입니다. 각 업체별 방화벽마다 해당 UI는 다를 수 있지만 대부분 비슷한 기능을 제공하고 있습니다.
예시를 들어가며 설명드리겠습니다.
회사 네트워크 설정
- 내부 네트워크 : 192.168.1.0/24
- 사무실 외부 네트워크 : 인터넷 (ISP로부터 할당된 공인 IP 주소 222.222.222.222~222.222.222.244)
- 구글(8.8.8.8), 임의 외부 고객(1.2.3.4)
- 네트워크 장치 : NAT 기능을 지원하는 라우터
유형별. Static NAT
- 하나의 내부 IP 주소를 하나의 외부 IP 주소에 고정적으로 매핑합니다.
- 내부 IP와 외부 IP 사이의 매핑이 항상 일정합니다.
사용 목적
- 외부에서 내부의 특정 장치에 고정된 IP로 접근해야 할 때 사용됩니다.
실무 사용 예
- 회사가 외부 클라이언트에게 서비스를 제공하는 웹 서버를 운영하고 있습니다. 이 웹 서버는 외부에서 항상 동일한 IP 주소로 접근 가능해야 합니다.
- 내부 서버(192.168.1.10)를 고정 외부 IP( 222.222.222.222 )에 매핑하여 외부에서 항상 같은 IP로 접근 가능하게 합니다.
유형별. Dynamic NAT
- 여러 내부 IP 주소를 여러 외부 IP 주소 중 하나로 동적으로 매핑합니다.
- 내부 IP와 외부 IP의 매핑이 동적으로 변화합니다.
사용 목적
- 내부 네트워크의 많은 장치들이 외부로 나갈 때 사용되며, 할당된 외부 IP가 여러 개 있을 때 효과적입니다.
실무 사용 예
- 회사의 여러 직원들이 인터넷에 접속해야 합니다. 내부 네트워크의 IP 주소를 외부 IP 풀 중 가용한 IP로 동적으로 매핑하여 사용합니다.
- 내부 네트워크의 PC(192.168.1.10, 192.168.1.11 등)가 외부로 접속할 때 NAT 풀(222.222.222.222~222.222.222.244 등)에서 가용한 IP로 동적으로 매핑됩니다.
기능별. Source NAT (SNAT)
설명:
- 패킷이 네트워크를 벗어날 때(외부로) 출발지 IP 주소를 변환합니다.
- 내부 IP 주소를 외부 IP 주소로 변환하여 외부로 트래픽을 전송합니다.
사용 목적:
- 내부 IP를 외부에 노출시키지 않고, 내부 네트워크의 보안을 강화합니다.
실무 사용 예
- 회사 내부의 모든 직원들이 인터넷을 사용할 때, 내부 IP 주소를 하나의 공인 IP 주소로 변환하여 외부로 접속합니다.
- 작은 회사들이나 외부 회선을 1회선(KT, SK, U+ 중 하나의 장비) 사용할 때 보통 SNAT를 사용합니다.
- 내부 PC(192.168.1.10)가 외부 서버(8.8.8.8)에 접속할 때 출발지 IP가 내부 IP에서 외부 IP(222.222.222.222)로 변환됩니다.
회사 PC에서 다음에 접속해 내아이피라고 검색하면 나오는 IP가 모두 같다면? - 다음에서 '내아이피'라고 검색하면 현재 사용 중인 컴퓨터의 IP주소가 회사 동료들 모두 같다면 SNAT가 적용되어 있다 추측할 수 있습니다.
기능별. Destination NAT (DNAT)
- 패킷이 네트워크에 들어올 때 목적지 IP 주소를 변환합니다.
- 외부 IP 주소를 내부 IP 주소로 변환하여 내부로 트래픽을 전송합니다.
사용 목적:
- 외부에서 내부의 특정 서버나 서비스에 접근할 때 사용됩니다.
실무 사용 예
- 외부 클라이언트(1.2.3.4)가 외부 IP(222.222.222.222)로 접속하면, 이 트래픽이 내부 서버(192.168.1.4)로 전송됩니다.
기능별. Port NAT (PNAT)
- 내부 네트워크의 여러 장치들이 하나의 공인 IP 주소를 사용하면서 각기 다른 포트 번호를 통해 외부와 통신할 수 있게 합니다.
- 하나의 공인 IP 주소를 통해 다수의 내부 IP 주소가 인터넷에 접속할 수 있도록 합니다.
사용 목적:
- SNAT나 DNAT가 IP에 한정적이었다면 매핑을 PORT를 이용해 한정적인 네트워크 자원을 더 분별력 있게 사용할 수 있습니다.
실무 사용 예
- 내부 PC1(192.168.1.2)이 12345 포트로 인터넷에 접속할 때, NAT 라우터는 출발지 IP 주소를 내부 IP(192.168.1.2)에서 외부 IP(203.0.113.50)로 변환하고, 출발지 포트 번호도 54321로 변경합니다.
- 외부 서버가 203.0.113.50:54321로 응답을 보낼 때, NAT 라우터는 이를 192.168.1.2:12345로 변환하여 내부 PC1에 전달합니다
- 192.168.1.2:12345 <-> 222.222.222.222:54321
요약
- Static NAT : 고정된 매핑으로 특정 내부 IP를 외부 IP에 연결.
- Dynamic NAT : 동적인 매핑으로 여러 내부 IP를 여러 외부 IP에 연결.
- Source NAT (SNAT) : 출발지 IP 주소 변환으로 내부 IP를 외부 IP로 변환.
- Destination NAT (DNAT) : 목적지 IP 주소 변환으로 외부 IP를 내부 IP로 변환.
- Port NAT (PNAT) : 내부 IP를 하나의 공인IP에 각기 다른 포트를 통해 통신.
4. NAT에 대해 알고 있으면 좋은 부분
한 계
- 복잡성 증가 : NAT 설정 및 관리가 복잡해질 수 있습니다.
- 성능 저하 : 특히 대규모 네트워크에서 NAT는 성능 병목을 일으킬 수 있습니다.
- 응용 프로그램 호환성 문제 : 일부 응용 프로그램은 NAT 환경에서 정상적으로 동작하지 않을 수 있습니다.
대 안
- IPv6 도입 : IPv6는 NAT 없이도 충분한 IP 주소를 제공하며, NAT의 복잡성을 피할 수 있습니다.
- VPN : NAT와 함께 VPN을 사용하여 보안과 연결성을 강화할 수 있습니다.
오늘은 NAT에 대해 알아봤습니다. 네트워크 엔지니어나 정보보안, 인프라 담당자라면 익숙하게 다루고 있을 기술이지만, 명확한 기능의 이해가 어려울 때가 있을 것 같아서 정리를 해봤습니다.
'IT > IT 용어' 카테고리의 다른 글
운영체제(OS)를 알아보기 (1) | 2024.05.12 |
---|---|
RAID에 대해 알아보자 (0) | 2024.04.25 |
리눅스마스터 시험을 알아보자(살짝 어려운 시험) (0) | 2024.04.23 |
프로세스(Process)란 무엇인가? (1) | 2024.04.21 |
CPU(씨피유)와 RAM(램)의 차이점 알아보기. (3) | 2024.04.19 |