MikroTik Router 라우터 포트포워딩 Hairpin NAT 설정하기
Updated on
목차:
아 ~ 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
글과 여러 유튜브 영상들이 존재하기는 하지만,
따라해봤지만 안되는 경우도 많았다. 물론 내 설정이 잘못된 걸 수도 있긴 하겠지만,
외부 아이피 자체를 등록하는건, 아이피가 변경될때마다 변경해줘야하기 때문에 어지간히 귀찮은 일이 아닐 수가 없다.
그래서 검색해서 찾은 방법을 공유한다.
기존에 설명했었던 방식은 사용하지 않는다.
포트포워딩 설정
- 기존에 있던 In Interface - WAN 설정을 제거한다.
- 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 도 추가해주면 된다. 끝.