close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 12 and Version 13 of PaedmlAnpassungen


Ignore:
Timestamp:
Oct 5, 2013, 12:46:13 AM (13 years ago)
Author:
bau
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PaedmlAnpassungen

    v12 v13  
    5555= Workstationimport in ''/usr/share/linuxmuster/scripts/wimport.sh'' =
    5656
    57 Die Workstations werden beim ersten Booten mit PXE vom paedml in die Datei /etc/linuxmuster/workstations aufgenommen (zum booten per PXE siehe http://paedml.kg-fds.de/trac/wiki/AdminPxe):
     57Die Workstations werden beim ersten Booten mit PXE vom paedml in die Datei /etc/linuxmuster/workstations aufgenommen (zum booten per PXE siehe http://paedml.kg-fds.de/trac/wiki/AdminPxe) - import_workstations erzeugt dann Workstationaccounts und schaltet die Clients auf der Firewall frei:
    5858
    5959{{{
    60 Raum;Rechner;Gruppe;MAC;IP;netmask;NB;NB;NB;NB;[0|22|R]
     60Raum;Rechner;Gruppe;MAC;IP;netmask;NB;NB;NB;[1|R];[0|22]
    6161}}}
    6262
    6363
    64 Bei Imaging bedeutet:
     64Bei Imaging [letzte Zahl ganz hinten] bedeutet bei linusmuster.net:
    6565
    6666- 0: Workstationaccount anlegen aber nicht per Linbo berücksichtigen (Eintrag in /etc/dhcp3/dhcpd.conf.linuxmuster ohne Option pxelinux.configfile)
    6767- 22: Workstationaccount anlegen und per Linbo berücksichtigen (Eintrag in /etc/dhcp3/dhcpd.conf.linuxmuster mit Option pxelinux.configfile)
    68 - R: (Rembo) Workstationaccount anlegen und per Rembo verarbeiten (wird vom ltsp-dnsmasq-Script verarbeitet, DHCP dann vom rembo-Server direkt)
    6968
    7069
    71 Optionen 0 und 22 sind Standard-paedml, Option R ist eingefügt und muss in /usr/share/linuxmuster/scripts/wimport.sh beim Workstationimport verarbeitet werden, nach
    72 {{{
    73 # check dhcp stuff
    74 #[ -z "$DHCPDCONF" ] && exitmsg "Variable DHCPDCONF is not set!"
    75 #if [ -e "$DHCPDCONF" ]; then
    76 #       backup_file $DHCPDCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to backup $DHCPDCONF!"
    77 #       rm -rf $DHCPDCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to delete $DHCPDCONF!"
    78 #fi
    79 #touch $DHCPDCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to create $DHCPDCONF!"
    80 }}}
     70Wir haben uns die vorletzte, von der linuxmuster.net nicht genutzte Zahl gekrallt und dort hinterlegt, ob ein !RemboHost vorliegt. Das Script /usr/local/sbin/make_ltsp_config (benutzt /usr/local/sbin/make_ltsp_config.php) erzeugt daraus die Konfigurationsdateien fü den dnsmasq.d auf den LTSP-Servern, dem paedml und dem proxys, lädt diese auf die Server hoch und startet dort den dnsmasq neu. Dabei muss einmal das Key-Passwort eingegeben werden.
    8171
     72Das Script wertet die beiden letzten Felder aus (Feld 9 und 10):
    8273
    83 einfügen (kann entfallen, sobald die Rechner-Wakeups direkt aus der workstationdatei lesen):
    84 
    85 {{{
    86 # Adaption fuer Rembointegration
    87 REMBO_DHCPCONF="/etc/dhcp3/rembohosts.conf"
    88 LEHRER_DHCPCONF="/etc/dhcp3/lehrerhosts.conf"
    89 
    90 # Adaption DHCP-CONF f�r Rembo
    91 [ -z "$REMBO_DHCPCONF" ] && exitmsg "Variable REMBO_DHCPCONF is not set!"
    92 if [ -e "$REMBO_DHCPCONF" ]; then
    93         backup_file $REMBO_DHCPCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to backup $REMBO_DHCPCONF!"
    94         rm -rf $REMBO_DHCPCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to delete $REMBO_DHCPCONF!"
    95 fi
    96 touch $REMBO_DHCPCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to create $REMBO_DHCPCONF!"
    97 
    98 # Adaption DHCP-CONF fuer Lehrernetz
    99 [ -z "$LEHRER_DHCPCONF" ] && exitmsg "Variable LEHRER_DHCPCONF is not set!"
    100 if [ -e "$LEHRER_DHCPCONF" ]; then
    101         backup_file $LEHRER_DHCPCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to backup $LEHRER_DHCPCONF!"
    102         rm -rf $LEHRER_DHCPCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to delete $LEHRER_DHCPCONF!"
    103 fi
    104 touch $LEHRER_DHCPCONF 2>> $TMPLOG 1>> $TMPLOG || exitmsg "Unable to create $LEHRER_DHCPCONF!"
    105 }}}
    106 
    107 
    108 anstelle des folgenden Textes :
    109 
    110 {{{
    111                 # write dhcpd.conf entry
    112                 echo -n "  * DHCP: Writing entry for $hostname ... "
    113                     echo "host $hostname {" >> $DHCPDCONF
    114                     echo "  hardware ethernet $mac;" >> $DHCPDCONF
    115                     echo "  fixed-address $ip;" >> $DHCPDCONF
    116                     echo "  option host-name \"$hostname\";" >> $DHCPDCONF
    117                     if [[ "$pxe" != "0" && "$imaging" = "linbo" ]]; then
    118                         # assign group specific pxelinux config
    119                         echo "  option pxelinux.configfile \"pxelinux.cfg/$hostgroup\";" >> $DHCPDCONF
    120                     fi
    121                     echo "}" >> $DHCPDCONF
    122                 fi
    123                 echo "Ok!"
    124                 echo
    125 
    126 
    127 }}}
    128 
    129 diesen einfügen
    130 
    131 {{{
    132                 # Adaption für Rembo- und LTSP-Integration (Baumgärtner)
    133                 # write dhcpd.conf entry
    134                 echo -n "  * DHCP: Writing entry for $hostname ... "
    135                 if [[ "$pxe" == "R" ]]; then
    136                     echo -n "(Rembo-Adaption) ... "
    137                     echo "host $hostname {" >> $REMBO_DHCPCONF
    138                     echo "  hardware ethernet $mac;" >> $REMBO_DHCPCONF
    139                     echo "  fixed-address $ip;" >> $REMBO_DHCPCONF
    140                     echo "  option host-name \"$hostname\";" >> $REMBO_DHCPCONF
    141                     echo "}" >> $REMBO_DHCPCONF
    142                 elif [[ "$pxe" == "L" ]]; then
    143                     echo -n "(LTSP-Adaption) tue derzeit nichts... "
    144                 elif [[ "$ip" =~ "10.16.209.*" ]]; then
    145                     echo -n "(Lehrernetz) ... "
    146                     echo "host $hostname {" >> $LEHRER_DHCPCONF
    147                     echo "  hardware ethernet $mac;" >> $LEHRER_DHCPCONF
    148                     echo "  fixed-address $ip;" >> $LEHRER_DHCPCONF
    149                     echo "  option host-name \"$hostname\";" >> $LEHRER_DHCPCONF
    150                     echo "}" >> $LEHRER_DHCPCONF
    151                 else
    152                     echo "host $hostname {" >> $DHCPDCONF
    153                     echo "  hardware ethernet $mac;" >> $DHCPDCONF
    154                     echo "  fixed-address $ip;" >> $DHCPDCONF
    155                     echo "  option host-name \"$hostname\";" >> $DHCPDCONF
    156                     if [[ "$pxe" != "0" && "$imaging" = "linbo" ]]; then
    157                         # assign group specific pxelinux config
    158                         echo "  option pxelinux.configfile \"pxelinux.cfg/$hostgroup\";" >> $DHCPDCONF
    159                     fi
    160                     echo "}" >> $DHCPDCONF
    161                 fi
    162                 echo "Ok!"
    163                 echo
    164 
    165 }}}
     74|| Feld 9 || Feld 10 || Bedeutung ||
     75|| 1      || 22      || Linbo-Host - Eintrag in paedml/clients ||
     76|| 1      || 0       || Laptop etc - Eintrag in paedml/clients ||
     77|| R      || 0       || Rembo-Host - Eintrag in rembo/clients ||
    16678
    16779
    16880
    169 = DHCPD-Einstellungen in ''/etc/dhcp3/dhcpd.conf''  =
    170 
    171 Nach einem Update wird eventuell die Datei ''/etc/dhcp3/dhcpd.conf'' überschrieben, folgendes ist zu ändern:
     81Die folgende Anpassung ist in der wimport.sh nötig, damit unsere Anpassungen funktionieren (ganz am Ende):
    17282
    17383{{{
    174 #
    175 # Sample configuration file for ISC dhcpd for Debian
    176 #
    177 # $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
    178 #
     84#echo " * Reloading DHCP service... isc-dhcp-server"
     85#if reload isc-dhcp-server; then
     86# echo "   ...done."
     87#else
     88# echo "   failed!"
     89# RC=1
     90#fi
     91#/etc/init.d/bind9 force-reload || RC=1
     92echo " * Erzeuge neue Konfiguration für DNSMASQ ..."
     93/usr/local/sbin/make_ltsp_config
    17994
    180 # The ddns-updates-style parameter controls whether or not the server will
    181 # attempt to do a DNS update when a lease is confirmed. We default to the
    182 # behavior of the version 2 packages ('none', since DHCP v2 didn't
    183 # have support for DDNS.)
    184 server-identifier paedml;
    185 ddns-update-style interim;
    186 ddns-domainname "kg-fds.de";
    187 ddns-updates on;
    188 ddns-ttl 7200;
    189 deny client-updates;
    190 ddns-rev-domainname "in-addr.arpa.";
    191 update-static-leases true;
    192 
    193 # option definitions common to all supported networks...
    194 server-name "paedml.kg-fds.de";
    195 option domain-name "kg-fds.de";
    196 option domain-name-servers 10.32.1.1;
    197 option netbios-name-servers 10.32.1.1;
    198 option ntp-servers 10.32.1.1;
    199 option routers 10.32.1.254;
    200 option font-servers 10.32.1.1;
    201 option subnet-mask 255.240.0.0;
    202 option broadcast-address 10.47.255.255;
    203 use-host-decl-names on; #rembo
    204 
    205 default-lease-time 86400;
    206 max-lease-time 86400;
    207 
    208 include "/etc/bind/rndc.key";
    209 
    210 zone kg-fds.de {
    211         primary 10.32.1.1;
    212         key rndc-key;
    213 }
    214 
    215 zone 10.in-addr.arpa {
    216         primary 10.32.1.1;
    217         key rndc-key;
    218 }
    219 
    220 # If this DHCP server is the official DHCP server for the local
    221 # network, the authoritative directive should be uncommented.
    222 authoritative;
    223 
    224 # Use this to send dhcp log messages to a different log file (you also
    225 # have to hack syslog.conf to complete the redirection).
    226 log-facility local7;
    227 
    228 allow booting;
    229 allow bootp;
    230 
    231 # pxelinux options for LINBO
    232 #option vendor-encapsulated-options 09:0f:80:00:0c:4e:65:74:77:6f:72:6b:20:62:6f:6f:74:0a:07:00:50:72:6f:6d:70:74:06:01:02:08:03:80:00:00:47:04:80:00:00:00:ff;
    233 #option space pxelinux;
    234 #option pxelinux.magic      code 208 = string;
    235 #option pxelinux.configfile code 209 = string; 
    236 #option pxelinux.pathprefix code 210 = text; 
    237 #option pxelinux.reboottime code 211 = unsigned integer 32;                     
    238 #site-option-space "pxelinux";
    239 #option pxelinux.magic f1:00:74:7e;
    240 #if exists dhcp-parameter-request-list {
    241 #    # Always send the PXELINUX options (specified in hexadecimal)
    242 #    option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list,d0,d1,d2,d3);
    243 #}
    244 #option configfile code 150 = string;
    245 #filename "pxelinux.0";
    246 
    247 #next-server 10.32.1.1;
    248 
    249 # subnet for workstation import
    250 #subnet 10.32.0.0 netmask 255.240.0.0 {
    251 #       range 10.32.1.100 10.32.1.200;
    252 #        option router 10.32.1.251;
    253 #       option ;
    254 #       max-lease-time 3600;
    255 #       default-lease-time 3600;
    256 #       option host-name "pxeclient";
    257 #}
    258 
    259 # dynamic part of dhcpd.conf is included
    260 #include "/etc/dhcp3/dhcpd.conf.linuxmuster";
    261 
    262 
    263 # Kepler-specific part of dhcpd.conf is included
    264 include "/etc/dhcp3/dhcpd.conf.kepler";
    265 
    266 }}}
    267 
    268 Der ganze obere LINBO-Bereich muss auskommentiert werden, ebenso der Import der dhcpd.conf.linuxmuster (diese wird in der dhcps.conf.kepler geladen)
    269 eigentlich wird nur noch die Kepler-angepasste Config geladen. (source:keplertools/etc/trunk/dhcp3/dhcpd.conf.kepler)
    270 
    271 
    272 
    273 = Besitzer des !__tauschen-Verzeichnisses in ''/usr/share/sophomorix/devel/repairhome.student'' =
    274 
    275 Abweichend von der normalen Linuxmusterlösung verwenden wir für unsere LtspServer NFS um die Homeverzeichnisse zu mounten. Eine Sicherheitsvorkehrung in NFS verhindert, dass Schüler dem Link `~/__tauschen/tausch-Schule` folgen.
    276 
    277 Näheres dazu in ticket:347.
    278 
    279 Das Problem lässt sich dadurch beheben, dass der Ordner `~/__tauschen` nicht `administrator`, sondern `root` gehört. Dazu ist eine Änderung in der Datei `/usr/share/sophomorix/devel/repairhome.student` nötig. Die betreffende Änderung kann in changeset:326/keplertools nachgelesen werden:
    280 
    281 {{{#!diff
    282 --- a/sophomorix/trunk/devel/repairhome.student
    283 +++ b/sophomorix/trunk/devel/repairhome.student
    284 @@ -27,14 +27,23 @@
    285  $handoutcopy_dir/$handoutcopy_string$mygroups::administrator::$teachers::3757
    286  $handoutcopy_dir/$handoutcopy_string$current_room::administrator::$teachers::3757
    287  
    288  # __dachboden
    289  $user_attic::administrator::$teachers::3757
    290  
    291  # __einsammeln (collect)
    292  $collect_dir::administrator::$teachers::3757::
    293  
    294  # __tauschen::immutable::
    295 -$share_dir::administrator::$teachers::3757/3750
    296 +###
    297 +### changed by kup 2011-11-23:
    298 +### $share_dir directory must be owned by root instead of administrator.
    299 +### We use NFS for exporting the share directories to LTSP Servers.
    300 +### NFS will not allow students to use the link tauschen-Schule, because
    301 +### its owner is different from the owner of $share_dir.
    302 +### See trac ticket #347.
    303 +###
    304 +# $share_dir::administrator::$teachers::3757/3750
    305 +$share_dir::root::$teachers::3757/3750
    306  
    307  # __vorlagen ::immutable::
    308  $task_dir::administrator::$teachers::3755
    30995
    31096}}}