다른 사람에게 질문을 던지고 싶은 사람이라면 누구든지 위의 글을 반드시 읽어볼 것을 권한다. 김정균 님이 작성하신
HOWTO For Beginners 이다.
아까 누가 메신저에 등록해서...
그분과의 대화를 저장하였다.
사실 대화하면서 많이 답답했다. 포트포워딩이 왜 필요한지 말도 안하고 포트포워딩을 해달라고 하였으니...
만약 내가 왜 할거냐고 안 물어봤다면 나의 대답은 다음과 같았다.
1. 리눅스 설치하세요.
2. 터미널에서 sudo apt-get install iptables 를 입력하세요.
3. iptables 설정하세요
물론 내가 iptables를 개뿔 아는게 있을리 없지만, 이건 그 이전에 매우 기본적인 것에 대한 내용이다. 일단 이 분은 리눅스가 무엇인지 모르고 계셨기에... 아니, 그보다는 운영체제라는 것에 대해서 모르고 있었던 것 같다. "윈도에서 큐파일이라는 프로그램을 이용하기 위해 포트포워딩을 해야 한다"는 것을 질문했어야 제대로 된 답이 나올텐데, 앞쪽을 잘라놓고 "포트포워딩을 해야 한다"는 것만 질문 하면 그 어떠한 전문가라도 iptables 를 쓰라고 할 것이다.
구글에서 검색해보면 iptables를 이용하는 방법이 가장 처음에 나온다. 어쨌든, 나야 뭐 질문도 많이 해봤고 대답도 많이 해봤기에 답답함을 이겨내고 원초적인 부분을 파내서 이분이 원하는 답을 해주긴 했지만. 뭔가 안된다는 질문은 아무런 대답도 얻을 수 없는 공허한 질문이다. 뭐가 안된다는 건지 알려주지 않으면 답이 나오지 않는 법이다.
그래서, 질문을 잘하는 것이 좋은 대답을 얻는 비결이다. 우문에는 우답밖에 나오지 않는다.
KIM 님과 2009-01-14 오후 2:40:40 의 대화
(오후 2:40:44) snowall: 누구신가요?
---
포스에 의해 혼란스러운 기분이 됩니다...
KIM: 안녕하세요^^
KIM: kldp 회원인데 문의드릴께있어서요^^
snowall: 아...네
snowall: 물어보세요
KIM: 리눅스 잘하세요?
snowall: 아뇨...;;;
snowall: 그냥 엔드유저로 쓰는 정도죠...
KIM: 어느 정도 하시겠네요 그럼 ^^
snowall: 네
KIM: iptables는 netfilter 기반의 오픈소스 방화벽입니다.
그런데 저걸 하기위해선 리눅스 시스템에 kernel에서 netfilter 가 활성화 되어있어야 합니다.
만약 리눅스 기반에 접속을 한다만 iptables 명령이 동작이 되는지 확인해 보시고 안된다면
어쩔수 없는 부분입니다.
KIM: 이게 무슨 말인가요?
snowall: 음...말 그대로인 것 같은데요
snowall: iptables를 쓰려고 하시는 건가요?
KIM: 네
KIM: 할 수 있으시죠?
snowall: iptables가 netfilter기반의 오픈소스 방화벽이라는 말 뜻은
snowall: iptables를 쓰려면 netfilter라는 기능을 쓸 수 있어야 한다는 뜻이예요
snowall: netfilter 기능은 리눅스 커널에서 제공하는 기능이고
snowall: 따라서, iptables를 사용하시려는 컴퓨터에 설치된 리눅스 커널에서 netfilter 기능을 제공하지 않으면 iptables도 쓸 수 없어요
KIM: 혹시 이명령어 아시나요?
KIM: iptables -t nat -A PREROUTING -p udp --dport 9292 -j MNAT -to 192.168.0.5:9292
snowall: 그건 모르죠...
snowall: 음...질문의 요지를 잘 모르겠네요. iptables를 아직 쓰고 있지 않지만 앞으로 쓰기 위해서 물어보신 건지, iptables를 쓰고 있는데 그 기능의 어떤 부분을 물어보신 건지
KIM: 전자요..
KIM: 포트포워딩을 하기위해서요.
snowall: 음...그럼 그 명령어를 물어보기 전에, 사용하시는 컴퓨터에서 iptables를 쓸 수 있는지를 먼저 알아보셔야 할 것 같은데요
KIM: 아... 그걸 어떻게 알 수있나요? 아시다시피 초짜라서요.ㅡㅡ;
snowall: iptables는 설치 하셨나요?
KIM: 아직... 사실 뭔지도 모르고 ... 제 목적은 포트포워딩을 하기 위해 iptable 이 있다는 걸 알았으니까요.
KIM: 다운을 어디서 받나요?
snowall: 리눅스 소프트웨어는 대부분 저장소에서 바로 설치할 수 있어요
KIM: 시키는데로 해보겠습니다.
snowall: 쓰고 있는 리눅스 머신이 어떤 건가요?
KIM: 음... 아까도 말씀드렸지만... 리눅스를 잘모릅니다. 깔려있는게 없어요.
KIM: 무엇을 깔아야하지요?
snowall: 일단, 설치된 리눅스의 종류가 우분투인지 페도라인지 젠투인지 수세인지...등등에 따라서 패키지 매니저가 다르거든요...
KIM: 제가 하고자하는걸 한다면 뭘로 해야할지....
snowall: 음...리눅스는 설치를 하셨나요?
KIM: 아직... 이요...
snowall: 그럼 리눅스 설치를 먼저 하셔야겠네요
snowall: 순서를 알려드릴게요
KIM: 프리웨어인가요?
snowall: 네
snowall: 무료로 구할 수 있어요
KIM: 그럼 시키는데로 하겠습니다.
KIM: 어디서 무엇을 받으면 되나요?
snowall: ubuntu.com 에 가서 Ubuntu 배포판 8.10을 다운받으세요
snowall: iso파일이니까 CD나 DVD로 구워서 설치하시면 됩니다
snowall: 리눅스 설치하는건 윈도 설치하는 것 만큼이나 쉬우므로 따로 설명은 안드려도 되겠죠
KIM: 데몬이 있으니 가능할 거 같습니다.
snowall: 그 다음에 터미널에서
sudo apt-get install iptables
라고 입력하시면 iptables가 설치될거예요
snowall: 음...리눅스는 윈도와 마찬가지로 하나의 운영체제이기 때문에 가상CD로는 설치하는게 의미가 없습니다
snowall: 버추얼 PC같은걸 사용해서 윈도 위에서 돌리실 건가요?
KIM: 음... 하시기 전에 bigin download 에서 로케이션을 선택하라는 문구가 나왔습니다.
KIM: begin
snowall: Asia에서 적당히 가까운 곳을 고르시면 될거예요
KIM: 용량이 크네요?
snowall: 1. 리눅스 설치 2. iptables 설치 3. iptables 설정. 이 순서대로 가시면 됩니다
snowall: 네
snowall: 운영체제라니까요...
snowall: 포트포워딩을 하는 목적은 뭐죠?
KIM: 9100 을 열어주려고 합니다.
snowall: 그러니까, 9100포트를 여는 목적이요
KIM: p2p 인 큐파일이 9100 포트를 열어야 해서요.
snowall: 음...
snowall: 그런 용도라면, 저한테 질문하신건 가장 첫줄부터 전부 잘못 질문하셨습니다...
snowall: 큐파일은 윈도에서 돌아가는 프로그램이므로
snowall: 윈도에서 쓰는 방화벽에서 9100포트를 열어주면 됩니다
snowall: 윈도에서 쓰는 방화벽은 제어판에 가면 아이콘이 있구요
KIM: 아.. 열었는데 안되었습니다.
snowall: 그래도 안된다면, 또다른 방화벽이 있는 거겠죠
KIM: 그게 포트포워딩을 해줘야 된다고 들어서요.
snowall: 포트포워딩을 하는건 맞겠지만, iptables는 리눅스용이니까 윈도에서는 돌아가지 않아요
snowall: 윈도용 포트포워딩 솔루션을 따로 찾아보셔야 할 것 같습니다
snowall: 만약에 공유기를 사용하신다면 공유기에서 포트포워딩을 지원할거예요
KIM: 음 iptable 은 공유기 포트포워딩 해주는게 아닌가요?
snowall: iptables는 "리눅스"가 설치된 PC에서 사용하는 방화벽 프로그램입니다
snowall: 공유기 포트포워딩은 공유기에서 자체적으로 지원하겠죠
KIM: 그럼 공유기 포트포워딩 하는 방법이 아니였나요?
snowall: 네
KIM: http://dduri.net/blog/entry/%C6%F7%C6%AE-%C6%F7%BF%F6%B5%F9 참고 사이트입니다.
snowall: 저건 리눅스에서 쓰는 명령어 얘기들인데요
snowall: 공유기 포트포워딩을 하시려면
snowall: 지금 쓰고 계시는 공유기의 사용설명서를 주의깊게 읽어보시면 됩니다
KIM: 지금 말씀은 리눅스의 포트 포워딩이 공유기의 포트포워딩으로 대처가 안된다는 말씀인거 같은데, 되신다는 분도 있고.... 물론 공유기 자체만으로 포트포워딩을 할 수 있긴 하지만, 그럴 처지가 아니라서요.
snowall: 음..
KIM: 그리서 리눅스를 이용 하려 했던 겁니다.
snowall: 큐파일이라는 프로그램은 윈도용이고, 리눅스에서는 돌아가지 않아요
snowall: 리눅스는 윈도랑 같은 수준의 운영체제입니다
snowall: 리눅스에서 포트포워딩을 하는건 된다 하더라도
snowall: 큐파일이 돌아가질 않겠죠
KIM: 아.... 그럼 혹시.... 윈도우에서 제어판가서 포트를 열어주려는 것과 리눅스에서 iptable 해주는 것과 같은 의미인가요?
snowall: 네
KIM: 아 ㅠㅠ 그런거였군요..
KIM: 근데 이 부분에 대해서 문의를 드린 분이 가능하다고 했었는데 참고 로 멜 보여드릴께요.
KIM: iptables는 netfilter 기반의 오픈소스 방화벽입니다.
그런데 저걸 하기위해선 리눅스 시스템에 kernel에서 netfilter 가 활성화 되어있어야 합니다.
만약 리눅스 기반에 접속을 한다만 iptables 명령이 동작이 되는지 확인해 보시고 안된다면
어쩔수 없는 부분입니다.
결론은 내려드리면 만약에 iptables 가 없다면 라우팅 table에 목록을 올려서 하는 방법이 가능하고
route 명령으로 진행할수 있기는 합니다
KIM: 이렇게 말씀하시던데요....?
snowall: 저 얘기는 그냥 "포트 포워딩"만 물어봐서 답이 나온 거겠죠
snowall: 큐파일 얘기는 안하셨죠?
KIM: 네..
snowall: 그분에게 큐파일 얘기도 같이 하면서 물어보세요...저랑 똑같은 얘기를 하실 거예요
KIM: 근데 이거 불법인가요?
snowall: 어떤게요?
KIM: 포트포워딩하는거요..
snowall: 아뇨
KIM: 그런분도 계시길래...'
snowall: 자기가 쓰는 컴퓨터의 포트를 바꿔서 쓰는건 당연히 아무도 말리지 않습니다...
snowall: 남의 PC를 주인의 허락 없이 어떻게 하는 것은 불법이지만
KIM: 님 그러면 공유기 포트는 열 수 있는 방법이 있나요?
snowall: 그건 공유기 설명서를 보셔야죠
KIM: 공유기를 리셋 할 수 있는 상황이 아니라서요..
snowall: 리셋은 안해도 될 것 같긴 한데요
snowall: 아무튼 그 부분에 대해서는 공유기 설명서를 참고하세요
KIM: 아이디와 비번을 입력해야하는데... 설치하신분이 연락두절이라서요.
snowall: 음...그럼 제가 할 수 있는 방법이 없겠네요
snowall: 혹시 모르니까 설명서에 있는 초기 아이디와 초기 비번으로 시도해 보세요
KIM: 그럼 하나만 여쭙겠습니다. 윈도우는 제어판에서 포트를 쉽게 바꿀 수있는데에 비해 리눅스는 같은 운영체제 임에도 그런 복잡한 명령어가 있나요?
snowall: 뭐...그렇다기보다는, 리눅스에도 포트 열어주는 GUI로 된 프로그램이 있겠죠
snowall: 있었던 것 같은데요
snowall: 리눅스는 명령어로 해도 되고 마우스로 클릭해서 해도 될 겁니다
snowall: 윈도에도 명령어로 할 수 있는게 있겠지만...
snowall: 아무튼
snowall: GUI로 된 프로그램을 설명하기 위해서는 화면 캡쳐도 넣어야 하고 여러가지로 복잡하지만
snowall: 명령어로 설명할 때는 아까 보여주신 것처럼 한줄 붙여넣기 하면 되죠
snowall: 더 편하지 않나 싶은데요
KIM: 아... 그렇군요..
KIM: 리눅스 조금 아신다고 하셨는데 이렇게 박학다식하신분을 만나게 되어 영광이었습니다.. 그리고 친절한 설명 정말 감사합니다.
snowall: 음...전혀 박학다식하지 않습니다...;;
snowall: KLDP의 고수분들과 비교하면 저는 초보중의 초보인데요 -_-
KIM: 그래도 제가 보기에 크게 느껴질 뿐입니다.^^
KIM: 아무튼 오늘 정말 감사했습니다.
snowall: 네
snowall: 수고하세요
KIM: 네^^
RECENT COMMENT