Neue und hoffentlich bessere Scripte fuer die Verwaltung der vielen Netzwerkschnittstellen...

git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@765 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
ms
2007-08-14 17:58:31 +00:00
parent a794edfd37
commit d1e90efcaa
24 changed files with 640 additions and 1013 deletions

View File

@@ -1,33 +1,10 @@
#!/usr/bin/perl
#
# SmoothWall CGIs
#
# This code is distributed under the terms of the GPL
#
# (c) The SmoothWall Team
#
# $Id: ip-down,v 1.3.2.9 2005/01/26 12:23:26 riddles Exp $
#!/bin/sh
#
use strict;
require 'CONFIG_ROOT/general-functions.pl';
rm -f /var/ipfire/red/active
&General::log("PPP has gone down on $ARGV[0]");
[ -e "/var/ipfire/ppp/nobeeps" ] || /etc/rc.d/init.d/beep down
umask 022;
unlink "${General::swroot}/red/active";
system "/etc/rc.d/init.d/net/red/update";
# Beep when ppp goes up or down. Silence if 'nobeeps' file exists.
if ( ! -e "${General::swroot}/ppp/nobeeps") {
system('/usr/bin/beep','-l 75', '-f 880', '-n', '-l 75', '-f 440');
}
if ( -e "${General::swroot}/red/keepconnected") {
if ( system ('/bin/ps ax | /bin/grep -q "[r]c.connectioncheck reconnect"') ) {
system ('/etc/rc.d/init.d/connectioncheck reconnect &');
} else {
&General::log ('connectioncheck reconnect already running');
}
}
[ -e "/var/ipfire/red/keepconnected" ] && \
(ps ax | grep -q "connectioncheck reconnect") && \
/etc/rc.d/init.d/connectioncheck reconnect &

View File

@@ -1,58 +1,28 @@
#!/usr/bin/perl
#
# SmoothWall CGIs
#
# This code is distributed under the terms of the GPL
#
# (c) The SmoothWall Team
#
# $Id: ip-up,v 1.3.2.3 2005/01/26 12:23:26 riddles Exp $
#!/bin/sh
#
use strict;
require '/var/ipfire/general-functions.pl';
PRIMARY_DNS=$DNS1
SECONDARY_DNS=$DNS2
&General::log("PPP has gone up on $ARGV[0]");
umask 022;
eval $(/usr/local/bin/readhash /var/ipfire/ppp/settings)
my %pppsettings;
# read vars back from file.
&General::readhash("${General::swroot}/ppp/settings", \%pppsettings);
if ( ( $pppsettings{'TYPE'} eq 'isdn') &&
( $pppsettings{'COMPORT'} eq 'isdn2') &&
( $pppsettings{'USEIBOD'} eq 'off') ) {
system('/usr/sbin/isdnctrl', 'dial', 'ippp1');
}
my $dns = $pppsettings{'DNS'};
my $primarydns = $pppsettings{'DNS1'};
my $secondarydns = $pppsettings{'DNS2'};
if ($dns eq 'Automatic') {
if (!($pppsettings{'TYPE'} =~ /^isdn/))
{
if (open(FILE, ">${General::swroot}/red/dns1")) { print FILE $ENV{'DNS1'}; close FILE; }
if (open(FILE, ">${General::swroot}/red/dns2")) { print FILE $ENV{'DNS2'}; close FILE; }
}
if [ "$DNS" == "Automatic" ]; then
if [ "$TYPE" == "isdn" ]; then
echo -n "$MS_DNS1" > /var/ipfire/red/dns1
echo -n "$MS_DNS2" > /var/ipfire/red/dns2
else
{
if (open(FILE, ">${General::swroot}/red/dns1")) { print FILE $ENV{'MS_DNS1'}; close FILE; }
if (open(FILE, ">${General::swroot}/red/dns2")) { print FILE $ENV{'MS_DNS2'}; close FILE; }
}
} else {
if (open(FILE, ">${General::swroot}/red/dns1")) { print FILE $pppsettings{'DNS1'}; close FILE; }
if (open(FILE, ">${General::swroot}/red/dns2")) { print FILE $pppsettings{'DNS2'}; close FILE; }
}
echo -n "$PRIMARY_DNS" > /var/ipfire/red/dns1
echo -n "$SECONDARY_DNS" > /var/ipfire/red/dns2
fi
else
echo -n "$DNS1" > /var/ipfire/red/dns1
echo -n "$DNS2" > /var/ipfire/red/dns2
fi
if (open(FILE, ">${General::swroot}/red/iface")) { print FILE $ARGV[0]; close (FILE); }
if (open(FILE, ">${General::swroot}/red/local-ipaddress")) { print FILE $ARGV[3]; close (FILE); }
if (open(FILE, ">${General::swroot}/red/remote-ipaddress")) { print FILE $ARGV[4]; close (FILE); }
echo -n "$1" > /var/ipfire/red/iface
echo -n "$4" > /var/ipfire/red/local-ipaddress
echo -n "$5" > /var/ipfire/red/remote-ipaddress
system('/usr/bin/touch', "${General::swroot}/red/active");
system('/etc/rc.d/init.d/net/red/update');
touch /var/ipfire/red/active
# Beep when ppp goes up or down. Silence if 'nobeeps' file exists.
if ( ! -e "${General::swroot}/ppp/nobeeps") {
system "/bin/echo -en '\a' >/dev/console";
}
[ -e "/var/ipfire/ppp/nobeeps" ] || /etc/rc.d/init.d/beep up