뭘 이런걸..

Posted
Filed under Tech/프로그래밍
얼마전 W3C 의 HTML validator 가 0.8.1 로 업데이트 되었습니다. 기존의 0.7 대와는 많은 것이 달라졌습니다. 그래서 KLDP 의 open service 중의 하나인 http://validator.kldp.org 도 0.8.1 로 업데이트 하기 위해 준비중이었는데..

결정적으로 0.7 대까지 되던 localization 이 0.8 에서는 안되는 문제가 있더군요. 빡세게 번역을 했는데, 한글 출력이 되지 않는 안습의 상황이 발생하고 있습니다.

고쳐볼까 하고 코드를 살짝 둘러봤는데, 쉬운 문제가 아닌 것 같은 느낌이 들어 일단 포기하고 W3C 버그리스트를 살펴보니 0.9 milestone 에서 처리하려는 듯한 글만 찾을 수 있었습니다.

이걸 업데이트 해야 하는지 말아야 하는지 갈등이군요. 현재 영문으로 출력되는 것은 http://opens.kldp.org 에서 확인을 할 수는 있습니다. (아직 전체적인 정상 작동 여부는 확인을 안했습니다만..)
2007/10/01 15:37 2007/10/01 15:37
김정균

한글 출력 문제를 드디어 해결을 했습니다. :-) css-validator 와 비슷한 문제이더군요. cgi-bin/check 를 다음과 같이 수정함으로 해결이 가능 합니다.

