Korea FreeBSD Users Group News, Internal, Projects, Home
Software, Support, Documentation

RE:Re: ½Ã¿øÇÑ ´äº¯ Á¤¸» °¨»çµå¸³´Ï´Ù. ¾à°£ÀÇ Ãß°¡ Áú¹®ÀÌ...



[ ³¯Â¥¼ø »öÀÎ ] [ ´ñ±Û¼ø »öÀÎ ] [ ÃÖ»óÀ§ »öÀÎ]

[ÀÌÀü ±Û] [´ÙÀ½ ±Û] [ÀÌÀü ´ñ±Û] [´ÙÀ½ ´ñ±Û]


시원한 답변 감사드립니다. 궁금했던 부분이 아래 설명을 듣고 나서 

풀리네요. 

On Tue, 15 Apr 2003 10:25:08 +0900, Pyun YongHyeon wrote
> On Tue, Apr 15, 2003 at 01:58:00AM +0900, dreamer wrote:
>  >>
>  >> 여지껏 단순히 방화벽(ipfw, ipfilter, pf) 들의 사용법에만 주로 관심을
>  >>
>  >> 가지고 있었습니다만, 단순히 사용법 만을 익힌 다는 것은 실제 
> 소스를 들여다 본 >> >> 사람보다는 해당 프로그램에 대해서 훨씬 얕은 
> 지식을 가지고 있다는 것을 깊이 >> >> 느끼고 있습니다. 그래서 일단은  
> 다양한 기능이 있다는 pf(openbsd) 관련 소스를 >> >> 들여다 보고 
> 있는중 질문이 있어서 이렇게 메일을 보냅니다. >> >> 
> netinet/ip_input.c 파일을 보면, 패킷이 들어 왔을 때, pf_test 함수를 호출해서
>  >>
>  >> 통과할것인지 drop 할 것인지를 결정 하는 것으로 분석이 됩니다. 
> 그래서 패킷이 >> >> 꼭 pf_test함수를 거치게 되기 때문에 필터링을 
> 수행할 수 있을 것이라 판단됩니다. >> >> 허나 이것을 지금 활발히 
> 발전하고 있는 FreeBSD용 모듈을 만드는 그런 일에서는 >> >> 어떻게 
> ip_input.c(pf_test함수를 거치도록 되어 있지 않은) 같은 파일에서 
> 패킷이 >> >>  꼭 pf_test 들의 함수를 거치게 하는지 그게 의아합니다. 
> 즉, 모듈을 올렸을 때 >> >> 어떤 방식으로 ip_input.c 들의 파일에서 pf_test함
수등을
>  >>
>  >> 거쳐 패킷을 검사하지 않도록 짜여져 있는 곳에서 pf 를 모듈로 
> 로드시 pf_test함수를 >> >>  거치게 할 수 있는지가 궁금합니다. >> >> 
> 여기 저기 찾아 본 결과 hook(?) 이라는 개념과 연관이 있을 것 같습니다만.
>  >>
>  >> hook_establish 등의 man page 를 봐도 이해가 잘 되질 않습니다.
> 
> FreeBSD의 코드는 ipfw를 참조하도록 하드코딩되어 있습니다. kernel 설정시
> "option PFIL_HOOKS"를 추가하면 ip_input()/ip_output()에서 hook된 function
> 이 있는지 검사하도록 되어 있습니다.
> hook의 사용법은 제가 포팅한 pf의 
> 소스(http://pf4freebsd.love2party.net/index.html) 나 ipfilter를 
> 보시기 바랍니다. man page에 가장 자세하게 설명되어 있습니다.
> 
>  >>
>  >> 또 하나 pfsync 가 무슨 역할을 하는 모듈인지 이해가 되질 
> 않습니다. 간단히 뭐하는 >> >> 놈이라는 설명만 있어도 될 것 같습니다. 
> >> OpenBSD를 사용하시면 pfsync(4)를 참조하세요. tcpdump를 이용해서 
> state 변화를 monitor할 수 있습니다.

pfsync 를 올리고 안 올리고에 따라서 변화를 monitor 해 보라는 말씀이신가요?

현재 가지고 있는 시스템이 3.2-stable 이라서 확인이 불가능 하군요.

이 시스템이 현재 서비스 중이라서 업그레이드가 당장은 불가능 합니다.

죄송합니다만, 약간만 더 설명을 부탁 드릴게요.
> 
>  >> 또한 , pf 관련 코드를 수정해서 이런 저런 테스트를 해 보고 싶은데,
>  그럴려면 >> >> module 형식으로 짜서 테스트를 하는게 여러모로 편리할 
> 거라고 생각합니다. 현재 >> >> 활발히 개발되고 있는 pf4freebsd 용 
> 말고, 실제 openbsd 에서 pf 를 모듈로 만든다고 >> >> 하면, 이게 쉽게 
> 가능할지 경험 많은 여러분들의 조언이 듣고 싶습니다. >>
> 
> 제 생각으로는 큰 어려움은 없으리라 생각합니다. 이미 동작하는 pf가 
> 있고 이를 module로만 변경하면 되니까요. module은 lkm(4)을 
> 참조하세요. >> 끝으로 pf2freebsd 관련 파일을 다운 받아서 README.ko 
> 파일을 보면 pfil(9) 인터페이스 >> >> 에 대한 언급이 있는데, 이게 
> 무슨 역활을 하는 건지 간단한 답변이 듣고 싶습니다. >> ip_input()
> /ip_output에서 패킷 처리시 등록된 hook가 있다면 이를 호출하기 위한 
> 겁니다. 가장 큰 장점은 커널소스를 변경하지 않고도 패킷을 처리할 수 
> 있는 새로운 모듈을 삽입/삭제 할 수 있다는 점입니다. 물론 TAILQ 
> reference를 사용하기 때문에 직접 호출하는 방법을 사용하는 ipfw같은 
> 것보다는 overhead가 있습니다.

TAILQ reference 가 뭔지에 대한 부연 설명을 부탁 드려도 될까요?

아니면, 참조할만한 사이트라도 가르쳐 주시면, 많은 도움이 될 것 같습니다.

그럼, 좋은 하루 되십시오.
> 
>  >>
>  >> 쓰다 보니 freebsd메일링 리스트에 openbsd 용 질문이 되어 버린 것 
> 같습니다만, >> >> BSD에 관심 있는 분들이라면 두루두루 알고 계실 것 
> 같아 이곳에 질문하는점 양해 >> >> 바랍니다. 개발에 있어서는 아직 
> 초보라 어색한 질문이 있지는 않았나 싶습니다. >> >> 너그러운 마음으로 
> 이해해 주시고, 많은 분들의 답변 부탁 드립니다. >> >> 그럼 좋은 
> 하루들 되십시오. >> >> -- >> Please look and take part in KFUG FAQ: 
> <http://www.kr.freebsd.org/FAQ-kr/> >> To Unsubscribe: send mail to
majordomo@xxxxxxxxxxxxxx
>  >> with "unsubscribe questions" in the BODY of the message
> 
> --
> ============================================================
> // Korea Telecom Internet Solutions, Inc.
> //   FreeBSD/Linux Professional Consulting/Tech. Support
> //
> // Pyun YongHyeon
> //
> // WWW: http://www.kt-is.co.kr/
> //
> // TEL: +82-2-597-0600
> // FAX: +82-2-581-2983
> ============================================================




--
Please look and take part in KFUG FAQ: <http://www.kr.freebsd.org/FAQ-kr/>
To Unsubscribe: send mail to majordomo@xxxxxxxxxxxxxx
with "unsubscribe questions" in the BODY of the message



[ ³¯Â¥¼ø »öÀÎ ] [ ´ñ±Û¼ø »öÀÎ ] [ ÃÖ»óÀ§ »öÀÎ]

Copyright © 1998-2005 Korea FreeBSD Users Group.
All rights reserved. webmaster at kr.FreeBSD.org
$Date: 2003/04/30 23:01:23 $
Powered by FreeBSD