아이쎈의 리눅스 PPP 서버 연결방법
리눅스에서 01412 망으로 아이쎈(http://www.issan.net)의 PPP 서버(리눅스임)를 연결해 인터넷을 사용하는 방법이다. 아이쎈의 리눅스 PPP 서버는 리눅스랩에서 구축하였다.(X-Window 환경에서 연결하면 네트스케이프로 인터넷 항해가 가능함.)
무관함. 단 이 글의 예는 USRobotics sportster 내장모뎀이며 모뎀의 com 포트는 3번 irq는 5번인 경우이다..
아래는 내장모뎀의 시리얼포트(com3)의 irq를 5번으로 변경하고 시리얼포트의 최고속도를 115200bps로 설정하는 명령이다. (모뎀이 28.8k 이상이어야 한다.) 부팅 때 마다 자동 실행되도록 레드햇의 경우는 rc.local 파일에 아래 줄을 추가하고 데비안은 /etc/rc.boot 디렉토리의 0setserial 파일을 수정한다. 모뎀이 com1 에 연결돼 있다면 ttyS0, com2라면 ttyS1을 지정해야 한다. 일반 모뎀은 보통 irq 부분은 별도로 지정할 필요가 없다.
2.1 레드햇
. /etc/rc.d/rc.local 에 아래 줄 넣음
/bin/setserial /dev/ttyS2 irq 5 spd_vhi
2.2 데비안
/etc/rc.boot/0setserial에서 아래 줄을 찾아 수정
${SETSERIAL} -b /dev/ttyS2 irq 5 port 0x3E8 skip_test autoconfig spd_vhi
리부팅 해서 아래 명령을 줌.
setserial ?a /dev/ttyS2
아래처럼 나와야 한다.
/dev/ttyS2, Line 2, UART: 16550A, Port: 0x03e8, IRQ: 5
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000, closing_wait2: infinte
Flags: spd_vhi skip_test
*. IRQ: 5, Baud_base: 115200, Flags: spd_vhi 가 나와야 한다.
3.1 minicom ?s 명령으로 minicom 을 가동해서 아래처럼 환경 수정
1) serial port setup 에서
. serial device : /dev/ttyS2
. Bps : 115200
2) Save setup as dfl 로 저장 후 종료
*. minicom 이 설치가 안되어 있으면 레드햇의 경우 CD 1번을 마운트 후
RPM 디렉토리에서 아래 명령으로 설치
rpm ?i minicom-1.83..
3.2 minicom을 가동해서 01412 를 연결한다.
minicom <enter> 해서 화면에 OK가 나와야 함.
atdt01412 <enter> 해서 01412에 연결돼는 지 확인. 연결되면 다음으로.
*. ISDN 전화의 경우는 01412에 전화가 걸리지 않는다. 이때는 01411을 사용할 것.
PPP 로 인터넷을 연결시는 디폴트게이트웨이가 PPP 서버여야 한다.(여기서는 아이쎈 리눅스서버)
그래서 ppp 클라이언트(사용자 피시)에 이미 디폴트게이트웨이가 설정되어 있으면 연결이 안된다.
디폴트게이트웨이가 설정돼 있는지를 확인하는 방법은 아래와 같다.
netstat ?nr 명령을 준다.
아래처럼 마지막 라인에 0.0.0.0 으로 시작하는 줄이 있으면 디폴트게이트웨이가 설정돼어 있다.
[root@jinnee/root]#netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSSWindow irtt Iface
192.168.1.5 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
디폴트게이트웨이 제거
1) 일시적 제거
일시적으로 제거하는 방법이다. (리부팅하면 효력이 사라진다.)
route del default
2) 영구 제거
- 레드햇의 경우
/etc/sysconfig/network 파일에서 GATEWAY= 에 지정된 IP 어드레스를 지움.
NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME=jinnee
DOMAINNAME=urizip.com
GATEWAY=
GATEWAYDEV=eth0
- 데비안의 경우
/etc/init.d/network 파일의 아래 줄을 제거(맨 앞에 #를 넣음)
#[ "${GATEWAY}" ] && route add default gw ${GATEWAY} metric 1
통신속도, 압축방법 등을 지정한다. /etc/ppp 디렉토리의 options 파일에 아래 내용을 넣는다. 다른 내용은 지움. (이 파일이 없으면 새로 만듬)
lock
modem
crtscts
bsdcomp 15
deflate 15
115200
아이쎈의 PPP 서버에서는 사용자 인증(사용자가 정당한 사용자 인지 체크하는 것) 에 pap을 사용한다. 리눅스에서 pap 인증을 지정하는 파일은 /etc/ppp/pap-secrets 파일이다. 이 파일에 아이쎈에서 부여한 계정과 패스워드를 넣는다. 계정을 발급 받으려면 아이쎈의 홈페이지를 참고할 것.(시험 서비스 기간에는 사용자 인증을 하지 않으므로 이 파일이 필요없음.) 형식은 아래와 같다.
계정명 * 패스워드
이 스크립트는 01412 번으로 전화를 걸어 메뉴에서 “2”번을 선택 후 “issan”을 입력해 주고 아이쎈의 ppp 서버에서 pppd 데몬이 뜨면 자신의 pppd를 실행해주는 스크립트이다.(파일 이름을 issan 이라하자.)
#!/bin/bash
/usr/sbin/pppd connect \
'/usr/sbin/chat -t 60 "" atx1 OK atdt01412 X 2 X issan' \
/dev/ttyS2 noipdefault defaultroute
* \ 앞에 공백이 필요하다.
이 파일은 실행모드여야 한다
chmod 755 issan <enter>
위의 스크립트(issan)가 저장된 디렉토리에서 ./issan <enter> 하면 연결된다.
PPP 연결이 이루어 졌는지를 확인하는 방법이다.
eth0 Link encap:Ethernet HWaddr 00:00:21:E6:B0:45
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1238 errors:0 dropped:0 overruns:0 frame:0
TX packets:650 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:9 Base address:0x300
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
ppp0 Link encap:Point-to-Point Protocol
inet addr:210.115.4.12 P-t-P:210.115.4.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:576 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
(ppp0 … 이하의 줄이 추가된다.)
664 ttyS2 S 0:00 /usr/sbin/pppd connect /usr/sbin/chat -t 60 "" atx1 OK atdt0141
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.5 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
210.115.4.2 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 210.115.4.2 0.0.0.0 UG 0 0 0 ppp0
위의 “9.2” ps ax 명령 출력에서 맨 앞에 나오는 숫자(PID를 kill 명령 뒤에 넣는다.)
kill 664
아이쎈의 리눅스 PPP 서버 구축에 관한 자세한 내용은 리눅스월드 2000년 8월호에 있음.
작성자 : 배철수<bae@linuxlab.co.kr>