MikroTik Router 라우터 포트포워딩 Hairpin NAT 설정하기

Updated on

MikroTik Router 라우터 포트포워딩 Hairpin NAT 설정하기

목차:

아 ~ MikroTik Router 에서 포트포워딩을 설정했는데, 이상하게 외부에서 도메인 또는 아이피로 접근하면 포트포워딩이 잘 되는데, 문제가 내부에서 도메인 또는 아이피로 접근하면 안되는 문제가 발생했다.

요청한 IP가 응답한 IP와 다르기때문에 연결이 유실되어버린다고 하는 것 같다.

https://forum.mikrotik.com/viewtopic.php?t=172380

https://www.youtube.com/watch?v=1I5FywY6opQ

https://www.youtube.com/watch?v=daGs-P-ROj4

글과 여러 유튜브 영상들이 존재하기는 하지만,

따라해봤지만 안되는 경우도 많았다. 물론 내 설정이 잘못된 걸 수도 있긴 하겠지만,

외부 아이피 자체를 등록하는건, 아이피가 변경될때마다 변경해줘야하기 때문에 어지간히 귀찮은 일이 아닐 수가 없다.

그래서 검색해서 찾은 방법을 공유한다.

기존에 설명했었던 방식은 사용하지 않는다.

포트포워딩 설정

  1. 기존에 있던 In Interface - WAN 설정을 제거한다.
  2. Extra 탭에서 Dst. Address Type 에 local 로 설정한다.

위 두가지가 차이점이다.

무엇 때문인지는 잘 모르겠지만, 이렇게 해도 포트 포워딩이 잘 되서, 외부에서도 접속이 잘 된다.

여기까지만해도 사실 Hairpin NAT 을 설정하지 않아도 되기는 함.

Hairpin NAT 설정하기

그래도 혹시 모르니, Hairpin NAT을 설정을 추가해보자.

Src. Address 에는 아이피 대역대 Dst. Address 에는 게이트웨이를 입력한다. (그런데 앞에 Not ! 을 해줘야한다, 즉 10.10.10.254가 아닐 경우라는 의미이다)

를 입력해준다.

이렇게하면 Hairpin NAT이 설정된다고 한다.

자, 그러면 포트포워딩 할때에는 기존 설정은 잊어버리고 여기서 설명하는데로만 설정하자.

UDP 허용하기

아… 이것도 엄청 중요하다 !! UDP를 허용 안했더니, discord 음성채널 기타 등 UDP 통신이 필요한 부분에서 모두 작동되지 않고 있었다…

이걸 엄청 찾으려고 했는데, 원인을 잘 몰라서 세팅도 못하고 있었는데, traefik dns domain https 인증하는 과정에서 기록된 로그를 보고 udp 문제라는 것을 확인하고 수정했다.

아주 간단하게, 위 tcp hairpin 처럼 udp 도 추가해주면 된다. 끝.