@@ -972,7 +972,7 @@ $template->param(file_source => &source(
# $T->param(file_outline => &outline($File)) if $T->param('opt_show_outline');

# transcode output from perl's internal to utf-8 and output
-print Encode::encode('UTF-8', $template->output);
+print Encode::encode('ISO-8859-1', $template->output);

#
# Get rid of $File object and exit.

Posted
Filed under Tech/프로그래밍
검색을 하다보니 rrdtool 1.3 beta 가 나왔더군요. rrdtool 의 frontend 이 rrdexec 는 여전히 rrdtool 1.2 에서 사용을 할 수가 없고, rrdtool php extension 역시 아무도 1.2 용으로 개발을 하지 않더군요. 그래서 간만에 rrdtool 1.2 를 지원하도록 두 프로그램을 업데이트 해 보았습니다.

rrdtool php extension 의 경우에는 ob stream 을 지원하기 위하여, embeded library 를 만들어야 하는데, 기존에 1.0 에서 어느정도 수정을 했는지를 까먹은지라 1.2 용 embeded library 를 제작하는데 고생좀 했습니다. T.T

뭐, 덕분에 이제 php 용 rrdtool extension 이 드디어 하나 출현하게 되었습니다. (아니면 제가 찾지를 못해서 삽질을 한 것일 수도.. --;)

더불어, rrdexec 도 rrdtool 1.2 하에서 빌드가 될 수 있도록 수정을 했습니다. 하지만, 아직 rrdtool 1.2 의 개선된 기능을 사용할 정도로 업데이트가 되지는 못했습니다. 그냥 rrdtool 1.0 에서 제공하는 기능 정도만 현재 사용이 가능하며, rrdtool 1.2 로 빌드만 가능할 뿐입니다. (multibyte font 라든지, 개선된 graph 옵션을 아직 지원하지 못합니다.)

일단, 초석으로 rrdtool 1.2 에서 빌드가 가능하게만 해 놓은 상태이며, rrdexec 는 rrdtool 1.2 의 개선 사항을 반영하여 정식으로 릴리즈 할 계획 입니다.

현재 mod_rrd 와 rrdexec 의 개선 사항은 CVS 에만 반영이 되어 있습니다.

http://cvs.oops.org/index.cgi/rrdexec/
http://cvs.oops.org/index.cgi/mod_rrd/?cvsroot=OOPS-PHP
2007/08/06 21:54 2007/08/06 21:54
Posted
Filed under Tech/프로그래밍
며칠전에 IE7 과 mod_url 문제 수정 이라는 글에서 IE7 에서 한글 URI 를 사용할 경우 mod_url 과의 충돌로 무한 루프가 발생하는 문제를 수정하여 포스팅을 했었습니다.

그 과정에서, 301 로 재접속을 시킬때, IE7 의 재변환을 막기 위하여 url encoding 을 하여 문제를 해결했는데, 그 해결을 위해 사용했던 코드가 php raw_url_encode 함수를 수정하여 처리를 했습니다. 그런데, PHP license 와 Apache license 가 충돌이 나는 이유로 어떻게 할까 고심을 하다가 완전히 새로 작성을 하게 되었습니다.

apache 는 URL 에 대하여 다음의 구조체를 가집니다.


struct request_rec {
..
char *filename;
char *path_info;
char *uri;
struct stat finfo;
char *unparsed_uri;
uri_components parsed_uri;
..
}



위에 나열된 변수들이 URL 과 관련되었으며, filename 은 system 상의 경로를 가지고 있습니다. 그래서 이것을 이용하여

  1. uri 를 iconv 로 convert 를 함
  2. uri convert 가 실패하면, 그냥 file not found 로 전송
  3. filename 을 convert 함.
  4. filename convert 를 실패하면 301 로 변환된 URI 를 이용한 주소로 재접속 하도록 함.
  5. convert 된 filename 이 시스템상이 있는지 확인
  6. 있으면 정상 출력 없으면 file not found

와 같이 처리되도록 변경이 되었습니다. 딱 1가지 경우만 빼고는 재접속을 하지 않게 되는 변경이 된것입니다. 다만, 4번 과정에서 재접속을 해야 하는데, 이 경우는 다음과 같습니다.

서버에서 다음과 같이 Alias 가 결려 있을 경우입니다.


Alias /xxx/한글/ /home/httpd/html/한글/

이 설정과 같이, Alias 이름에 한글이 들어가 있으면 apache 구조체의 filename 변수에 실제 경로 부분에는 EUC-KR 이 그리고 URI 에 해당 되는 부분에는 UTF-8 이 들어가기 때문에 iconv 에서 실패를 하게 됩니다. Alias 가 해석되는 과정에서 이게 섞이게 되는데, 이 경우는 재전송을 통하여 EUC-KR 로 들어오게 하는 방법외에는 없더군요 --;

뭐 하여튼, 이런 구조로 완전히 재설계가 되었습니다. :-)

문제는, 이 수정 사항을 KLDP.NET 의 공식 mod_url 에 반영을 해야 하는데, 패치 주고받고 하면서 하기가 상당히 귀찮네요. 코드도 완전히 바뀌었고, 그냥 mod_url2 로 fork 를 할까도 살짝 고민중입니다. ^^;

어쨌든.. apache1/2 용 모듈 2개 모두 현재 재작성이 되었고, apaceh2 용 모듈은 실제 테스트는 아직 해 보지 못했습니다. 다만 apache 2.2 의 소스를 참고하여 API 는 맞추어 놓았습니다.

재작성된 mod_url 은 http://cvs.oops.org/index.cgi/mod_url/?cvsroot=OOPS-Apache 에서 apache 1 용은 1.17, apache 2 용은 1.10 을 받으시면 됩니다.
2007/05/31 06:36 2007/05/31 06:36
강분도

Mod_url.c 감사 드립니다.

김정균

kldp.net 버전과 oops.org 버전이 merge 가 되었습니다. 제가 kldp.net 의 mod_url 의 개발자로 등록이 되어 정식 배포처는 http://modurl.kldp.net 을 이용하세요.

LeCieL

수정하지 않은 modurl의 문제입니다.
worker 에 그냥 기존에 있던거 올리고나서 돌린게 답니다;;
apache php 가 아닙니다. 미디어 전송 전용서버이므로
apache만 달랑 올라가있습니다.
돌고있는 모듈은 몇안되고 redurl이 여기에 있다가 부하 폭주시 워커의 줄사망이 있었습니다.

전송트래픽은 초당 400메가정도 됩니다. 커넥션은 폴링되고 있지만 약 4만개정도 사용하고 있구요

워커모듈에 별도로 돌고있는것은 메모리 캐시 모듈입니다.

지금버전을 테스트하기에는 실제 서버라 힘들듯합니다.

LeCieL

네 제가 써논 문서에도있다시피;; utf8 인코딩에 대한 단점이 있지요 ^^

참고로 redurl 을 위 형식대로 수정하였다가 스레드가 줄사망한것으로 기억합니다.. 커넥션이 엄청나게 많은 서버라 그래서 그런지;;
초반엔 멀쩡하다가 6시간정도 지나면 스레드가 덜렁 하나 남아있는 사태가 몇번 있었죠..
그래서 다른 소스로 변환했습니다.

김정균

일단은 어떻게 수정을 하셨는지 코드를 공개를 하지 않으셨기 때문에 mod_url 이 문제인지 아니면 수정한 부분이 문제인지는 저로서는 판단을 할 수 없고, mod_url (IE7 문제 수정전의 코드) 와 현재 제가 새로 수정한 부분을 worker 모델에서 2일동안

echo "한글.txt" > ./uri.txt
while [ 1 ]; do
ab -c 100 1000 http://localhost/test/$(iconv EUC-KR UTF-8 ./uri.txt)
done
rm -f ./uri.txt

와 같이 돌리고 있는데 별 문제 없는 것 같습니다. 한번 테스트 해 줘 보시죠. (음 Apache 2 thread safety issues 문서를 보니 race condition 하게 발생하기 때문에 thread safe 하다고 보장은 못하겠군요. 그래서 이 멘트 남깁니다. ^^)

그리고 apache + php 환경은 worker model 로는 별로 적합하지 않다고 생각이 됩니다만.. 일단 php extension 들이 thread safe 를 보장하지 못하고, apache 와 php 를 build 하기 위한 library 들이 thread safe 를 보장하지 못하는데 mod_url 이 아니라 다른 무엇이 문제가 될 수도 있을 테지요.

그리고, 수정한 일본의 모듈은 아마 mod_encoding 이 아닐까 예상합니다 :-) 이 모듈 역시 예전에 회자가 되어 어느정도 코드는 본 것입니다. 실제로 mod_url 역시 hooking first 로 처리를 해 보려고 했으나 완벽한 지원이 어려워 그냥 hooking last 로 처리한 것이고요. 그리고 수정된 mod_url 은 기존의 mod_url 코드와는 다릅니다. 현재 박 원규님과 메일을 주고 받고 있는데, 만약 받아들여지지 않는다면 혼동을 피하기 위해서 mod_url2 정도로 fork 할 듯 싶습니다.

