posted by eyeball 2008. 11. 2. 19:47

cbtop 

말도 많고 탈도 많은 클럽박스. 그렇지만 내 입장에서는 클럽박스만큼 편한 곳도 없기 때문에 어쩔 수 없이 계속 쓰고 있는 형편이다. 그래도 기왕 쓰는거 조금이라도 쾌적하게(?) 사용하자는 취지에 이런 저런 노력을 계속 하고 있다.

그 노력 중의 하나가 바로 CRC파일에 있다. CRC파일은 클럽박스에서 파일을 다운로드 받으면 생성되는 파일이다. 클럽박스에서 다운로드를 받는 중에는 파일명.확장자_NEO_와 파일명.확장자_CRCDATA_라는 파일이 생성된다.

이 중 _NEO_ 파일은 실제로 다운로드 중인 파일이 저장된다. 때문에 전송 중에 KMP등으로 이 파일을 불러오면 재생이 가능하다. 그리고 _CRCDATA_ 파일은 이름에서도 알 수 있듯이 위 파일에 대한 CRC정보가 저장되는 파일이다. 이 파일이 전송이 끝나면 _NEO_ 파일은 원래 파일명으로 변경이 되며 _CRCDATA_ 파일은 C:\Windows\system32\crc폴더에 xxxxxxxxxx.crc의 파일명으로 변경되어 옮겨진다. 다운 받은 파일 하나당 하나씩 위의 파일이 남게 되는 것이다. 100KB도 안 되는 크기이지만 이것이 쌓이면 수십메가에 달하기도 하며 OS드라이브의 단편화에도 한 몫 한다. 그리고 결정적으로 왠지 꺼림칙하다. 저런 파일을 남긴다는 것은 분명히 P2P 전송을 위한 것일 테니 말이다.

그래서 보통 취하는 방법은 fscflist.ini파일 처럼 쓰기 권한을 없애서 crc파일이 다운로드 폴더에 그대로 남게 한 뒤 직접 지워주던가 배치파일을 만들어 재부팅 혹은 일정 시간 마다 위 폴더를 지워주는 방법을 사용한다. (C:\Windows\system32\crc폴더의 쓰기권한을 없애면 _CRCDATA_ 파일이 다운로드 폴더에 그대로 남는다.)

하지만 만약 램디스크를 사용한다면 이것을 좀 더 효과적으로 관리할 수 있다. 심볼릭 링크를 이용하여 C:\Windows\System32\crc폴더를 램디스크에 물려주면 끝이다. 이렇게 하면 crc파일이 바로 램디스크로 이동되기 때문에 따로 지워줄 필요도 없고 C드라이브에도 영향을 주지 않으니 시스템 유지 관리 차원에서 더욱 효과적이다.

심볼릭 링크는 보통 유닉스/리눅스에서 자주 사용되는 것이지만 윈도우에서도 ntfs파티션이라면 사용이 가능하다. 단지 XP까지는 그것을 이용할 툴을 자체 지원하지 않았을 뿐이다. 때문에 XP이하에서는 Junction utility라는 것을 이용하면 되고 비스타 부터는 Mklink 명령어를 자체 내장하여 지원한다.

먼저 XP에서는 DEVHOOD에서 Junction utility를 다운로드 받아 적당한 곳에 압축을 풀어 사용하면 된다. 나중을 위해 juncion.exe파일을 C:\Windows\system32 폴더에 넣는 것을 추천한다. 다운을 받았으면 먼저 C:\Windows\system32 폴더의 crc폴더를 내용물과 함께 삭제 한 뒤 윈도우->실행에서 cmd를 열어 다음과 같이 입력한다.

junction C:\Windows\system32\crc 램디스크의 기본폴더

junction

그러면 위와 같이 crc폴더가 만들어 졌고 그의 타겟이 지정되었다는 메세지가 출력된다. 본인은 램드라이브에 TEMP\crc가 기본으로 만들어지도록 설정하였기 때문에 타겟을 그렇게 잡아 주었지만 보통 램드라이브의 기본 설정은 TEMP폴더 하나가 대부분이기 때문에 TEMP폴더로 지정해 주면 된다.

