NAS Trouble shooting !!! - 포트 포워딩 개념NAS Trouble shooting !!! - 포트 포워딩 개념

Posted at 2012. 10. 23. 05:00 | Posted in Ph.D : Medical Scientist/NAS_컴퓨터

이제 포트 포워딩이라는 개념에 대해서 자세히 알아보도록 하겠습니다. 


간단한 셜명을 위해서 네이버를 예로 들도록 하겠습니다.


네이버에 접속해서 내가 궁금해 하는 정보를 입력해서 데이터를 받는 과정을 분해 해서 보면 이렇습니다.


naver.com에 가서 접속하면 자연히 서버 222.122.195.6에 있는 정보를 받아 와서 시작 페이지를 보여 줍니다. 


그 이후 검색어를 넣으면 다시 222.122.195.6에 있는 컴퓨터가 일련의 연산을 해서 그 결과를 다시 보여주게 됩니다.


이 때 네이버 입장에서는 정보를 어디로 줘야 하는지의 문제가 생겨 납니다. 


바로 정보를 요청한 공유기의 IP로 정보를 보내면 이 문제는 해결됩니다. 


그리고 공유기 역시 정보를 요청한 컴퓨터로 정보를 주면 되는 것입니다.



네이버 정보 서버 <-> 네이버 <-> 이용자 공유기 <-> 이용자 컴퓨터



즉 네이버에서 보낸 정보가 공유기를 거쳐서 내 컴퓨터로 오게 됩니다. 


이렇게 우리 눈에는 보이지 않지만, 인터넷을 하는 동안 지속적으로 끊임 없이 정보를 보내고 받는 일이 벌어지고 있습니다.



NAS를 통해 네트워크에서 공유한다는 것은 바로 NAS가 네이버처럼 정보를 주는 입장이  되는 것입니다.


이 때 정보를 주는 입장에서는 굉장히 신중해야만 합니다. 


받는 사람 입장에서 악의적인 의도로 해킹을 해서 내 정보를 삭제할 수도 있고, 몰래 다운 받아서 과부하를 일으킬 수도 있습니다. 


그래서 필연적으로 NAS는 그런 공격을 예방하기 위해 사용자 id와 password를 항상 검사하고, 요구합니다. 그 id가 가진 권한까지도 제한할 수도 있습니다.



자 그럼 포트란 것은 어떤 것인지 알아보도록 하겠습니다.


포트는 일종의 문과 같은 것이라 생각하시면 됩니다. 예전, 궁궐을 생각하셔도 되고, 대학교 캠퍼스를 생각하셔도 됩니다.


대학교 캠퍼스에는 규모에 따라 다르겠지만 적어도 4개 정도의 문이 있을 겁니다. 어떤 문은 공대에서 가깝고, 어떤 문은 법대에서 가까울 것입니다. 어떤 문은 경영대와 가까울 것이고, 또 다른 문은 예술대와 가까울 것입니다.


예를 들어 정문이 예술대와 가깝다면, 예술대를 다니는 학생은 정문을 이용할 가능성이 높습니다. 물론 다른 문을 이용해서 예술대에 갈 수도 있겠지만, 가까운 문을 이용하는 것이 편리할 것입니다. 


여기서 예술대, 경영대, 법대, 공대가 비유하는 바가 NAS에서 제공하는 서비스입니다. 오디오 스테이션, 파일 스테이션, 비디오 스테이션 등 다양한 서비스를 생각하시면 됩니다.


문을 포트라고 생각하시면 됩니다. 그리고 포트 포워딩이라는 개념은 새로 문을 만들어 주는 개념이라고 생각하시면 됩니다. 


그리고 공유기는 굳이 비유하자면 정문과 담장과 경비원을 합해 놓은 것이라 생각하시면 될 듯 합니다. 


자 그럼 포트 포워딩은 왜 필요하냐 하면 바로 문이 하나밖에 없기 때문입니다. 


사실 문이 하나밖에 없어도 인터넷을 하는데는 아무런 지장이 없습니다. 


그런데 NAS 서비스를 제공한다는 측면에서는 정문 하나로는 버겁게 되는 상황이 등장하기 시작합니다. 버거운 정도가 아니라, 아예 출입을 막아 놓는 경우도 있습니다.


이 때 필요한 것이 포트 포워딩입니다. 그리고 이 것을 하기 위해서는 필연적으로 공유기 설정을 건드려야 하는 것이지요.


