Здравейте!
Искам да напиша един прост код за стартирате и изключване на PPPoE сървър.
Проблема са полетата в тъмно черно, които се предполага, че ще проверят дали има включен процес.
Когато стартирам скрипта с
bash /etc/init.d/pppoe-serverили
dash /etc/init.d/pppoe-serverняма никакви проблеми, но при старнирането на системата започва да се дъне.
Доколкото видях в Wheezy използват dash shell и би трябвало да няма проблеми.
nano /etc/init.d/pppoe-serverGeSHi (Bash):
#!/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
#
# Author: mystical <mystical.bg@gmail.com>
#
. /lib/lsb/init-functions
NAME="pppoe-server"
PROGRAM="/usr/sbin/pppoe-server"
CONFIG=/etc/default/pppoe-server
PIDFILE="/var/run/pppoe-server.pid"
DESCR="Roaring Peguin PPPoE Server"
if [ -r /etc/default/$NAME ]; then
. /etc/default/$NAME
fi
pppoe_status=`ps -e | grep -c pppoe-server`
case "$1" in
start)
log_daemon_msg "Starting $DESCR $NAME"
if [ "$pppoe_status" = "0" ]; then
start-stop-daemon --start --pidfile $PIDFILE --make-pidfile --exec $PROGRAM -- $OPTIONS
log_end_msg 0
else
log_progress_msg "seems to be running already"
log_end_msg 1
fi
;;
stop)
log_daemon_msg "Stopping $DESCR $NAME"
if [ "$pppoe_status" = "1" ]; then
start-stop-daemon --stop --quiet --oknodo --exec $PROGRAM
rm -f $PIDFILE
log_end_msg 0
else
log_progress_msg "seems not to be running"
log_end_msg 1
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
log_success_msg "Usage: /etc/init.d/pppoe-server {start|stop|restart}"
exit 1
;;
esac
exit 0
chmod +x /etc/init.d/pppoe-server
insserv pppoe-server
update-rc.d pppoe-server defaults
nano /etc/default/pppoe-server# Options, that provided to pppoe-server
OPTIONS="-I eth0 -L 10.128.0.1 -R 10.128.1.1 -k"
# -I if_name -- Specify interface (default eth0.)
# -T timeout -- Specify inactivity timeout in seconds.
# -C name -- Set access concentrator name.
# -m MSS -- Clamp incoming and outgoing MSS options.
# -L ip -- Set local IP address.
# -l -- Increment local IP address for each session.
# -R ip -- Set start address of remote IP pool.
# -S name -- Advertise specified service-name.
# -O fname -- Use PPPD options from specified file
# (default /etc/ppp/pppoe-server-options).
# -p fname -- Optain IP address pool from specified file.
# -N num -- Allow 'num' concurrent sessions.
# -o offset -- Assign session numbers starting at offset+1.
# -f disc:sess -- Set Ethernet frame types (hex).
# -s -- Use synchronous PPP mode.
# -X pidfile -- Write PID and lock pidfile.
# -q /path/pppd -- Specify full path to pppd.
# -Q /path/pppoe -- Specify full path to pppoe.
# -k -- Use kernel-mode PPPoE.
# -u -- Pass 'unit' option to pppd.
# -r -- Randomize session numbers.
# -d -- Debug session creation.
# -x n -- Limit to 'n' sessions/MAC address.
# -P -- Check pool file for correctness and exit.
# -i -- Ignore PADI if no free sessions.
# -h -- Print usage information.