비스타에서는 마찬가지로 crc폴더를 제거한 뒤 관리자 권한으로 cmd를 실행하여 다음과 같이 입력한다.

mklink /d C:\Windows\system32\crc 램디스크의 기본폴더

mklink

그러면 XP와 마찬가지로 기호화된 링크가 만들어졌다는 메세지가 출력된다.

ccrc zcrc

그 후 클럽박스에서 파일을 다운 받으면 위와 같이 C:\Windows\system32\crc에 저장된 것처럼 보이지만 실제론 지정한 램디스크에 저장되게 된다. 때문에 위해서 언급한 바와 같이 C드라이브를 거치지도 않으며 램디스크이기 때문에 재부팅 하면 crc파일들도 함께 날아가 버리게 된다.

램디스크 사용자가 아니더라도 심볼릭 링크를 이용하여 관리하기 편한 다른 TEMP폴더 등으로 연결시켜 놓으면 좀 더 편하게 관리할 수 있을 것이다. 또한 이를 이용하여 다른 곳에도 충분히 이용할 수 있을 것이다.

posted by eyeball 2008. 3. 16. 15:33


잘 알려졌다시피 클럽박스는 웹하드를 가장한 P2P 서비스다.
클럽박스 클라이언트를 실행하고 있으면 자신의 컴퓨터의 자원과 데이터를 싹싹 긁어가는, 그렇다고 그것에 동의하고 사용하는 것이고 약관에도 나와있는 내용이기에 욕할 수도 없는 그런 기능이다. 때문에 다운 받을 자료만 언능 받고 클라이언트를 종료하라는 추천이 있지만 이것은 그다지 확실한 방법이 아니다. 클라이언트를 종료하더라도 이미 연결되어 있는 프로세스는 전송이 완료될 때까지 기다렸다 종료되기 때문이다. 말이 유휴 네트워크지 실제로는 다운과 업로드를 동시에 한다. 그리고 클라이언트를 켜 놓는 궁극적인 이유는 시간당 10 혹은 12점씩 쌓이는 '마일리지'를 위해서일 것이다.

하지만 마일리지를 위해 클라이언트를 계속 틀어놓으면 시스템과 네트워크의 성능에 심각한 타격을 입히게 된다. 단적인 예로 회선 하나를 분배하여 전체의 인터넷을 수용하는 기숙사 내의 한 컴퓨터에 클럽박스 클라이언트를 아무런 제한 없이 24시간 틀어 놓으면 얼마 지나지 않아 그 기숙사 전체의 인터넷 속도가 심각하게 떨어지게 된다. 실제로도 예전에 잠깐 도와줬던 피시방에서도 같은 문제로 골치를 썩었던 적이 있었다.

때문에 예전부터 이런 클럽박스의 업로드를 막는 여러가지 방법이 나오게 되었다. fscflist.ini파일을 읽기전용으로 바꾸는 방법 부터 방화벽을 이용한 차단까지 그 형태 또한 여러가지이다. 그러나 현재 가장 확실한 방법으로 꼽히는 것은 방화벽을 이용한 차단이다.

그러나 윈도우 자체 방화벽으로는 기능이 불충분 하고, 그렇다고 따로 방화벽 유틸리티를 설치하는 것은 일반 사용자에겐 부담된다. 특히 컴퓨터가 여러대인 경우 클럽박스를 사용하는 모든 PC에 일일이 설정을 하는것도 큰 일이다. 때문에 이 글에서는 간편하게 공유기를 이용한 차단 방법을 설명하고자 한다. 요즘은 2대 이상의 PC를 사용하는 가정이 늘어남에 따라 공유기를 사용하는 환경이 많아졌기 때문이다.

