EdgeRouter - NAT 헤어핀 (Hairpin) - 내부에서 내부로의 NAT, 루프백, 리플렉션

download at 2017-10-29T17:23:17Z origin

Overview


이 문서는 EdgeRouter의 NAT 헤어핀을 서술합니다.Readers will learn about the NAT Hairpin for EdgeRouter.

일반적으로 NAT 포트 포워딩 룰은 *네트워크 바깥*에서 *네트워크 안*으로 hostname 또는 라우터의 퍼블릭 주소를 통해서 사용됩니다. 하지만 같은 로컬 네트워크 내의 로컬 서버의 주소는 더 사용하기 쉬운 NAT 헤어핀이 적용됩니다. 예를 들어, 사용자의 랩탑과 메일 서버가 같은 로컬 네트워크 내에 있는 경우, 혼란을 피하기 위해서 같은 로컬 내트워크 내에 있을 때나 그렇지 않을 때나 같은 서버명을 사용하기를 선호할 것입니다.

NAT 헤어핀은 "내부에서 내부로의 NAT", "NAT 루프백", "NAT 리플렉션" 등등으로 알려져있습니다.

Note: 1.4.0 버전 이후로 GUI의 포트 포워드 마법사를 통해서 NAT 헤어핀을 더 쉽게 (체크박스로 설정 가능) 설정할 수 있습니다.

Steps


SOHO 설정 예제 를 사용하도록 하겠습니다. 다음 예제의 구성도는 아래와 같습니다.

image0

NAT 헤어핀이 사용된 SOHO 예제 그림


먼저 목적지 NAT(포트 포워딩)룰 을 추가합니다. 2222번 포트에서 요청을 받아서 192.168.1.10의 22번 TCP포트로 전달합니다. 퍼블릭 인터페이스 (eth2)를 통해서 전달받은 WAN 패킷들은 바깥에서 안으로 들어오는 NAT 요청들입니다. (NAT 헤어핀은 나중에 기술합니다)

Note: (아래의) 목적지 주소가 NAT를 통해서 변환된 주소와 같은 경우에는 필요하지 않습니다.

image1

다음에는 WAN_IN 을 요청 받을 수 있도록 방화벽 룰에 추가해야 합니다. 방화벽에 목적지 NAT를 위한 룰을 추가하면서 가장 혼동하지 말하야 할 점은 DNAT는 방화벽 이전에 발생한다는 점입니다. 따라서, 방화벽 룰은 반드시 변환된 주소 (또는 포트)와 매칭이 되어야 합니다. 예를 들어:

image2

이제, 외부의 네트워크 주소에서 포트 포워딩을 테스트 할 때, 방화벽 통계 패킷이 NAT 카운트와 함께 증가하는 것을 확인할 수 있습니다.

Note: 방화벽 통계는 패킷/바이트 카운터 입니다. 반면에 NAT 카운트는 세션 카운트입니다.

image3

CLI에서 활성화된 변환을 확인할 수 있습니다:

ubnt@ubnt:~$ show nat translations
Pre-NAT Post-NAT Type Prot Timeout
204.11.231.181:2222 192.168.1.10:22 dnat tcp 3321

이제 NAT 헤어핀 룰을 추가합니다. 기본적으로 아래의 내용이 필요합니다:

  1. LAN 인터페이스를 위한 수정된 DNAT 룰의 수정본이 필요합니다. 이 수정본은 로컬 인터페이스 (eth0)를 통해 요청을 하는 LAN 패킷에 대하여 내부에서 내부로의 NAT 요청을 처리하는 룰입니다.
  2. LAN 인터페이스에 적용할 새로운 NAT 마스커레이드 (Masquerade) 룰

image4

2개의 새로운 NAT 룰을 통해서 같은 퍼블릭 주소를 내부 서버에서도 사용할 수 있어야합니다. 본 예제에서는 퍼블릭 주소가 104.15.231.18 입니다. 따라서 원래 패킷의 흐름은 다음과 같습니다.

192.168.1.11 --> 104.15.231.18 TCP 2222

DNAT는 이 패킷을 다음과 같이 변환하게 됩니다.

192.168.1.11 --> 192.168.1.10 TCP 22

그리고 SNAT 룰을 사용하면 다음과 같이 변환이 됩니다:

192.168.1.1 --> 192.168.1.10 TCP 22

2개의 DNAT 룰이 인터페이스를 제외하고는 같은 기능을 수행하기 때문에 2번째 DNAT 룰을 삭제하고, "eth2"로 설정되어 있는 첫번째 룰을 와일드카드 캐릭터를 사용하여 "eth+"로 수정합니다. (다른 인바운드 인터페이스도 사용 할 경우):

image5

본 예제의 최종 설정은 NAT 헤어핀 설정 에서 다운받으실 수 있습니다.