다음 이전 차례

14. 수동으로 PPP 연결 설정하기

이제 /etc/ppp/options/etc/resolv.conf파일을 다 만들었고(필요하다면 /etc/ppp/pap|chap-secrets파일도), PPP연결을 수동으로 만들어서 설정을 시험해 볼 수 있다(일단 수동으로 연결이 작동하게 되면, 이 과정을 자동화할 것이다).

수동으로 작업하려면 통신 프로그램이 모뎀을 재설정하지 않고도 중지할 수 있는 기능이 있어야 한다. minicom에 그런 기능이 있다 - ALT Q(혹은 옛날 버젼이면 CTRL A Q)하면 된다.

루트로 로긴했는지 확인한다.

(미니콤같은) 통신 프로그램을 시작하고 PPP 서버로 전화한 다음, 그냥 로긴한다. PPP를 시작할 때 서버에서 무슨 명령을 내려야 한다면, 그렇게 한다. 전에 보았던 쓰레기를 볼 수 있다.

pap나 chap를 쓰는 경우로서, 그냥 상대방 시스템에 연결하기만 해도 ppp가 시작되는 경우라면 로긴하지 않아도 쓰레기를 보게 된다. (어떤 서버에서는 이렇게 되지 않는다 - 실행키를 눌러서 쓰레기값이 나타나는지 보자.).

이제 통신 프로그램을 모뎀 재설정 없이 중지시키고(미니콤에서 ALT Q 또는 CTL A Q), 리눅스 명령행에서(루트로서) 이렇게 입력한다.


pppd -d -detach /dev/ttySx 38400 &

-d 선택사항은 오류추적 상태로 바꿔준다. - 시스템 로그파일에 ppp 연결 시작 대화내용이 기록된다 - 문제가 있을 때 도움이 된다.

PPP 연결이 만들어지는 동안 모뎀의 불이 반짝반짝할 것이다. PPP 연결이 만들어지려면 약간 걸린다.

이 시점에서 다음 명령을 줘서 PPP 인터페이스를 볼 수 있다.


ifconfig

가지고 있는 다른 이더넷과 귀환 장치 외에, 다음과 같은 것을 볼 수 있을 것이다:-


ppp0     Link encap:Point-Point Protocol
         inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
         UP POINTOPOINT RUNNING  MTU:552  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0
         TX packets:0 errors:0 dropped:0 overruns:0

여기서

(보통, ifconfig는 PPP 서버가 쓰는 것 말고는 이런 IP 주소들을 보여주지 않는다.)

주의: 또한 ifconfig는 연결이 됐으며 실행중이다라 설명해 준다!

위에 보여준 ppp 장치를 못 보거나 아래와 같이 나올 경우


ppp0     Link encap:Point-Point Protocol
         inet addr:0.0.0.0  P-t-P:0.0.0.0  Mask:0.0.0.0
         POINTOPOINT  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0
         TX packets:0 errors:0 dropped:0 overruns:0

PPP 연결이 안된 것이다 ... 오류 추적에 관한 다음 장을 본다!

상대방 host(그리고 그 너머)에 대한 라우트도 볼 수 있을 것이다. 그럴려면 다음 명령을 준다.


route -n

아래와 같은 것을 볼 수 있을 것이다:-


Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
default         10.144.153.3    *               UG    1500   0        5 ppp0

여기서 특별히 중요한데, ppp 인터페이스를 가리키는 두 개의 항목이 있다는 점이다.

첫번째는 HOST 라우트로서(H테이블이 가리킨다) 우리가 연결하려고 하는 호스트를 보여준다 그 이상은 아님.

두번째는 기본값 라우트로서 pppd 선택사항 defaultroute를 줌으로써 구축되었다. 이것은 리눅스 PC에게 로컬 이더넷- 특정한 네트워크 라우트를 갖고 있는 -에 보낼 작정이 아닌 모든 패킷을 PPP 서버에다 보내라고 말해놓았던 그 라우트이다. PPP 서버는 내가 보낸 인터넷을 향한 패킷의 라우트에 응답할 수 있고 돌아오는 패킷을 돌려주게 된다.

두 항목의 라우팅 테이블을 볼 수 있다면, 뭔가 잘못된 것으로, 특별히 syslog 파일에서 기존의 기본라우트를 고칠 수 없다고 알려 줄 경우, 이더넷 인터페이스-이것은 특정한 네트워크 라우트로 바꿔놓아야 한다 -을 가리키는 기본값 라우트를 이미 갖고 있는 것이다. 기본값 라우트는 하나만 있을 수 있다!!!

이 기본값 라우트가 설정되어 있는 곳을 찾아서 시스템 초기화 파일을 찾아 헤매야 한다(route add default... 명령을 쓸 것이다.). 이 명령을 route add net...로 바꿔 주어야 한다.

ifconfig 출력 등등에 나온 ip 주소에 있는 서버에 핑해보는 것으로 연결을 시험해 본다.


ping 10.144.153.51

다음과 같은 출력을 받게 된다.


PING 10.144.153.51 (10.144.153.51): 56 data bytes
64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms

이것은 계속 늘어난다 - 끝내려면 CTRL C를 누르면 되고, 그러면 몇가지 정보를 더 얻게 될 것이다:-


--- 10.144.153.51 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 170.7/219.2/328.3 ms

여기까지 됐으면 좋다.

이번에는 host를 (PPP 서버 것 말고 어딘가 연결해서 실행하고 싶은 다른 자리의 host) 이름으로 핑 해보자. 예를 들어


ping sunsite.unc.edu

이번에는 리눅스가 핑한 완전히 자격을 갖춘 호스트 이름을 /etc/resolv.conf에 정의했던 DNS에서 IP 주소로 바꿔와야 하기 때문에 약간 시간이 걸릴 것이다 - 그러니 걱정할 것은 없다.(하지만 모뎀 불이 반짝반짝 하는지는 보라) 조금 뒤에 다음과 같은 출력을 받게 된다.


PING sunsite.unc.edu (152.2.254.81): 56 data bytes
64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
6t bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms

다시 CTRL C를 눌러서 통계를 본다.


--- sunsite.unc.edu ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 169.8/176.3/190.1 ms

아무 응답도 못받았다면, 인터넷 서비스 업체가 운영하는 DNS 서버의 IP 주소를 한번 핑해 본다. 여기서 결과값이 돌아왔다면, /etc/resolv.conf에 문제가 있다고 보아야 한다.

이것조차 안되면, 라우팅 문제가 있거나 인터넷 서비스 업체가 패킷을 돌려보내는 데 문제가 있는 것이다. 위에서 보여줬던 라우팅 테이블을 점검하고 그게 문제가 없다면 인터넷 서비스 업체한테 문의한다. 인터넷 서비스 업체를 시험해 보는 것 중의 좋은 방법은 다른 운영체제로 연결해 보는 것이다. 만약에 인터넷 서비스 업체 너머로 연결이 된다면, 문제는 내 쪽에 있는 것이다.

모든 것이 작동되면, 다음과 같이 입력해서 연결을 끊는다.


ppp-off

약간 멈춘 다음에 모뎀이 알아서 끊어진다.

동작하지 않으면, 모뎀을 꺼버리거나, 통신 프로그램을 종료시키거나, +++ 를 누른 다음 모뎀에서 OK가 나올 때 ATHO를 넣어서 끝낸다.

pppd가 만든 잠금 파일도 지워야 한다.


rm -f /var/lock/LCK..ttySx


다음 이전 차례