NAT(Network Address Translation)는 패킷이 변환 장치를 통과할 때 주소 필드와 흔히 전송 포트까지 다시 씁니다. 사설 주소를 사용하는 IPv4 네트워크를 더 적은 수의 외부 라우팅 가능 주소로 연결하는 데 널리 사용됩니다.
서브넷팅 · 레슨 6
NAT
출발지, 목적지 및 포트 변환이 IPv4 흐름과 연결 상태를 변경하는 방법을 알아봅니다.
출발지 변환
출발지 NAT는 패킷이 네트워크를 떠날 때 출발지 주소를 바꿉니다. 다대일 배포에서는 여러 내부 흐름이 하나의 외부 주소를 공유할 수 있도록 출발지 포트도 변환합니다. 포트를 인식하는 이 형식은 흔히 NAPT, PAT 또는 외부 주소가 바뀔 수 있을 때 masquerading이라고 부릅니다.
변환기는 응답 패킷을 원래 내부 끝점으로 다시 쓸 수 있도록 매핑을 추적합니다. 일반적으로 같은 전송 흐름을 전달하며 응용 프록시처럼 별도의 프록시 연결을 열 필요는 없습니다.
출발지 NAT는 외부로 나가는 패킷에서 무엇을 바꿉니까?
목적지 변환
목적지 NAT는 목적지 주소나 포트를 다시 쓰며, 일반적으로 외부 끝점을 통해 내부 서비스를 공개하는 데 사용합니다. 포트 전달 규칙은 외부 TCP 포트를 다른 내부 주소 및 포트에 매핑할 수 있습니다. 반환 트래픽에는 일관된 역변환이 필요합니다.
수신 포트 전달을 일반적으로 구현하는 NAT 형식은 무엇입니까?
NAT와 방화벽 정책
NAT는 방화벽이 아닙니다. 상태 저장 변환기에 요청하지 않은 수신 트래픽을 위한 매핑이 없을 수 있지만 명시적인 전달, 목적지 변환, 필터링 및 애플리케이션 공개가 연결 가능성을 결정합니다. 주소 재작성에서 보안 정책을 추론하지 말고 방화벽 규칙, 최소 권한 서비스 및 종단 간 제어로 정책을 표현하고 감사합니다.
NAT 자체를 보안 정책으로 취급하면 안 되는 이유는 무엇입니까?
운영상 결과
NAT는 주소 및 포트 매핑을 소진하고, 피어 투 피어 프로토콜을 복잡하게 만들고, 애플리케이션에서 원래 출발지를 가리며, 주소를 포함하는 프로토콜에 특별한 처리를 요구할 수 있습니다. 흐름을 추적해야 한다면 로그에 변환 타임스탬프와 매핑 세부 정보를 보존해야 합니다.
리눅스에서 현대적인 정책은 흔히 nftables와 연결 추적으로 설정합니다. 변경 전에 실제 규칙 세트를 조사하십시오.
$ sudo nft list ruleset
$ sudo conntrack -L
둘째 명령에는 conntrack 도구와 권한이 필요합니다. 규칙 세트 변경으로 원격 접근이 끊길 수 있으므로 콘솔 복구, 원자적 설정, 검증 및 되돌리기를 사용합니다.
공유 주소 흐름을 내부 클라이언트까지 추적하려면 어떤 증거가 필요합니까?
레슨 완료
NAT 완료
이제 주소 변환을 라우팅, 프록시 및 방화벽 정책과 구분할 수 있습니다.
외부로 나가는 흐름의 출발지 변환을 식별합니다.
공개된 서비스의 목적지 변환을 식별합니다.
포트 매핑이 주소 공유를 가능하게 하는 방식을 이해합니다.
NAT를 보안으로 취급하지 말고 명시적인 필터링을 적용합니다.
변경 중 매핑 증거와 복구 접근을 보존합니다.