(이 글의 최신 버전은 http://soback.kornet.net/~eezen/adsl에서 보실 수 있습니다)
부팅과 함께 인터넷 접속이 되고, 끊어지면 자동으로 재접속하게 하는 방법을 간략히 정리합니다. 이 글은 한국통신 ADSL을 알카텔의
외장형모뎀으로 사용하는 경우를 기반으로 했으며, 다른 인터넷 접속에도 원용될 수 있습니다.
----------------------------------------------------------------
#이 내용을 /etc/rc.d/rc.local 안에 넣어도 무방합니다.
#!/bin/sh
/sbin/ifconfig eth0 mtu 1490 #이미 랜카드가 올라와 있는 상황이라면
#mtu만 잡아줘도 됩니다. mtu에 관해서는 생략.
/sbin/ifconfig eth0 192.168.0.1 up #적당한 주소를 주고 카드를 올립니다.
#홀로 사용 카드라면 주소 없이 해도 됨.
pppoed
/usr/sbin/keepalive.ppp #이건 별도로 설명합니다.
-------------------------------------------------------------
#/usr/sbin/keepalive.ppp 의 내용은
#!/bin/sh
export LOG="logger -p daemon.notice -t `basename $0`[$$]"
$LOG "Monitoring PPP connection"
while [ 1 ]
do
if `ifconfig | grep -q ^ppp0`
then
isnetok 211.38.32.165
if [ $? -eq 0 ]; then
$LOG "PPP connection ok"
else
kill `pidof pppd`
pppoed >/dev/null
fi
else
pppoed >/dev/null
fi
sleep 60
done
#여기서 로그를 기록할 필요가 없으면 빼도 되겠고요. 211.38.32.165는
#코넷의 게이트웨이(전화국별로 다릅니다) 주소입니다.
------------------------------------------------------------
#/usr/sbin/isnetok 의 내용
#!/bin/sh
if [ x$1 = x ]; then
echo isnetok ip
exit 1
fi
ping -c 1 $1 > /dev/null &
sleep 1
pingpid=`ps ax | grep "ping -c 1 $1" | grep -v grep | awk '{print $1}'`
if [ "x$pingpid" = "x" ]; then
exit 0
else
kill -9 $pingpid 2>&3 /dev/null
exit 1
fi