Использование pppd в качестве клиента



Для подключения к линии PPP терминального сервера Cisco может использоваться следующий файл /etc/ppp/options.

crtscts   # enable hardware flow control

modem      # modem control line

noipdefault # remote PPP server must supply your IP address

           # if the remote host does not send your IP during IPCP

           # negotiation, remove this option

passive    # wait for LCP packets

domain ppp.foo.com # put your domain name here

 

:<remote_ip> # put the IP of remote PPP host here

           # it will be used to route packets via PPP link

           # if you didn't specified the noipdefault option

           # change this line to <local_ip>:<remote_ip>

 

defaultroute # put this if you want that PPP server will be your

           # default router

Для подключения:

1. Дозвонитесь на удаленный хост, используя kermit (или любую другую модемную программу), и введите ваше имя пользователя и пароль (или те данные, которые требуются для установления PPP соединения с удаленным хостом).

2. Выйдите из kermit (без обрыва соединения).

3. Введите следующее:

# /usr/src/usr.sbin/pppd.new/pppd /dev/tty0119200

Убедитесь, что выбраны подходящая скорость и правильное имя устройства.

Теперь ваш компьютер подключен по PPP. Если соединение не состоялось, вы можете добавить параметр debug к файлу /etc/ppp/options, и отследить проблему по сообщениям на консоли.

Следующий скрипт /etc/ppp/pppup проведет все 3 стадии в автоматическом режиме:

#!/bin/sh

ps ax |grep pppd |grep -v grep

pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`

if [ "X${pid}" != "X" ] ; then

   echo 'killing pppd, PID=' ${pid}

   kill ${pid}

fi

ps ax |grep kermit |grep -v grep

pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`

if [ "X${pid}" != "X" ] ; then

   echo 'killing kermit, PID=' ${pid}

   kill -9 ${pid}

fi

 

ifconfig ppp0 down

ifconfig ppp0 delete

 

kermit -y /etc/ppp/kermit.dial

pppd /dev/tty01 19200

/etc/ppp/kermit.dial это скрипт kermit, который дозванивается до удаленного хоста и проходит необходимую авторизацию (пример такого скрипта находится в конце этого раздела).

Используйте следующий скрипт /etc/ppp/pppdown для отключения от PPP линии:

#!/bin/sh

pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`

if [ X${pid} != "X" ] ; then

   echo 'killing pppd, PID=' ${pid}

   kill -TERM ${pid}

fi

 

ps ax |grep kermit |grep -v grep

pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`

if [ "X${pid}" != "X" ] ; then

   echo 'killing kermit, PID=' ${pid}

   kill -9 ${pid}

fi

 

/sbin/ifconfig ppp0 down

/sbin/ifconfig ppp0 delete

kermit -y /etc/ppp/kermit.hup

/etc/ppp/ppptest

Проверьте, запущен ли еще pppd, выполнив /usr/etc/ppp/ppptest, который выглядит примерно так:

#!/bin/sh

pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`

if [ X${pid} != "X" ] ; then

   echo 'pppd running: PID=' ${pid-NONE}

else

   echo 'No pppd running.'

fi

set -x

netstat -n -I ppp0

ifconfig ppp0

Для обрыва соединения, выполните /etc/ppp/kermit.hup, который должен содержать:

set line /dev/tty01 ; put your modem device here

set speed 19200

set file type binary

set file names literal

set win 8

set rec pack 1024

set send pack 1024

set block 3

set term bytesize 8

set command bytesize 8

set flow none

 

pau 1

out +++

inp 5 OK

out ATH0\13

echo \13

exit

Существует альтернативный метод, использующий chat вместо kermit:

Для установления соединения pppdдостаточно двух файлов.

/etc/ppp/options:

/dev/cuaa1 115200

 

crtscts    # enable hardware flow control

modem      # modem control line

connect "/usr/bin/chat -f /etc/ppp/login.chat.script"

noipdefault # remote PPP serve must supply your IP address

           # if the remote host doesn't send your IP during

           # IPCP negotiation, remove this option

passive    # wait for LCP packets

domain <your.domain> # put your domain name here

 

:          # put the IP of remote PPP host here

           # it will be used to route packets via PPP link

           # if you didn't specified the noipdefault option

           # change this line to <local_ip>:<remote_ip>

 

defaultroute # put this if you want that PPP server will be

           # your default router

/etc/ppp/login.chat.script:

Замечание: Все это может быть расположено на одной строке.

ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>

CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>

TIMEOUT 5 sword: <password>

Как только эти файлы будут созданы и отредактированы, необходимо только запустить pppd, вот так:

# pppd


Дата добавления: 2018-10-26; просмотров: 176; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!