LeCieL

수고가 많으시네요 ;;

그런데 redurl (modurl) 말고 일본에서 사용하던 뭐더라;; 저는 그걸 기반으로 작업했답니다.
일단 패치할 시간이 거의 없었고;; ie7 나온지 하루이틀안에 해결봐야해서 ㅎㅎ;;

그런데 성능적인 문제 (1대의 미디어 서버)를 감안한 경우 first hook 에 charset detection 이 들어가는것이
압도적인 차이를 준다고 생각합니다.

(물론 last 로 후킹하여 전처리 다 하고 매 컨버저닝마다 파일이 있는지 체크하는것도 좋습니다
그러나 워커모듈에서는 요러다 에러하나 나면 줄사탕인지라 ;;)

제가 패치한건 일반서버는 아예 이 모듈을 내려버렸고 (급한관계로),
컨텐츠 전송서버만 first hook 으로 강제 변환하도록 설정하였습니다. 아마도 그 일본에서 만든 modurl같은녀석을
여기저기 뜯어고쳤던듯합니다;;

김정균

redurl(mod_url) 은 요청하신 페이지가 존재하면 작동하지 않습니다. 즉, 해당 페이지가 존재하지 않을 경우에만 작동합니다. 이는 httpd.conf 에서 error log level 을 debug 로 맞추어 놓고선 error log 를 보시면 확인하실 수 있습니다.

hooking 을 전처리로 할 때의 문제는, 무조건 바꾸기 때문에 file system 에 정말 utf8 로 인코딩된 파일이름이 존재하고 있을 경우 찾을 수가 없습니다. 또한, Alias 와 같은 URL 을 처리할 수 없습니다. 저도 전처리로 하려고 했으나 이 부분 때문에 결국에는 LAST 로 처리한 것입니다.

그리고, worker model 은 솔직히 뭐라고 말은 못하겠습니다. 일단 mod_url 자체가 thread safe 한지 보장을 하지 못하기 때문에 worker model 에서 사용을 하라고 권장 자체를 못하기 때문입니다. :-)

