SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
질문

내부망에서 도메인 접근 시 접속불가 질문드립니다.

메또롱 메또롱 279

0

13

안녕하세요. 내부망에서 NAS로 도메인 접근 시 접속이 불가능해 이렇게 질문드립니다.

 

우선 내부 네트워크 구성도는 다음과 같습니다.

 

캡처.PNG.jpg

 

간략히 설명드리면 아파트 단자함으로 올라오는 광 케이블과 모뎀이 연결되어 있고, 해당 모뎀에서 벽면 포트로 연결되어 KT 공유기로 보내주고 있습니다.

 

기가지니의 경우 허브와 연결되어 있지 않고, KT 공유기와 직결되어 있으며 프리미엄 IP대역을 별도로 사용중입니다.

 

다른 장비들은 공유기와 직결되어 있거나 허브에 물려있습니다.

 

KT 공유기에는 80, 443번 포트만 개방되어 있으며, 외부망에서 올바른 도메인으로 접근 시 라즈베리파이에 설치되어 있는 NPM을 사용하여 적절한 내부 포트로 연결시켜주고 있습니다.

 

이러한 방식으로 서버, NAS 등을 사용하고 있구요.

 

여기서 문제는 PC-1에서 NAS로 도메인(example.com) 접속 시 접속이 되지 않는 현상이 발생하고 있습니다.

 

다만 내부 ip(172.30.1.XX:5000)로 접속 시 정상적으로 접속이 됩니다.

 

게다가 PC-1에서 접속시 오류가 발생하고 다른 기기(PC-2, PC-3, 와이파이로 연결된 노트북 등등)에서는 도메인으로 NAS 접속 시 정상적으로 접속이 됩니다.

 

이 경우 어디서 문제가 발생하고 있는 걸까요?

 

hosts 파일 수정을 통해 도메인을 사용하고 있지만 인증서 등이 적용되지 않아 불편함이 있습니다.

 

혹시 비슷한 증상을 경험하셨거나 원인을 알고 계신다면 고견 부탁드립니다ㅠ

 

신고공유스크랩
13
profile image 1등
너굴맨봇 2024.02.06. 17:02
안녕하세요, 메또롱님.😊
 

좋은답변을 받기위해서는 좋은 질문이 필요합니다.

유의할점⚠️

  • 예의를 지켜주세요. 답변자는 답변을 할 의무는 없습니다.
  • 질문에 대한 대부분의 답은 검색으로 찾아보실 수 있습니다.
  • 답변자가 답변을 하면서 대개 많은 경우는 다시 질문을 하는 경우가 많이 있습니다.
    • (질문의 대한 정보가 부족합니다. ~일 경우 결과물이 어떻게 됩니까? 등등)

질문방법🙏

자신의 상황을 최대한 자세히 설명해주세요.

상황이 정확하고 많을 수록 답변의 정확도가 올라갑니다. 

ex) ex) 헤놀로지라면 메인보드 모델 칩셋정보, CPU, 사용한 DSM 버전, 모델, 부수적인 추가 컨트롤러 나 랜카드 등과 어떠한 로더의 이미지를 사용했는지.(arpl-i18n, mshell), 어떤 버전을 사용했는지, 문제가있다면 어떠한것인지 스크린샷을 동반하고 에러의 경우 에러로그를 출력해서 주시면 좋습니다.

*가능하면 최신버전 OS/SW를 이용해주세요

 

답변에대한 피드백을 주세요.

정보가 질문에 모두 담겨있지않다면 대부분의 답변이 다른정보를 요구합니다.

이러한 답변에 대해 명확한 피드백을 주시면 도움이 됩니다.

profile image 2등
akrsoTale 2024.02.06. 17:18

네트워크 레이어 문제입니다.

공인아이피가
1.2.3.4라고 하고,
내부 아이피 서브넷이
10.0.0.0/24라고 가정해보겠습니다.

외부망에서의 접근은,
기기(123.123.123.123) -> example.com -> 도메인 네임 서버 검색 -> 1.2.3.4 반환 -> 외부 기기에서 1.2.3.4에 페이지 요청 -> KT외부망을 통해 내부망 진입 -> 포워딩 및 나스 도착.

내부망에서의 접근은
기기(10.0.0.2) -> example.com -> 도메인 네임서버 검색 -> 1.2.3.4 반환 -> 내부 PC(10.0.0.2)에서 1.2.3.4에 페이지 요청 -> KT공유기에게 물어보니 자기 자신임을 알려줌(10.0.0.1).(L2의 역할) -> 로컬 PC에서의 요청은 포워딩이 되어있지 않으니 요청 Fail

입니다.
내부망에서 도메인 해석을 원하신다면 포워딩을 서브넷에 맞춰서 룰을 추가해주시면 되고,
그게 아니라면 L3를 달아서 라우팅을 해주셔야 합니다.

