понедельник, 23 февраля 2009 г.

deb-пакет и сценарии для запуска PPPoE сервера

На всякий случай решил разместить собранный мною в предыдущей статье deb-пакет pppoe_3.8-3_i386.deb. Если кому понадобится, но лень собирать - можете взять готовый пакет по этой ссылке, он собран с pppoe-server, поддерживающим работу в режиме ядра.

Теперь продолжим настройку pppoe-server. Для запуска и остановки pppoe-server я набросал следующий сценарий /etc/init.d/pppoe-server:
#!/bin/sh

### BEGIN INIT INFO
# Provides:          pppoe-server
# Required-Start:    $network $syslog
# Required-Stop:     $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Roaring Peguin PPPoE server
# Description:       Roaring Peguin PPPoE server
### END INIT INFO

CONFIG=/etc/default/pppoe-server

if test -f $CONFIG
then
  . $CONFIG
else
  echo "PPPoE server: No config-file!"
fi

if test x$RUN = xno
then
  echo "PPPoE Server: disabled."
  exit
fi

if test x"$OPTIONS" = x
then
  echo "PPPoE server: no options defined!"
  exit
fi

if test x$PIDFILE = x
then
  PIDFILE=/var/run/pppoe-server.pid
fi

case $1 in
  start)
    echo -n "Starting PPPoE server: "
    /usr/sbin/pppoe-server -F $OPTIONS &
    echo $! > $PIDFILE
    echo "pppoe-server."
    ;;
  stop)
    echo -n "Stopping PPPoE server: "
    kill `cat $PIDFILE`
    rm $PIDFILE
    echo "pppoe-server."
    ;;
  restart)
    $0 stop
    $0 start
    ;;
  *)
    echo "Usage: $0 start|stop|restart"
  ;;
esac
Сразу же сделаем его исполняемым:
# chmod +x /etc/init.d/pppoe-server
Можно также сразу прописать ссылки на его запуск и остановку в каталоги rcX.d:
# update-rc.d pppoe-server defaults
Теперь займёмся настройкой сервера. Тут всё просто - все настройки сервера хранятся в файле /etc/default/pppoe-server. Настройки являются обычными переменными оболочки и их всего три:
# Run pppoe-server at startup
RUN="yes"

# Options, that provided to pppoe-server
OPTIONS="-k -I eth1 -L 192.168.0.1"

# File with PID of pppoe-server
PIDFILE="/var/run/pppoe-server.pid"
Переменная RUN задаёт, нужно ли запускать PPPoE сервер при загрузке системы (no - не запускать, yes или любое другое значение означает запускать).

Переменная OPTIONS задаёт опции, которые будут переданы напрямую в pppoe-server. Все настройки указанные в этой переменной были взяты из моей предыдущей статьи.

Переменная PIDFILE задаёт расположение файла, в котором хранится идентификатор работающего процесса pppoe-server. Если эта переменная не задана, по умолчанию будет использоваться файл /var/run/pppoe-server.pid.

На этом пока всё. Следующая цель - настройка pppoe-relay, хотя мне не на чем его тестировать: нужно три компьютера и две изолированные Ethernet-сети, подключенные к компьютеру, на которм будет запускаться pppoe-relay.

Ссылки:
How to LSBize an Init Script - как составить мета-теги в сценарии инициализации

Последнее редактирование: 10 мая 2009 года.

2 комментария:

sevenup комментирует...

опечатка /etc/defaults/pppoe-server
а нада /etc/default/pppoe-server

morbo комментирует...

sevenup, спасибо. Поправил.