김정균

apache 2 용은 1.10 이 아니라 1.12 입니다. 현재 2.0.52 와 2.2.3 에서 정상 작동 하는 것을 확인했습니다.

Posted
Filed under Tech/프로그래밍
IE7 에서 mod_url 이 설정되어 있는 서버로 한글 주소를 전송할 경우 encoding 이 맞으면 (즉, mod_url 이 작동할 일이 없으면..) 문제가 없지만, 맞지 않을 경우에는 무한 루프에 빠지게 되는 문제가 있습니다. 즉 예를 들어서, 다음의 조건에 해당될 경우 입니다.

  1. IE7 이 URL 의 utf8로 전송한다. (기본값임)
  2. 서버측의 mod_url 이 다음과 같이 설정이 되어 있다.
    CheckURL on ServerEncoding EUC-KR ClientEncoding UTF-8


이 조건에서, IE7 이 http://domain.com/한글.html 을 전송을 하면 실제로는

http://domain.com/%ED%95%9C%EA%B8%80.html


과 같이 "한글" 이 utf8 로 인코딩 되어 전송이 됩니다. (위에서는 편의상 urlencoding 을 했습니다. euc-kr 의 경우 인코딩을 하면 4byte 이지만, utf8 의 경우 6byte 가 되는 것으로 구분을 하기 위함입니다.)

그리고, 서버에서는 mod_url 이

iconv ("UTF-8", "EUC-KR", "%ED%95%9C%EA%B8%80");


이 성공을 하기 때문에

HTTP/1.1 301 Moved Permanently Location: http://domain.com/한글.html


을 브라우저에게 전송하게 됩니다. IE6 의 경우 이렇게 전달된 주소를 그대로 이용하기 때문에 문제가 없었는데, IE7 부터는 이 주소의 "한글" 을 다시 UTF8 로 만들어 재전송하기 때문에 무한루프에 빠지게 되는 겁니다. 그래서 이를 해결하기 위해서 return 하는 Location 의 주소를 RFC1738에 의거하여 URL encoding 하여 브라우저로 전송해 주는 방법을 사용할 수 있습니다.

HTTP/1.1 301 Moved Permanently Location: http://domain.com/%C7%D1%B1%DB.html


이를 해결하기 위해서는 다음 URL 을 참조 하시기 바랍니다.

KLDP.net mod_url project
OOPS.org mod_url CVS tree
2007/05/28 01:42 2007/05/28 01:42

며칠전에 IE7 과 mod_url 문제 수정 이라는 글에서 IE7 에서 한글 URI 를 사용할 경우 mod_url 과의 충돌로 무한 루프가 발생하는 문제를 수정하여 포스팅을 했었습니다. 그 과정에서, 301 로 재접속을 시킬때, IE7 의 재변환을 막기 위하여 url encoding 을 하여 문제를 해결했는데, 그 해결을 위해 사용했던 코드가 php raw_url_encode 함수를 수정하여 처리를 했습니다. 그런데, PHP license 와 Apa..

Posted
Filed under Tech/안녕리눅스
script 작업을 하다 보면 ssh client 가 host key 를 묻거나 변경된 host key 때문에 script 가 수행 중단되고 먹통이 되는 짜증(?) 나는 경우를 만난적이 많으실 겁니다.

저 역시 이런 경우를 많이 겪었으며, 이 때문에 rsh 을 사용하기도 하고 그랬습니다만.. 이런 불편함을 겪은 사람이 나 뿐은 아니겠지 생각하고 구글신께 열심히 갈구를 해 봤습니다만, 검색실력의 미천함 때문인지 아니면, 정말 이런 패치를 만든 사람이 없는 것인지 찾을 수가 없더군요.

찾아지면 제 작업이 헛 수고가 될지 모르니.. 제발 한 사람이 없기를 바라는 수 밖에 없을 듯 싶습니다. 뭐 각설하고,

shell> ssh -K oops@oops.org


와 같이 -K 옵션을 주면 아예 호스트 키 체크를 skip 해 버리는 패치를 AnNyung LInux 에 반영하여 openssh 를 업데이트 했습니다.

다른 배포본에서는 다음의 패치를 이용하실 수 있습니다. AnNyung LInux 의 openssh 4.6p1-2 에 적용된 패치를 첨부합니다. pure openssh 4.6p1 에서는 패치 파일로 패치가 가능 합니다.