공유기 안에서 NAS 서비스에 접근할 새로운 문을 만들어 주는 것이니깐요. 


그리고 그 문의 이름 역시 공대문, 경영대문 처럼 NAS에서 쓰는 용어(포트 넘버)와 공유기에서 열리는 문이름(포트 포워딩된 포트 넘버)은 같아야 원활한 의사소통이 되겠지요.



어느 정도 개념이 잡히셨는지 모르겠습니다. 쉽게 생각하면 지름길을 열어둔다고 생각하면 됩니다. 정문으로만 가면 갈수는 있지만 돌아가야 하니깐. 


그리고 열어두는 포트 설정을 임의로 하면 안되고 NAS가 가진 규칙대로 열어두는 작업을 하면 비로소 외부에서 접속을 해서 서비스를 이용할 수 있게 되는 것이지요. 



첨언을 하자면


우리가 도메인이나, ip를 통해서 접속을 하면 일반적으로 80 포트로 들어갑니다.


그러니깐 원래는 www.naver.com:80 이라고 쳐야지 정확하게 들어가는데, 번거로우니깐, www.naver.com이라고 치면 알아서 www.naver.com:80으로 들어가게 되는 것이지요.


그런데 특정 서비스를 이용하려면,  www.naver.com:1234 를 타이핑 하게 되면 1234에 걸려 있는 서비스로 바로 접속이 되는 것입니다. 그 서비스는 오디오일 수도 있고, 파일다운로드일 수도 있습니다.


당연히 공유기에서 그 포트가 안 열려 있다면 (포트 포워딩이 안되어 있다면) NAS에서 아무리 서비스를 제공한다고 해도 www.naver.com:1234 라고 들어가도 못 찾는 것이지요. 


그냥 이거 뭐지 하면서 페이지를 못찾았다면서 무시하는 공유기도 있을 것이고, 기본 포트인 80으로 들어가서 메인 서비스를 보여줄 수도 있을 것입니다.


그러니깐, 만약 자신이 NAS에서 서비스를 실행시켰는데, 안된다면, 경험상 포트의 문제일 가능성이 상당히 큽니다.


그리고 이 상황에서 포트 개념을 잡는데 시간이 많이 들고, 공유기 설정을 바꾸는 것 역시 왜 하는지도 모르지만 어떻게든 하면 된다고 하니깐 막 변경하면서, 따라 하면서 시간을 보내게 됩니다. 


저 역시도 그런 사람 중 하나였고, 그렇게 몇 번 해결해 보았지만, 또 문제가 생기면 (업그레이드나, 공유기 변경 등) 왜 하는지 모르고 하는 경우가 많았습니다.


근데, 이 개념을 잡고 난 이후에는 그 어떤 공유기가 있어도 포트 문제라면 대부분은 해결이 되더군요. 


사실 포트 포워딩은 알고 나면 쉬운 개념이니깐, 너무 어려워 마시고, 차근 차근 해 보시길 권장합니다.



그리고 제일 좋은 해결책은 


1. 기술자를 불러 유료든 무료 원격 서비스를 받는다 - 이거 상당히 도움됩니다. 저 역시도 가끔 이용하고픈 욕구가 들 때가 많습니다.


2. 범용화된 공유기를 새로 구입한다. iptime이 그런 면에서 권장할 만 합니다. 


3. 그 기능은 쓰지 않도록 한다(???)


인 것 갈습니다.

