장장 4일동안의 악전고투 끝에 지금 막 리눅스에서
하나로통신 외장형 ADSL 모뎀을 통해 인터넷을 사용하는
방법을 발견했습니다.
ADSL 모뎀을 반납해야 하기 때문에
정리되지 않은 내용이나마 우선 올립니다.
-----------------------------------------------------
0. 커널이 PPP를 지원하는지 확인한다.
지원하지 않으면 커널 재컴파일...
부팅 중 PPP line discipline registered라는 메시지가
나오면 지원하는 것임.
1. 사용한 프로그램은
pptp-linux 1.0.2,
ppp 2.3.7-2 이며
pptp-linux 1.0.2는 http://www.cag.lcs.mit.edu/~cananian/Projects/PPTP/
에서 구할 수 있다.
2. pptp-linux 소스 압축을 푼다
3. pptp_ctrl.c를 일부 수정한다.
pptp_dispatch_ctrl_packet() 함수 내의 switch문에서
case PPTP_START_CTRL_CONN_RPLY:내의
if (ntoh8(packet->result_code) != 1) { 를
if (ntoh8(packet->result_code) != 1
&& ntoh8(packet->result_code) != 0) { 로 바꿈
4. 컴파일
5. 각종 환경 설정
5.1 /etc/hosts
10.0.0.140 mine
10.0.0.138 adsl
5.2 /etc/resolv.conf
nameserver 210.94.0.7
5.3 /etc/nsswitch.conf
hosts : files dns nisplus nis
5.4 /etc/ppp/chap-secrets
[사용자 ID] adsl [패스워드]
6. pptp 실행
pptp adsl name mine user [사용자 ID] remotename adsl noipdefault nodefaultroute noauth
7. route 정보 추가
route add default gw 210.180.126.199 dev ppp0
8. 인터넷 사용
-----------------------------------------------------------
5.4번 /etc/ppp/chap-secrets 대신 /etc/ppp/pap-secrets를 써도
되는지는 시험하지 못했습니다.
7번 route 정보 추가의 210.180.126.199는
제가 시험한 환경에서의 route 주소입니다.
다른 곳에서는 해보지 않았기 때문에 어떤 주소가 들어가야
하는지는 각자의 환경에 따라 다를 수 있습니다.
저는 윈도즈에서 전화접속 네트워킹으로 접속 후
winipcfg를 실행하여 나온 값을 적어두었다가 사용했습니다.
6번 pptp 실행에서 name 이후는 pppd에 넘겨지는
옵션입니다. 제가 pppd를 아직 해부해보지 못했기 때문에
불필요한 옵션이나 빠진 옵션이 있을지도 모릅니다.
하지만 일단 되기는 됩니다.
-----------------------------------------------------------
제가 당분간은 시험해보지 못하기 때문에 누구든 pptp와
ppp 부분을 잘 정리해서 공개해 주시기 바랍니다.