2007/05/22 03:07 2007/05/22 03:07
uriel

host가 변경되면 어쩔 수 없지만 ssh keychain으로 해결이 불가능한가요?

김정균

keychain 은 인증시에 필요한 key 를 관리하는 것 아닌가요? 이 패치의 요점은 host key check 를 의미합니다.

즉, host key 가 등록되지 않은 서버에 접속 할때

[root@work ~]# ssh mirror.oops.org
The authenticity of host 'mirror.oops.org (210.124.122.30)' can't be established.
RSA key fingerprint is 77:d3:94:a9:bf:2e:ab:03:a6:ba:40:2f:8d:d8:99:33.
Are you sure you want to continue connecting (yes/no)?

과 같이 confirm 을 해야 하는 상황을 말하는 겁니다.

Posted
Filed under Tech/안녕리눅스
아하~ 무안하게도 1.3 R2 가 또 릴리즈 되고 말았습니다. 이제는 낯짝이 두꺼워져서 민망하지도 않습니다. :-)

1.3 R2 는 전체적으로 버전이 좀 낮은 패키지들의 판올림이 있었으며, kernel 업데이트가 있습니다. 별로 쓸 내용도 없네요 :-)

그냥 앗싸! 빨리 2.0 을 진행하자..

자세한 사항은

http://annyung.oops.org/?m=update&p=1.3&t=1179341954&n=68
2007/05/17 05:30 2007/05/17 05:30
Posted
Filed under Tech/안녕리눅스
Linux 2.4 부터 sysctl 에서 관리를 할 수 있었던 tcp_timewait kernel parameter 가 제거가 되었습니다. 즉, TIME_WAIT 이 kernel source 내의 tcp.h 에서

#define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT * state, about 60 seconds */


와 같이 static 하게 지정이 되도록 변경이 되었습니다. TIME_WAIT 관련하여 검색을 해 보면.. 거의 대부분 관련이 없는 tcp_fin_timeout 값을 줄이라는 식의 글들이 많고, 가끔.. TCP_TIMEWAIT_LEN 의 값을 수정하라는 문서들이 있더군요. (물론 한글 문서로는 이런 글은 못찾았습니다. ^^)

하지만, TCP_TIMEWAIT_LEN 의 값이 다른 값을 생성하는데 꽤 많이 쓰이는 관계로 이 값을 수정하는 것은 조금 애매해서 TIME_WAIT 에만 적용될 수 있도록 패치를 해 보았습니다. 또한, TIME_WAIT 을 static 하게 수정해서 빌드를 하면 그때 그때 커널이 달라져야 할 수 있어서 아예 sysctl 에서 관리할 수 있도록 수정했습니다. 다음 패치 파일을 받아서 적용하여 빌드 하시면 sysctl -a 에서 tcp_timewait 항목을 찾으실 수 있습니다.

tcp_timewait 을 0 으로 지정을 하면 기본값인 TCP_TIMEWAIT_LEN (60초)를 사용하게 되게 되어 있으므로, 최소값은 1초가 됩니다.


oops-2.4.34-sysctl-timewait.patch.gz

kernel 2.4.34 patch (AnNyung)





2.6.21.1 의 Vanilla kernel patch 는 실제로 빌드를 해 보지 않았습니다. 그리고 tcp_minisock.c 가 많이 변경이 되어 제대로 빌드가 될지 그리고 제대로 작동이 되는지 테스트를 해 보지 않은 것임을 알려 드립니다. 이 패치를 사용함에 있어 문제 발생시에 저는 책임을 지지 않습니다!
2007/05/16 18:46 2007/05/16 18:46
Posted
Filed under Tech/Mozilla
미루다가 미루다가 한글팩 업데이트를 단행했습니다.

Tidy extension 의 경우에는 옵션 번역은 그리 양이 많지 않은데, help file 번역이 굉장히 많습니다. 더군다나, 0.8 부터는 SGML 파서 - http://validator.w3.org 에서 사용되는 파서 - 를 지원하도록 되어서, 그 양이 더 많아졌습니다. 그래서 업데이트를 할까말까 상당히 갈등을 했습니다.