자료는 파코즈의 한동윤님께서 작성하신 PDBOX/CLUBBOX 사용주의라는 글의 내용을 나름대로 분석하고 실험한 뒤 부족한 내용을 추가하였다. 자세한 설명은 위 글에 나와 있기 때문에 여기서 따로 설명은 하지 않겠다.

결론부터 말하자면 인바운드(외부->내부) TCP 로컬 19101 포트 차단, 아웃바운드(내부->외부) TCP 원격 29101 포트 차단, 아웃바운드(내부->외부) TCP 원격 18000~18999 포트 차단을 하면 된다.

위 정책을 사용중인 공유기의 보안정책에 적용하면 된다. 설명은 EFM networks의 ipTIME Q104를 기준으로 하겠다. 같은 ipTIME이라도 종류와 펌웨어 버전마다 메뉴가 다를 수 있으나 기본적인 맥락은 같으니 비슷한 페이지를 찾아서 따라하면 된다.

공유기 관리 페이지(보통은 http://192.168.0.1)에 접속하여 고급 설정 -> 보안 설정으로 이동하면 다음과 같은 페이지가 나타난다.
사용자 삽입 이미지

여기에 위의 차단 규칙을 추가하면 된다. 추가 방법은 다음과 같다.

012

추가하면 그 밑에 다음과 같이 추가된 내용을 확인 할 수 있다. 추가하는 순서는 상관 없다.
사용자 삽입 이미지

추가를 한 뒤에는 위쪽의 설정저장을 눌러 공유기를 리셋하더라도 내용이 유지될 수 있도록 한다. 이렇게만 해 두면 공유기 내의 모든 컴퓨터에 별다른 설정 없이 클럽박스를 이용하더라도 업로드가 되는 것을 방지할 수 있다. 단, 쓸데없는 자원 낭비를 조금 더 확실하게 막고 싶다면 fscflist.ini파일의 NTFS 접근 권한을 변경해 주면 된다. 설정 방법은 한동윤님의 글에 자세히 나와 있다.


다음은 한동윤님의 글에 나와있지 않은 아웃바운드 TCP 원격 29101 포트 차단에 관한 내용이다.

29101포트는 '스페셜 마일리지'에 체크할 경우 활성화되는 포트로 '그리드 컴퓨팅'에 사용될 자료를 교환하는 용도로 사용된다. 이 포트를 열어두면 다른 사용자가 이 포트에 접속하여 주기적으로 데이터를 업로드 한다. 반대로 생각하면 내 컴퓨터도 다른 사용자의 29101포트에 접속하여 주기적으로 데이터를 업로드한다는 것이다. 한번에 전송되는 데이터의 크기는 약 200kb~500kb이며 주기는 3~5분 정도로 측정되었다.(여러 시스템에서 측정한 것이 아니라 확실하지 않다.) 확실히 적은량이기는 하지만 이 또한 사용자의 시스템 자원을 사용하는 것임에는 분명하다. 광랜이나 전용선 사용자에게는 별 부담이 없지만 VDSL 사용자에겐 1~2초, ADSL 사용자에겐 5~10초최고속도로 업로드를 해야 하는 크기다. 그리고 이것은 xDSL사용자에게는 생각보다 큰 대가를 치루게 된다.

xDSL은 특성상 업로드 시 핑이 상당히 높아지며 회선이 불안정해진다. 이것은 다운로드 속도에 영향을 미치며 특히 온라인 게임 중 렉을 유발하게 된다. 때문에 이 포트 또한 차단해 주는 것이 좋다. 실제로 ADSL을 사용중인 본인 또한 이 포트를 차단 한 뒤에 더이상의 렉이 발생하지 않았다.


지금까지 공유기를 이용한 클럽박스 업로드 차단에 대해 알아보았다. 윈도우 자체 방화벽이나 카스퍼스키 인터넷 시큐리티를 이용한 방법은 한동윤님의 글에 소개되어 있으므로 참고하길 바란다. 별도의 방화벽을 이용하는 사람은 위 내용만으로도 충분히 적용할 수 있는 실력이 있다고 보기에 따로 설명은 하지 않겠다.