NAT
100%

서브넷팅 · 레슨 6

NAT

출발지, 목적지 및 포트 변환이 IPv4 흐름과 연결 상태를 변경하는 방법을 알아봅니다.

NAT(Network Address Translation)는 패킷이 변환 장치를 통과할 때 주소 필드와 흔히 전송 포트까지 다시 씁니다. 사설 주소를 사용하는 IPv4 네트워크를 더 적은 수의 외부 라우팅 가능 주소로 연결하는 데 널리 사용됩니다.

출발지 변환

출발지 NAT는 패킷이 네트워크를 떠날 때 출발지 주소를 바꿉니다. 다대일 배포에서는 여러 내부 흐름이 하나의 외부 주소를 공유할 수 있도록 출발지 포트도 변환합니다. 포트를 인식하는 이 형식은 흔히 NAPT, PAT 또는 외부 주소가 바뀔 수 있을 때 masquerading이라고 부릅니다.

변환기는 응답 패킷을 원래 내부 끝점으로 다시 쓸 수 있도록 매핑을 추적합니다. 일반적으로 같은 전송 흐름을 전달하며 응용 프록시처럼 별도의 프록시 연결을 열 필요는 없습니다.

출발지 NAT는 외부로 나가는 패킷에서 무엇을 바꿉니까?

목적지 변환

목적지 NAT는 목적지 주소나 포트를 다시 쓰며, 일반적으로 외부 끝점을 통해 내부 서비스를 공개하는 데 사용합니다. 포트 전달 규칙은 외부 TCP 포트를 다른 내부 주소 및 포트에 매핑할 수 있습니다. 반환 트래픽에는 일관된 역변환이 필요합니다.

수신 포트 전달을 일반적으로 구현하는 NAT 형식은 무엇입니까?

NAT와 방화벽 정책

NAT는 방화벽이 아닙니다. 상태 저장 변환기에 요청하지 않은 수신 트래픽을 위한 매핑이 없을 수 있지만 명시적인 전달, 목적지 변환, 필터링 및 애플리케이션 공개가 연결 가능성을 결정합니다. 주소 재작성에서 보안 정책을 추론하지 말고 방화벽 규칙, 최소 권한 서비스 및 종단 간 제어로 정책을 표현하고 감사합니다.

NAT 자체를 보안 정책으로 취급하면 안 되는 이유는 무엇입니까?

운영상 결과

NAT는 주소 및 포트 매핑을 소진하고, 피어 투 피어 프로토콜을 복잡하게 만들고, 애플리케이션에서 원래 출발지를 가리며, 주소를 포함하는 프로토콜에 특별한 처리를 요구할 수 있습니다. 흐름을 추적해야 한다면 로그에 변환 타임스탬프와 매핑 세부 정보를 보존해야 합니다.

리눅스에서 현대적인 정책은 흔히 nftables와 연결 추적으로 설정합니다. 변경 전에 실제 규칙 세트를 조사하십시오.

$ sudo nft list ruleset
$ sudo conntrack -L

둘째 명령에는 conntrack 도구와 권한이 필요합니다. 규칙 세트 변경으로 원격 접근이 끊길 수 있으므로 콘솔 복구, 원자적 설정, 검증 및 되돌리기를 사용합니다.

공유 주소 흐름을 내부 클라이언트까지 추적하려면 어떤 증거가 필요합니까?

레슨 완료

NAT 완료

이제 주소 변환을 라우팅, 프록시 및 방화벽 정책과 구분할 수 있습니다.

  • 외부로 나가는 흐름의 출발지 변환을 식별합니다.

  • 공개된 서비스의 목적지 변환을 식별합니다.

  • 포트 매핑이 주소 공유를 가능하게 하는 방식을 이해합니다.

  • NAT를 보안으로 취급하지 말고 명시적인 필터링을 적용합니다.

  • 변경 중 매핑 증거와 복구 접근을 보존합니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
서브넷팅(으)로 돌아가기