영문판으로 계속 버텨보다.. 한글이 보고싶어, 드디어 큰 맘을 먹고 단행을 했는데.. 결국에는 접근성 검사 메시지와 SGML Parser 메시지는 번역을 포기하고 말았습니다. 0.7 대와 같이 Tidy 메시지만 번역을 했습니다.

혹시 번역 잘하시는 분이 있으면, chrome/contents/help/ko-KR 에 있는 문서중에서 access_*.html 과 sp_*.html 을 번역해 주시면 반영해 드리도록 하겠습니다.
2007/04/26 03:43 2007/04/26 03:43
Posted
Filed under Tech/프로그래밍
cygwin 용 패키지 3개를 빌드해 보았습니다. 물론 예전 부터 사용하던 거였지만. 이번에 Cygwin package 로 이쁘게 가다음어 cygwin 용 source package 와 binary package 로 묶어 공개를 합니다.

1. hanterm-xf 2.0.5-177
  • 2.0.6-177?
    - hanterm-xf 홈페이지의 최신 버전은 2.0.6-177 과 동일합니다.
  • utf8 패치
    - .Xdefault 에 "Hanterm*hangulCode: 2" 라고 지정하면 UTF8 이 기본 모드가 됩니다.
  • cygwin 용 runtime batch file 추가
    - /usr/X11R6/bin/hanterm-xf.bat 을 단축 아이콘으로 만들어 사용하면 됩니다.


2. rxvt 2.7.10
  • rxvt 기본 패키지에서 한글을 지원하도록 patch 하여 리빌드 되었습니다.
  • Netj.org 참조하십시오.


3. check-utils

여러가지 checking 를 편하게 하기 위한 utility 로 필자의 자작 패키지입니다. 다음의 checking tool 을 제공합니다.
  • chkbandwidth: 서버의 실시간 network 대역폭 사용량 체크
  • chkdownload: http protocol 을 이용하여 download 속도 체크. (DISK I/O 배제)
  • httpwatch: 80번 포트 체크 프로그램
  • rtspcheck: Windows Media Server 9 의 포트 체크 프로그램


공개된 버전의 수정 사항은 다음과 같습니다.

  1. 이전 버전에서 cygwin 의 iconv 를 지원하지 못하여 rtspcheck 사용못하던 문제 해결
  2. 한국어 메시지 출력 지원


위의 Cygwin 용 패키지들은 ftp://mirror.oops.org/pub/Cigwin/packages 에서 source package 와 binary package 를 받을 수 있습니다. 참고로 ftp client 로 접속을 하셔야 합니다.
2007/04/16 04:24 2007/04/16 04:24
김동하

영주한테 rxvt 소개받아서 잘 쓰고 있습니다. 감사합니다.

김정균

아.. name-version-release.tar.bz2 파일을 받아서 / 에 풀면 됩니다. 예를 들어

tar xvpfj rxvt-20050409-1.tar.bz2 -C /

Posted
Filed under Tech/안녕리눅스
먼가 영업 전략이 있는 것 같은 타이틀.. 흐흐

안녕 리눅스의 존재감에 대해서 생각을 해 보았습니다. 처음에는 Redhat 7.x 가 배포본중 가장 마음에 들었고, 그 중에서 마음에 들지 않던 부분을 수정하면서 명맥을 이어보자는 것이 시작이었으나, 이제는 너무나 낡아서 구린 glibc 와 커널 2.4 의 유지 압박..

2.6 기반의 안녕 2.0 도 준비를 해야겠고.. 그러자니 2.4 기반의 1.x 가 소홀히 될지도 모르겠고.. 존재감에 대한 압박이 생기기 시작하더군요. 그래서 요즘 하는 짓이 KLDP 시스템 개편에 맞추어서 안녕 리눅스를 가지고 Bridge 서버나 VPN 전용 서버로 쉽게 사용할 수 있도록 하면 어떨까를 생각해 보게 되었습니다.

Bridge 는 준비는 되었으나 환경 구성을 만들기가 어려워 확인 작업이 지연이 되고 있고, 현재는 KLDP 에 VPN 을 붙이는 작업을 하고 있습니다. VPN 선택에는 두가지를 할 수 있으며 각각 장단점이 있더군요. 일단 공개된 VPN 으로는 OpenVPN 과 poptop (PPTP 방식) 이 대세 입니다. 그 외에도 SSL VPN 등이 있기는 한데, 접근하기가 쉽지 않고 자료가 별로 없습니다. 이 둘의 특징을 보자면..

