NAT

민콕이·2025년 12월 2일

NAT 란

NAT(Network Address Translation)은 사설 IP를 공인 IP로 바꿔주는 기술, 외부 인터넷과 통신할 때 내부 주소를 숨기고, 여러 사설 IP가 하나의 공인 IP를 함께 사용할 수 있게 해준다.

핵심 요약

  • 사설 IP ↔ 공인 IP 변환
  • 내부 네트워크 주소를 외부에 노출하지 않아 보안성 증가
  • 공인 IP 절약 가능
  • 대표 유형: Static NAT, Dynamic NAT, PAT(Port Address Translation)

목적

  • 공인 IP 절약
    • 내부에 수십~수백 대의 사설 IP 장비가 있어도 하나 또는 소수의 공인 IP로 인터넷 사용이 가능하다
  • 내부 네트워크 보안 강화
    • 외부에서 내부 사설 IP 주소를 직접 볼 수 없어서 네트워크 구조가 숨겨진다
    • 기본적으로 외부에서 내부로 바로 접근하기 어렵다
  • IP 주소 변환을 통한 통신 가능하게 하기
    • 사설 IP는 인터넷에서 바로 통신 불가 → NAT 통해 공인 IP로 변환하므로 내부 장비가 인터넷과 정상적으로 통신 가능


동작 방식








종류

  • Static NAT
    • 사설IP:공인IP => 1:1
      • 장점 : 고정 IP가 필요하거나 외부 접근이 필요한 장비에 매우 유용하다 (서버 운영)
      • 단점 : 1:1로 매핑하기 때문에 공인IP가 많이 필요하다 (비용 증가)
  • Dynamic NAT
    • 사설IP:공인IP => n:m
      • 장점 : Static NAT처럼 1:1 고정이 아니라 필요할 때만 공인 IP 풀에서 하나씩 할당해서 사용가능하다.
      • 단점 : 공인IP m개를 전부 통신에 사용하게 되면 다른 사설IP는 통신이 불가능하다.
  • NAT-PAT(Port Address Translation)
    • 사설IP:공인IP => n:1
      • 장점 : 공인 IP 1개를 사용하나 Port 번호로 구분하기 때문에 다수의 사설 IP가 사용 가능하다.
      • 단점 : 여러 내부 호스트가 같은 목적지 포트로 통신할 때 포트 번호 충돌을 방지하기 위해 라우터가 추가 작업을 해야 함.


확인해보기

Source NAT (S NAT)

출발지의 IP 주소를 사설 IP에서 공인 IP로 변경 (내부에서 외부로 나갈때)

# inside/outside 지정
R1(config)# interface f0/1
R1(config-if)# ip nat inside
R1(config)# interface f0/0
R1(config-if)# ip nat outside

# nat 설정
# 출발지의 ip address가 변경된 Source NAT
R1(config)# ip nat inside source static 192.168.53.2 10.9.0.100 
// 아웃사이드 인터페이스의 주소와 반드시 같을 필요가 없다

Dynamic NAT

단방향 NAT (SNAT)

# inside/outside 지정
R1(config)# interface f0/0
R1(config-if)# ip nat inside
R1(config)# interface f0/1
R1(config-if)# ip nat outside

# dynamic nat pool 생성
R1(config)# ip nat pool kedu 10.x.0.100 10.x.0.105 netmask 255.0.0.0

# acl 생성
R1(config)# access-list 1 permit 192.168.53.0 0.0.0.255

# dynamic nat pool에 acl 적용
R1(config)# ip nat inside source list 1 pool kedu


NAT-PAT

단방향 - SNAT
공인 IP 1개에 여러 사설 IP를 사용한다
공인 IP를 사용할 때 Interface(outside)

# inside/outside 지정
R1(config)# interface f0/0
R1(config-if)# ip nat inside
R1(config)# interface f0/1
R1(config-if)# ip nat outside

# acl 생성
R1(config)# access-list 1 permit 192.168.53.0 0.0.0.255

# PAT 설정
# outside에 있는 Interface 주소로 변환(overload)
R1(config)# ip nat inside source list 1 interface fa0/1 overload


VPC에서 외부로 통신

NAT 설정이 필수!
Router에서 공유기(Gateway)로 Default route 설정

R1(config)# ip route 0.0.0.0 0.0.0.0 10.0.0.1
profile
정리 블로그

0개의 댓글