NAT

Date:     Updated:

카테고리:

태그:

🗂️NAT

  • NAT (Network Address Translation)

    • 주소 변환 기술

    • 공인 IP 부족 현상을 완화하기 위해 제안된 기술

      사설 IP를 지정하여 intranet 내부에서만 임의의 IP를 사용할 수 있게

      중복된 IP를 사용할 수 있으므로 사설 IP를 이용한 공용 네트워크 통신을 제한 함

      intranet에서 공용 네트워크에 접근하기 위해 네트워크를 연결하는 Router에서 사설 IP를 공인 IP로 변환 시켜 내보내야 함

  • NAT 사용 목적

    • IPv4 부족현상 완화
    • 공인 IP사용 비용 감소
    • 보안
  • 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

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

화면 캡처 2022-09-12 170533

화면 캡처 2022-09-12 170638

화면 캡처 2022-09-12 170658

화면 캡처 2022-09-12 170712

화면 캡처 2022-09-12 170726

  • Static NAT 설정

    • NAT 정책 설정

      R1(config)# ip nat 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 변환 정보 확인

      화면 캡처 2022-09-12 171848

    • NAT 설정 정보 확인

화면 캡처 2022-09-12 171916

  • static nat 실습

    • 구성도

      화면 캡처 2022-09-12 172901

    • 출발지 IP 주소 변환

      해당 인터페이스에 inside , outside 를 지정

      NAT_Router(config)#int f1/0
      NAT_Router(config-if)#ip nat outside
      NAT_Router(config)#int f0/0
      NAT_Router(config-if)#ip nat inside
      
    • 정책 설정

      192.168.1.100->1.1.1.100으로 출발지 주소 변환

      NAT_Router(config)#ip nat inside source static 192.168.1.100 1.1.1.100
      
    • 설정 확인

      NAT_Router#sh ip nat translations
      

      화면 캡처 2022-09-12 174826

    • 설정 제거

      NAT_Router(config)#int f0/0
      NAT_Router(config-if)#no ip nat inside 
          
      NAT_Router(config-if)#int f1/0
      NAT_Router(config-if)#no ip nat outside 
          
      NAT_Router(config)#no ip nat inside source static 192.168.1.200 1.1.1.200
      NAT_Router(config)#no ip nat inside source static 192.168.1.100 1.1.1.100
      

🗂️Dynamic NAT

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

화면 캡처 2022-09-12 175431

화면 캡처 2022-09-12 175447

화면 캡처 2022-09-12 175505

화면 캡처 2022-09-12 175520

화면 캡처 2022-09-12 175533

  • 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 
    
  • Dynamic NAT 실습

    • 구성도

    • 화면 캡처 2022-09-12 180321

    • 기본 설정

      NAT_Router(config)#int f0/0
      NAT_Router(config-if)#ip nat inside 
      NAT_Router(config-if)#int f1/0
      NAT_Router(config-if)#ip nat outside
      
    • acl(standard) : inside 범위 설정

      NAT_Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
      
    • pool : outside 범위 설정

      NAT_Router(config)#ip nat pool dynat 1.1.1.100 1.1.1.101 netmask 255.0.0.0
      
    • acl(inside) -> pool(outside) 로 변환

      NAT_Router(config)#ip nat inside source list 1 pool dynat
      
    • 설정 제거

      NAT_Router(config)#int f0/0
      NAT_Router(config-if)#no ip nat inside 
      NAT_Router(config-if)#int f2/0
      NAT_Router(config-if)#no ip nat inside 
      NAT_Router(config-if)#int f1/0
      NAT_Router(config-if)#no ip nat outside
      

      access list 1번 제거

      NAT_Router(config)#no ip access-list standard 1
      NAT_Router(config)#do sh ip access-lists
      

      삭제시 NAT 변환명령어 부터 해제 후 pool 제거

      NAT_Router(config)#no ip nat pool dynat 1.1.1.100 1.1.1.101 netmask 255.0.0.0
      %Pool dynat in use, cannot destroy
      NAT_Router(config)#no ip nat inside source list 1 pool dynat
      NAT_Router(config)#no ip nat pool dynat 1.1.1.100 1.1.1.101 netmask 255.0.0.0
      

🗂️NAT-PAT

  • NAT-PAT(Port Address Translation)
    • 사설 네트워크 내부의 호스트 통신을 위해 사용 됨
    • 다수의 사설 IP의 하나의 공인 IP로 변환 → n : 1
    • 일반 Dynamic NAT의 한계를 극복 > pool 갯수만 사용가능
    • IP주소가 부족한 경우 통신이 되지 않는 클라이언트가 발생 > NAT 수행시 Port주소를 변환정보 식별용(NAT Translation table)
    • 대표적인 사용예 사설 IP(n) : 공인 IP(1) → 하나의 공인 IP로 다수의 사설 IP를 이용한 통신이 지원 됨 inside ACL : outside interface

화면 캡처 2022-09-13 112130

화면 캡처 2022-09-13 112147

화면 캡처 2022-09-13 112200

화면 캡처 2022-09-13 112302

화면 캡처 2022-09-13 112314

화면 캡처 2022-09-13 112332

화면 캡처 2022-09-13 112349

화면 캡처 2022-09-13 112410

  • 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] [end IP] netmask [subnet mask]
      
    • NAT 정책 설정(두개 중 하나만 설정)

      공인 IP Pool 을 이용해 설정 할 경우

      R1(config)# ip nat inside source list [ACL number] pool [pool name] overload
      
    • 공인 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
      
  • NAT-PAT 실습

    • 구성도

      화면 캡처 2022-09-13 114602

    • 기본설정

      인터페이스에 inside/outside

      NAT_Router(config)#int f0/0
      NAT_Router(config-if)#ip nat inside 
      NAT_Router(config-if)#int f1/0
      NAT_Router(config-if)#ip nat outside
      
    • acl(standard) : inside 범위 설정

      NAT_Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
      
    • interface 지정 : ACL(inside) -> interface 의 주소 (outside) 로 변환

      NAT_Router(config)#ip nat inside source list 1 int f1/0 overload
    
    • 테스트

      192.168.1.100 -> ping 1.1.1.2
      192.168.1.150 -> ping 1.1.1.2
      192.168.1.200 -> ping 1.1.1.2
      

      화면 캡처 2022-09-13 114925


맨 위로 이동하기

router 카테고리 내 다른 글 보러가기

댓글 남기기