Posted by 오지의 마법사
  1. 포트포워딩이란게 받는 입장에서 하는건가요? 네이버는 주는 입장이라고 하셧잖아요. 근데 저는 공유기가 기본적으로 외부접속을 차단시키기때문에 그걸 여는걸 포트포워딩이라고 알고잇엇는데 저는 네이버를 포트포워딩한적이
    • 2012.12.21 16:05 [Edit/Del]
      없는데 왜 자동으로 허가가 되는거인가요? 너무 어려워요 ㅠㅠㅠ
    • 2012.12.21 19:28 신고 [Edit/Del]
      공유기 입장에서 살펴 보시면 됩니다. 공유기 입장에서는 정보를 준 쪽에 다시 정보를 제공할 필요가 있죠. 그러니깐, 그 정보를 다시 주기 전에 요청된 주소를 정보를 제공할 곳에 연결해 줄 필요가 있습니다.

      이 연결을 포트포워딩이라고 생각하시면 됩니다. 그럼 당연히 포트포워딩은 받는 입장에서 하는 것이죠. 공유기 입장에서는요.
    • 2012.12.21 19:30 신고 [Edit/Del]
      그리고 제가 예시에 든 네이버는 우리가 요청하고자 하는 인터넷 페이지의 네이버 라고 생각하시면 됩니다. 네이버 입장에서 정보를 준다는 의미는 우리에게 페이지를 보여주는 의미의 주는 입장이고, 네이버 역시 포트의 입장에서는 받는 입장이 될 수도 있습니다. 예를 들면 우리가 무언가를 검색하면 그 결과를 보여 주기 위해서는 검색 키워드를 받아야 하니깐요.
    • 2012.12.21 19:31 신고 [Edit/Del]
      외부 접속을 차단시켜서 연다는 개념으로 포트포워딩으로 이해하셔도 됩니다만, 정확히 이야기하면 우회해서 다른 곳으로 연결해 준다고 생각하시면 됩니다. 일반적으로 공유기에서 포트(주소:aaaa)에서 a는 막혀 있기 때문에, 이 걸 열어 주는 것이죠.

      자동으로 포트 포워딩 되는 것은 아마도 공유기 상에서 그렇게 되어 있을 가능성이 높습니다. 다시 한번 차근히 해 보시고 시행착오를 경험하시면 잘 될 것이라 생각합니다. ^^ 힘내세요~
  2. 키읅키읅
    잘 보았습니다~
  3. 행인
    도움 많이 되었습니다 ㅎㅎ
  4. 행인
    도움 많이 되었습니다 ㅎㅎ
  5. 오리뎅이
    기술을 비유적으로 설명하는 것은 엔지니어가 비엔지니어에게 개념적인 측면을 설명할때 사용하면 매우 효율적인 방법입니다. 반면에 실제 엔지니어게는 비효율적인 방법일 수 있습니다. 만일 이 글을 보고, 포트포워딩이 정말로 어떻게 동작하는지를 알고 싶어 했던 엔지니어라면 기술적으로는 파악할 수 있는 부분이 별로 없습니다. 뭔가를 많이 배운거 같지만, 실질적으로는 실무에 적용할라고 치면 배운게 없게 됩니다. 만일 엔지니어가 아닌, 비엔지니어로 개념적인 내용을 이해하고 싶었던 분이라면, 뭔가 얻어 가시는게 있을겁니다. 기술 용어에 비해서 개념적으로는 '아하~! 이런 느낌이구나!' 하고 생각하실 수 있으실 겁니다.

    엔지니어로서 엔지니어를 위한 글을 쓸때는 실제 사용하는 기술 용어를 사용해서 있는 그대로 설명하고, 기술 용어가 이해하기 어렵다 싶은 경우에 은유나 비유를 들어 개념적으로는 이렇다 라고 설명을 곁들여 주면, 고수 엔지니어가 되기를 꿈꾸는 초보 엔지니어분들에게 정말 도움이 될거 같습니다.
    • 2015.09.01 14:03 신고 [Edit/Del]
      감사합니다. 저 역시 많이 동의하는 부분입니다. 지적하신 부분에 대해서 공감이 갑니다.

      하지만, 기술적으로 여기 사이트를 찾아서 오시는 분이 엔지니어일 가능성은 상대적으로 낮아 보여서, 비유적으로 글을 썼습니다. 그리고 기술적으로 비유를 사용하지 않고 설명을 하면 더 좋은 경우도 있지만, 생각보다 그렇지 않은 경우도 많습니다. 개념적으로 이해를 하거나 비유적으로 이해를 한 이후에, 기술적으로 들어가면 그게 설사 방법이 다를 수 있다 하더라도, 더 쉽게 다가올 수도 있기 때문이죠.

      그리고, 실무에 적용하는 것 역시 중요하지만, 여기 들어오시는 청자들의 눈높이를 고려한다면, 비유를 이용하는 것이 더 효과적으로 판단했기 때문입니다. 추가로, 기술적인 것을 원하시는 분들은, 충분히 다른 자료를 통해서 더 접근하실 수 있을 것이라 생각합니다.

      다시 한번 간과할 수 있는 부분 지적해 주신 점 감사히 생각합니다.

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기