NAT (Network Address Translation)

  • 주소 변환 기술
  • 공인 IP 부족 현상을 완화하기 위해 제안된 기술
    • 사설 IP를 지정하여 intranet 내부에서만 임의의 IP를 사용할 수 있게 한다.
    • 중복된 IP를 사용할 수 있으므로 사설 IP를 이용한 공용 네트워크 통신을 제한한다.
    • intranet에서 공용 네트워크에 접근하기 위해 네트워크를 연결하는 Router에서 사설 IP를 공인IP로 변환 시켜 내보내야 한다.

NAT 사용 목적

  • IPv4 부족현상 완화
  • 공인 IP 사용 비용 감소
  • 보안

NAT 동작 방식

nat1-1-

nat1-2-

nat1-3-

nat1-4-

nat1-5-

nat1-6-

nat1-7-

NAT 종류

  • Static NAT
    • NAT Table의 변환 정보를 관리자가 직접 지정하고 관리한다. -> 정보가 고정 된다.
    • 사설 IP(1):공인 IP(1)
    • Server에 Client가 접근할 수 있게 한다.
  • Dynamic NAT
    • NAT Table의 변환 정보를 장비가 직접 생성하고 관리한다.
      • NAT 동작을 수행해야 하는 조건에 맞는 Packet을 전달받았을 때 변환 된다.
    • 사설 IP(n):공인 IP(m) -> 동시에 통신 가능한 장비가 공인 IP수로 제한 된다.
    • 내부 호스트장비의 공용 네트워크 통신을 위해 사용된다.
  • NAT-PAT(Port Address Translation)
    • 일반 Dynamic NAT의 한계를 극복
      • NAT동작이 수행될 때 PoRT주소를 변환정보 식별용으로 함께 사용 한다.
    • 사설 IP(n):공인IP(1) -> 하나의 공인 IP로 다수의 사설 IP를 이용한 통신이 지원된다.

Static NAT

  • 공인 IP로 전달된 Client의 요청을 내부 Server로 전달할 수 있도록 목적지 주소를 변환하는 기능
  • Server에 할당된 사설 IP 하나당 공인 IP를 할당 -> 1:1

nat1-8-

nat1-9-

nat1-10-

nat1-11-

nat1-12-

Static NAT 설정

  • NAT 정책 설정

R1(config)# ip inside source static [사설IP] [공인 IP]

  • interface 역할 결정
    • 사설 네트워크를 연결하는 인터페이스 -> inside

R1(config)# interface [inside interface]
R1(config-if)# ip nat inside

  • 공용 네트워크를 연결하는 인터페이스 -> outside

R1(config)# interface [outside interface]
R1(config-if)# ip nat outside

NAT 정보 확인

  • NAT Table 변환 정보 확인

nat1-13-

Pro NAT변환된 트래픽 종류    
Inside 사설네트워크 Local
————
Global
변환 전
————–
변환 후
Outside 공인 네트워크 Local
————
Global
변환 전
————–
변환 후
  • NAT 설정 정보 확인

nat1-14-

  • NAT 동작과정 확인

nat1-15-

  • NAT Table 변환정보 초기화

nat1-16-

  • NAT Table 한 항목 삭제

nat1-17-

Dynamic NAT

  • 사설 네트워크 내부의 호스트 통신을 위해 사용 된다.
  • 다수의 사설 IP의 지정된 개수의 공인 IP로 변환 -> n:m(동시 통신 가능 ->m대)

nat1-18-

nat1-19-

nat1-20-

nat1-21-

nat1-22-

Dynamic NAT 설정

  • 조건 정책 설정
    • 사설 IP 네트워크 정보 -> ACL

R1(config)# access-list 1 permit [사설 IP] [wildcard mask]

  • 변환에 사용할 공인 IP 정보 -> Pool

R1(config)# ip nat pool [name] [start IP] [end IP] netmask [subnet mask]

  • NAT 정책 설정

R1(config)# ip nat inside source list [ACL number] pool[pool name]

  • interface 역할 결정
    • 사설 네트워크를 연결하는 인터페이스 -> inside

R1(config)# interface [inside interface]
R1(config-if)# ip nat inside

  • 공용 네트워크를 연결하는 인터페이스 -> outside

R1(config)# interface [outside interface]
R1(config-if)# ip nat outside

NAT-PAT(Port Address Translation)

  • 사설 네트워크 내부의 호스트 통신을 위해 사용 된다.
  • 다수의 사설 IP의 하나의 공인 IP로 변환 -> n:1

nat1-23-

nat1-24-

nat1-25-

nat1-26-

nat1-27-

nat1-28-

nat1-29-

nat1-30-

NAT-PAT 설정

  • 조건 정책 설정
    • 사설 IP 네트워크 정보 -> ACL

R1(config)# access-list 1 permit [사설 IP] [wildcard mask]

  • 변환에 사용할 공인 IP 정보 -> Pool
    • NAT 정책 설정에서 interface로 지정 할 경우

R1(config)# ip nat pool[name] [start IP] [ens IP] netmask [subnet mask]

  • NAT 정책 설정(두개 중 하나만 설정)
    • 공인 IP Pool을 이용해 설정 할 경우

R1(config)# ip nat pool [name] [start IP] netmask [subnet mask]</b>

  • 공인 IP가 설정된 Interface를 이용해 설정 할 경우

R1(config)# ip nat inside source list [ACL number] interface [outside interface]

  • Interface 역할 결정
    • 사설 네트워크를 연결하는 인터페이스 -> inside

R1(config)# interface [inside interface]
R1(config-if)# ip nat inside

  • 공용 네트워크를 연결하는 인터페이스 -> outside

R1(config)# interface [outside interface] R1(config-if)# ip nat outside