5 # Copyright 2010 Rene Ejury <opennet@absorb.it>
6 # Copyright 2015 Lars Kruse <devel@sumpfralle.de>
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
12 # http://www.apache.org/licenses/LICENSE-2.0
16 .
"${IPKG_INSTROOT:-}/usr/lib/opennet/on-helper.sh"
19 # parse die foreign-Options, beispielsweise:
20 # foreign_option_4='dhcp-option DNS 10.1.0.1'
21 # Ergebnis: zeilenweise Auflistung von DHCP-Options und zugehoerigem Wert
25 get_servers_from_dhcp_options() {
29 # prüfe ob die "foreign_option_XXX"-Variable gesetzt ist
30 option=$(eval echo
"\${foreign_option_$index:-}")
31 [ -z
"$option" ] &&
break
34 done | awk
'{ if ($1 == "dhcp-option") print $2,$3 }'
38 # die PATH-Umgebungsvariable beim Ausfuehren des openvpn-Skripts beinhaltet leider nicht die sbin-Verzeichnisse
39 IP_BIN=$(PATH=$PATH:/sbin:/usr/sbin which ip)
42 # Allgemeine openvpn-Ereignisbehandlung
45 # Sonder-Aktionen für mig-Verbindungen
46 case "$script_type" in
48 "$IP_BIN" route add
default via
"$route_vpn_gateway" table
"$ROUTING_TABLE_ON_UPLINK" ||
true
49 # verhindere das Routing von explizit unerwuenschtem Verkehr ueber den Nutzer-Tunnel (falls die Regel noch nicht existiert)
50 "$IP_BIN" route add
throw default table
"$ROUTING_TABLE_ON_UPLINK" tos
"$TOS_NON_TUNNEL" 2>/dev/
null ||
true
51 get_servers_from_dhcp_options >
"$MIG_PREFERRED_SERVERS_FILE"
56 # löse einen baldigen Verbindungsaufbau aus
59 && { echo
"on-function update_mig_connection_status" | schedule_task; }
61 rm -f
"$MIG_PREFERRED_SERVERS_FILE"
65 esac 2>&1 | logger -t mig-updown
has_mig_openvpn_credentials()
Prüft, ob der Nutzer bereits einen Schlüssel und ein Zertifikat angelegt hat.
update_ntp_servers()
Übertrage die Liste der als NTP-Dienst announcierten Server in die sysntpd-Konfiguration.
update_dns_servers()
Übertrage die Liste der als DNS-Dienst announcierten Server in die dnsmasq-Konfiguration.
log_openvpn_events_and_disconnect_if_requested()
Allgemeines Ereignisbehandlung fuer openvpn-Verbindungen: Logging und eventuell Dienst-Bereinigung (n...
set eu grep root::etc shadow exit if which chpasswd dev null
is_on_module_installed_and_enabled(module)
Pruefe ob ein Modul sowohl installiert, als auch aktiv ist.