NAT(Network Address Translation) : 사설 IP 주소를 공인 IP 주소로 변환하거나 공인 IP 주소를 사설 IP 주소로 변환해준다.
그런데 보안에 도움을 준다는 내용이 있어서 생각을 해봤는데, 노드 A에서 외부로 통신을 요청한다고 해보자. gateway에서 A의 사설 IP 주소를 자신의 공인 IP 주소로 변환하여 외부로 전송할텐데, 이게 보안에 정말 도움이 될까 싶었다.
이 세 가지가 NAT의 특징이라고 했을 때, 주소 은닉에 대한 의문점이었다.
gateway에서 IP를 변환시켜준다고 할 때, 보안이 되려면 gateway에서 저장하는 것 없이 IP를 변환시키고 요청에 대한 응답이 왔을 때 요청 노드의 IP를 찾아서 알아서 연결해줘야 하는 거 아닌가?
NAT에 대한 이해가 잘못된 게, NAT는 그냥 주소 변환 장치일 뿐이고 보안 효과는 그냥 부수적인 것이다. NAT Table을 반드시 메모리에 보존을 해야만 정상 작동한다.
sessionless 또는 Stateless NAT
다음 조건이 충족되어야 활용할 수 있다.
TCP/IP에는 대부분 응답 패킷에 이런 정보가 없어서 활용 제한적이다. 그리고 요청 시 식별 가능한 정보를 넣어서 하면 이건 그냥 자기가 할 일을 다른 사람한테 넘긴 것 뿐이니 마음에 들지 않는다.