profile image
메또롱 글쓴이 2024.02.06. 23:11
akrsoTale
제가 네트워크부분은 잘 몰라 댓글보고 많이 배웠습니다. 감사합니다!

다만 추가적으로 궁금한 부분이 있습니다.
위 네트워크 구성도 상의 PC-1에서 NAS 접근 시 오류가 발생하는 이유는 이해가 되었습니다.
다만 PC-2 또는 내부 와이파이 망에 연결된 기기에서 NAS로 접속을 하면 또 정상적으로 되더라구요.

설명해주신 내용에 따르면 해당 장비에서 접속할때도 오류가 발생해야 할 것 같은데 정상적으로 포워딩되고 있습니다.
혹시 이러한 증상이 발생하는지 알 수 있을까요?
klayf 2024.02.07. 14:18
메또롱

사용하시는 네트워크의 구성을 정확하게 알 수 없으므로 일단 경로는 여러 가지가 될 수도 있습니다.

혹시 접속 가능한 기기들은 모두 KT 버디를 통해 연결되었나요?
또는 DNS 캐시 초기화 후에도 가능하신지 궁금합니다.

profile image
메또롱 글쓴이 2024.02.11. 13:07
klayf
답변이 늦었네요ㅠ 죄송합니다.
KT 버디를 포함해 상단 공유기에 연결되어 있는 기기들에서 접속이 가능합니다.

또한 DNS 캐시 초기화 및 공유기 재설정을 진행해보았지만, 역시 PC-1 에서는 접속이 불가하고 나머지 기기에서 접속 가능합니다.

덕분에 많은지식 배웠습니다. 새해 복 많이 받으세요!
3등
백의종인 2024.02.06. 17:26
개인적으로 번거롭지만, 그나마 확실한 방법이라고 생각하는 방법입니다.

내부망 전용 DNS 서버를 설치하고, DNS 접미사 설정합니다.
그리고 DNS 레코드에 내부망 IP - 내부망 장비 호스트 이름을 바인딩합니다.
그리고 PC-1에 내부망 전용 DNS를 등록하여 사용하는 것입니다.
profile image
akrsoTale 2024.02.06. 22:37
백의종인
저도 OPNsense에서 DNS Resolver에 Host Override기능으로 편하게 사용하고 있습니다!
klayf 2024.02.07. 12:09

전형적인 NAT loopback (Haripin) 부재로 인한 증상으로 보입니다.

게이트웨이 입장에서는 사설망의 기기가 게이트웨이의 공인IP를 목적지로 할 경우 이에 대한 답변 또한 SNAT로 마스커레이딩을 해줘야지만 온전히 통신이 가능한데, 이에 대한 룰이 명시되지 않았으므로 리플 패킷에 대해 SNAT 없이 사설망 기기에게 전달되어 해당 패킷은 요청한 패킷의 목적지와 리플 패킷의 출발지가 서로 달라 폐기됩니다.

따라서 외부 도메인으로 접속하려고 하면,

1. DNS에 의해 도메인을 공인 IP로 변환 -> 사설망 기기가 사설 주소를 출발지로, 게이트웨이에 GW가 가진 공인 IP를 목적지로 하여 접속 (목적지가 공인 IP이므로 DNAT는 정상적으로 이뤄짐)

2. DNAT 이후 패킷은 서버로 포워딩됨

3. 사설 기기의 입장에서는 발신한 패킷의 목적지가 공인 IP였으므로 서버는 소스가 사설망인 기기에 돌려줄 때에도 게이트웨이에 의한 SNAT를 통한 마스커레이딩 필요

4. 그러나 출발지와 목적지가 모두 사설망이므로 서버의 리플 패킷이 SNAT 없이 서버의 사설망 주소 그대로 클라이언트에 전달

5. 클라이언트는 사설망 주소를 목적지로 하여 요청한 적이 없으므로 해당 패킷은 폐기

 

NAT 과정에서 일어나는 문제이므로 NAT를 처리하는 방화벽(여기서는 공유기)에서 iptables 규칙을 추가하여 해결할 수 있으며,  또 다른 해결 방법은 Adblock Home이나 Pihole과 같은 DNS 서버를 구축하고, 해당 DNS 서버에서 접속할 도메인을 NPM 서버 주소로 바인딩하는 것입니다.


아쉽게도 KT 공유기에는 헤어핀 또는 NAT 루프백 기능이 없는 것으로 알고 있으며, 아이피타임 등의 공유기에서는 기본으로 지원됩니다.
그 외 마이크로틱 라우터에서는 srcnat 룰을 추가하시면 간단하게 해결됩니다.

profile image
메또롱 글쓴이 2024.02.11. 13:07
klayf
공유기를 바꾸던지 하는게 가장 간편하겠네요ㅠ 답변 감사합니다. 새해 복 많이 받으세요!

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story