]> git.ipfire.org Git - ipfire-2.x.git/blame - src/initscripts/init.d/net/red/pppoe
Netzwerkscripts erweitert.
[ipfire-2.x.git] / src / initscripts / init.d / net / red / pppoe
CommitLineData
9520a3d0
MT
1#!/bin/bash
2########################################################################
3# Begin $network_devices/services/pppoe
4#
5# Description : PPPoE Script
6#
7# Authors : Michael Tremer - mitch@ipfire.org
8#
9# Version : 01.00
10#
11# Notes :
12#
13########################################################################
14
15. /etc/sysconfig/rc
16. ${rc_functions}
17eval $(/usr/local/bin/readhash /var/ipfire/ppp/settings)
18
19case "${2}" in
20 up)
21 boot_mesg "Bringing up the PPPoE interface on ${1}..."
22 ip addr add 1.1.1.1/24 broadcast 1.1.1.255 dev ${1}
23
24 if [ "${METHOD}" != "PPPOE_PLUGIN" ]; then
25 PPPCOMMAND="/usr/sbin/pppd pty"
26 PPPOECOMMAND="/usr/sbin/pppoe -p /var/run/pppoe.pid -I ${1} -T 80 -U -m 1412"
27 if [ -n ${SERVICENAME} ]; then
28 PPPOECOMMAND+=" -S ${SERVICENAME}"
29 fi
30 if [ -n ${CONCENTRATORNAME} ]; then
31 PPPOECOMMAND+=" -C ${CONCENTRATORNAME}"
32 fi
33
34 if [ "${DNS}" == "Automatic" ]; then
35 ARGS+=" usepeerdns"
36 fi
37
38 if [ "${AUTH}" == "pap" ]; then
39 ARGS+=" -chap"
40 elif [ "${AUTH}" == "chap" ]; then
41 ARGS+=" -pap"
42 fi
43
44 if [ "${RECONNECTION}" != "persistent" ]; then
45 if [ "${TIMEOUT}" != "0" ]; then
46 SECONDS=$[${TIMEOUT} * 60]
47 ARGS+=" idle ${SECONDS}"
48 fi
49 if [ "${RECONNECTION}" == "dialondemand" ]; then
50 touch /var/ipfire/red/dial-on-demand
51 ARGS+=" demand nopersist connect /bin/true"
52 fi
bf7c473f 53 DEMAND+=" active-filter outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0"
9520a3d0
MT
54 fi
55
56 ARGS+=" noipdefault default-asyncmap defaultroute hide-password local mtu 1492"
57 ARGS+=" mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"
58 ARGS+=" user ${USERNAME} lcp-echo-interval 20 lcp-echo-failure 3 lcp-max-configure 50"
59 ARGS+=" maxfail ${MAXRETRIES}"
60
61 if [ "${DEBUG}" == "on" ]; then
62 ARGS+=" debug"
63 fi
64
bf7c473f 65 $PPPCOMMAND "${PPPOECOMMAND}" $ARGS $DEMAND >/dev/null 2>&1
9520a3d0
MT
66 evaluate_retval
67
68 else
69 modprobe pppoe
70 PPPCOMMAND="/usr/sbin/pppd plugin rp-pppoe.so ${1}"
71 if [ "${DNS}" == "Automatic" ]; then
72 PPPCOMMAND+=" usepeerdns"
73 fi
74
75 if [ "${AUTH}" == "pap" ]; then
76 PPPCOMMAND+=" -chap"
77 elif [ "${AUTH}" == "chap" ]; then
78 PPPCOMMAND+=" -pap"
79 fi
80
81 if [ "${RECONNECTION}" != "persistent" ]; then
82 if [ "${TIMEOUT}" != "0" ]; then
83 SECONDS=$[${TIMEOUT} * 60]
84 PPPCOMMAND+=" idle ${SECONDS}"
85 fi
86 if [ "${RECONNECTION}" == "dialondemand" ]; then
87 touch /var/ipfire/red/dial-on-demand
88 PPPCOMMAND+=" demand nopersist"
89 fi
bf7c473f 90 DEMAND+="active-filter outbound and not icmp[0] == 3 & not tcp[13] & 4 != 0"
9520a3d0
MT
91 fi
92
93 PPPCOMMAND+=" noipdefault defaultroute hide-password ipcp-accept-local"
94 PPPCOMMAND+=" ipcp-accept-remote passive noccp nopcomp novjccomp"
95 PPPCOMMAND+=" user ${USERNAME} lcp-echo-interval 20 lcp-echo-failure 3"
96 PPPCOMMAND+=" lcp-max-configure 50 maxfail ${MAXRETRIES}"
97
98 if [ "${DEBUG}" == "on" ]; then
99 PPPCOMMAND+=" debug"
100 fi
101
bf7c473f 102 $PPPCOMMAND $DEMAND >/dev/null 2>&1
9520a3d0
MT
103 evaluate_retval
104 fi
105
106 ;;
107
108 down)
109 boot_mesg "Bringing down the PPPoE interface on ${1}..."
110
111 modprobe -r pppoe >/dev/null 2>&1
112 killall pppd
113 sleep 2
114 ip addr del 1.1.1.1/24 broadcast 1.1.1.255 dev ${1}
115
116 evaluate_retval
117 ;;
118
119 *)
120 echo "Usage: ${0} [interface] {up|down}"
121 exit 1
122 ;;
123esac
124
125# End $network_devices/services/pppoe