Reg. Date: May 31, 2006 By 김연희
안녕하세요?
VPN에서 사용하는 터널링 프로토콜에 대해서..궁금한 게 있어서요..
L2TP 사용할 때. LAC와 LNS간에 터널 (and 세션) 열어서 통신한다는 것은 규격서(RFC 2661) 보고 알겠는데요..
그 밑(커널)에 단은 잘 모르겠어서요..
커널에 l2tp를 지원하게끔 모듈을 install 시키잖아요..
소스포지를 보니까.. OpenL2TP라는 오픈 소스가 있더라구요..
거기안에 보면.. 커널 패치하는 부분이 있어서, 패치를 했거든요.
그리고, pppol2tp라는 모듈을 만들어서.. 커널 모듈에 추가를 했습니다.
그런데..기존에 ppp 프레임을 처리하기 위해서, pppox, pppoe, ppp(daemon)가 있는데요..
여기에 pppol2tp 를 추가할 경우에.. 어떻게 동작하는지 잘 모르겠어요..
pppox를 보면, proto type을 register하게끔 되어있더라구요.
pppoe나 pppol2tp나 family는 AF_PPPOX로 되어있던데.. 그렇다면.. pppoe와 pppol2tp가 모두 pppox로 연결되서 메시지를 받을 수 있는 거잖아요..
만약에, pppox로 들어온 ppp frame의 소켓 proto type이 pppoe이면 pppoe로 보내고, pppol2tp면 pppol2tp로 보내게 되나요?
그리고, Tx일 경우.. l2tp 헤더 위에 ppp 헤더를 또 붙여서.. pppox로 내보내야 되는데요.
(Rx일 경우는.. 반대로 ppp 헤더를 떼야겠죠..)
ppp 헤더는 어디에서 붙여서 내보내는 거에요?? pppol2tp를 보니까.. ppp_input(ppp_generic)을 호출해서.. ppp 헤더를 붙이는 것같던데요..
그렇다면, ppp_generic에서 ppp 헤더를 add/del을 한다면.. pppol2tp가 pppoe와 같은 레벨에 있어도 상관이없을 것 같은데.. 맞나요?? ^^;
마지막으로.. l2tp와 pptp를 하나의 인터페이스에 동시에 동작시키도록 할 수 있나요?
저는 별다른 문제가 되지 않을 것 같은데.. 혹시, 시험해보신 분 계신가요?
위에 proto type별로 pppox가 메시지를 보낸다면.. proto type이 l2tp 타입일 경우, pppol2tp로 보내고, pptp 타입이면 pppopptp 라는 모듈로 보낼테니까.. 상관없지 않을까 해서요..(너무 단순하게 생각했나요? ^^;)
그럼.. 답변 꼭~~ 좀 부탁드릴께요~~