Maintain the PPP connection. 시스템을 항상 ppp로 접속시켜 두기 위한 방법을 설명하고자 한다. 내가 사용하는 방법은 ping을 이용하는 것이다. router로 ping을 때려서 응답이 없을 경우 ppp가 죽은 것으로 생각하고 다시 시작하는 방법이다. 1. ~/bin/chkppp 라는 perl script를 만든다. 내용은 다음과 같다. ====================== ~/bin/chkppp ====================== #!/usr/bin/perl # 이 변수에는 여러분들의 라우터 DNS 또는 IP를 적어 주기 바란다. $router_dns = "mr.wooil.co.kr"; open PING, "/bin/ping -c 10 $router_dns |"; @chkping = ; if (scalar(@chkping) < 10) { system( "/etc/rc.d/init.d/ppp stop" ); system( "/etc/rc.d/init.d/ppp start" ); } ======================== 끝 ============================== 2. /etc/rc.d/init.d/ppp 라는 스크립트를 만든다. =================== /etc/rc.d/init.d/ppp ================= #! /bin/sh # chkconfig: 345 85 15 # description: Starts and stops the ppp daemon that handles # Modem device 설정 : 설정시 사용자의 modem device를 잘 설정해 주기 바란다. modem_dev = '/dev/cua3' # Source function library. . /etc/rc.d/init.d/functions # Get config. . /etc/sysconfig/network # Check that networking is up. # Pretty much need it for postmaster. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/sbin/pppd ] || exit 0 # See how we were called. case "$1" in start) echo -n "Starting ppp service: " /usr/sbin/pppd connect 'chat -f /etc/ppp/chat-wooil' $modem_dev defaultroute sleep 1 pid=`pidof pppd` echo -n "pppd [$pid]" touch /var/lock/subsys/pppd echo ;; stop) echo -n "Stopping ppp service: " killproc pppd sleep 2 rm -f /var/lock/subsys/pppd echo ;; status) status pppd ;; restart) $0 stop $0 start ;; *) echo "Usage: ppp {start|stop|status|restart}" exit 1 esac exit 0 ======================== 끝 ============================== 3. /etc/ppp/chat-wooil 이라는 chat용으로 사용할 파일을 작성한다. (이부분은 사용자에 따라 다르므로 조심해서 작성해 보기 바란다.) ================== /etc/ppp/chat-wooil =================== "" atx3 OK at&k3 OK atd TIMEOUT 40 CONNECT \c SAY "CONNECTED to wooil via TT line" ======================== 끝 ============================== 4. /etc/ppp/option 의 설정 ================== /etc/ppp/options ====================== #-detach 57600 lock asyncmap 0 proxyarp modem crtscts mtu 296 mru 592 ======================== 끝 ==============================