먼저 poptop 의 경우 Windows 에서 따로 클라이언트를 설치할 필요 없이 사용할 수 있다는 장점이 있습니다. 즉 서버쪽에서만 설정을 해주고, 클라이언트에서는 Windows 의 기본 PPTP client 를 이용할 수 있다는 장점이 있습니다. 또한, 개발 기간이 상당히 길기 때문에 많은 사용자 extension 이 존재한다는 것도 장점입니다.

OpenVPN 의 경우에는 routing 방식이나 bridge 방식을 선택할 수 있다는 장점이 있습니다. L3 기반에서는 routing 방식을 이용하여 쉽게 내부 네트워크와 연결이 가능하며, bridge 방식또한 어렵지 않게 구현할 수 있습니다. 그리고, OpenVPN 의 경우 Bluefish 라는 암호화 알고리즘을 사용하여 보안성을 좀더 높일 수 있습니다. 하지만 단점은 OpenVPN 전용 클라이언트를 설치해야 한다는 점과, PPTP 처럼 여러개의 VPN 을 관리하는 것이 방법이 좀 귀찮습니다.

일단은 OpenVPN 으로 안녕 리눅스에서 VPN 설치를 아주 간단하게 할 수 있도록 준비가 된 상태이며, 현재 PPTP 역시 준비를 하고 있습니다. (PPTP 는 ppp-mpe 라는 커널 모듈이 요구되어 이를 만들고 있습니다. 패치를 많이 해야지 안녕 리눅스에서 제대로 사용을 할 수 있을 것 같군요.)

대충 준비가 되면 AnNyung LInux 의 White Paper 에 문서가 등록이 될 것이고 Packages System 으로 간단하게 설치하고 OOPS-FIREWALL 과 연동하여 내부망 접속을 아주 간단하게 할 수 있도록 할 예정입니다.

이제 비싸고 어려운 VPN 서비스를 대략 200M 정도 사이즈의 작고 앙증맞은 안녕 리눅스로 쉽게 구축하여 보안에 힘을 보태시기 바랍니다.

P.S
다 만들고 홍보를 해야 하는데.. 아직 완성이 되지 않아서 놀림당하는 기분이 들지 않았으면 좋겠습니다. ^^; 대략 문서 만들고 패키지화 하는데 4월 안에는 준비가 될 듯 싶습니다.
2007/03/29 02:12 2007/03/29 02:12
채영진

김정균님께서 패치한 pptpd가 아닌 일반 애들의 경우

<CentOS기준>
echo "ifconfig ppp0 mtu 1500" > /etc/ppp/ip-up.local
chmod 755 /etc/ppp/ip-up.local

해 놓으니 접속할 때 자동으로 mtu값을 바꿔주네요

저 ip-up.local은 뭐 할때 쓰는건가 했었는데
궁금증이 풀렸습니다.

세션하나만 확인해서 다수 접속시에도 정상적으로 되는진 잘 모르겠습니다^^

채영진

네.. pptpd에 원래 mppe-mtu-increased옵션이 있는줄 알았는데

김정균님께서 패치하셨더라구요 우선 openvpn으로 놀고 있고

srpm받아서 패치부분을 확인해보려 합니다^^

매번 감사드립니다.

Zeroidle

이미 다 하셔놓구선요^^

저도 김정균님 따라잡기(?)를 하고 있는중입니다.

openvpn은 괜찮은데
pptp로 연결하면 네이버가 접속이 안되네요

원인을 찾는중입니다.

김정균

naver 에 접속이 되지 않는 문제는 MTU 문제로 알고 있습니다. 아마 구글에서 pptp naver 로 검색하시면 해당 내용을 찾을 수 있을 겁니다.

하도 오래전이라서 기억이 잘 안나는데, 아마도 mppe-mtu-increased (안녕 리눅스의 pptpd 에 패치된 옵션) 으로 처리가 되지 않았었나 기억이 가물가물하게 긴가민가 합니다.

조현철

무척이나 기대됩니다..^^;
감사합니다..