IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Servidor_de_comunicacions_Institut_les_Planes

Instal·lació del DNS

  • El servei DNS l'instal·larem amb el paquet bind9, aquest paquet l'hem instal·lat durant la instal·lació de Ubuntu Server.
  • El primer que he fet es donar-li el nom al domini, per fer-ho he anat a:
  1. # nano /etc/resolv.conf
Davidginovartinstalaciobind.png
  • Ara passo a configurar el fitxer named.conf.local
Davidginovartinstalaciobind1.png
  • Tot seguit el fitxer named.conf.options, on introduïm les adreces de fins a tres servidors DNS externs.
Davidginovartinstalaciobind2.png
  • Ara per crear els fitxer de zona directa e inversa, utilitzo el fitxer db.local.
  • Al fitxer de zona directa li direm db.inslesplanes.santabarbara.hosts i al fitxer de zona inversa li direm IP local.rev = 192.168.59.rev
Davidginovartinstalaciobind3.png
  • Configuro el fitxer de zona directa de la següent forma:
Davidginovartinstalaciobind4.png
  • Ara configuro el fitxer de zona inversa:
Davidginovartinstalaciobind5.png
  • Un cop fets aquests passos, ja podem reiniciar el servei, si tot es correcte ens sortirà alguna paregut a això:
Davidginovartinstalaciobind6.png
  • Ara es el moment de fer les comprovacions pertinents de que tot es correcte i el servei DNS funciona correctament.
  • Hem utilitzat aquestes comandes:
  1. # named-checkconf -z
  2. # named-checkzone -D inslesplanes.santabarbara.cat /etc/bind/db.inslesplanes.santabarbara.hosts
  3. # named-checkzone -D inslesplanes.santabarbara.cat /etc/bind/192.168.59.rev
  4. # dig + nom de màquina o IP.
  5. # host + nom de màquina o IP.
  6. # nslookup + nom de màquina o IP.
  • Exemples de comprovacions:
Davidginovartinstalaciobind7.png

Davidginovartinstalaciobind8.png

Davidginovartinstalaciobind9.png

Davidginovartinstalaciobind10.png

Davidginovartinstalaciobind11.png

Davidginovartinstalaciobind12.png
  • Per últim comprovem que el servei s'iniciarà quan s'iniciï la màquina.
  • El primer que comprovo es el runlevel en que s'inicia la màquina, com es pot comprovar es el N 2.
  • Després comprovo que en el fitxer /etc/rc2.d/ tenim l'enllaç dèbil creat amb el nom del bind
Davidginovartinstalaciobind13.png

Unir DNS a Ldap

  • El primer que hem fet es instal·lat aquests paquets, ja que dir que ldap-utils, ja el tenim instal·lat anteriorment
$ sudo apt-get install ldap2zone ldap-utils
  • L'ordre ldap2zone té tres paràmetres:
  1. Nom de domini
  2. Servidor Ldap al que volem connectar-mos
  3. TTL (Time to Live)
  • Els dos pròxims fitxers els hem modificat, /etc/default/ldap2zone i /usr/sbin/ldap2bind
  • Fitxer /etc/default/ldap2zone modificat.
# Configuration file for automatic deployment of ldap2zone generated zones to bind
# Should we run the cronjob
# DEFAULT: "false"
RUN_DEPLOY="true"
LDAP_HOST_PARAM="192.168.59.1"
LDAP_BASE_DN="dc=inslesplanes,dc=santabarbara,dc=cat"
# How the LDAP server can be accessed
# DEFAULT: "ldap://localhost"
LDAP_URI="ldap://$LDAP_HOST_PARAM/$LDAP_BASE_DN"
# Where the zonefiles are located
# DEFAULT: "/etc/bind"
BIND_DIR="/etc/bind"
# Time to live value for a and ptr records
# DEFAULT: 500 Seconds
TTL="500"
# Prefix for zone definition files
# DEFAULT: "db."
# The zone definition file for 0.168.192.in-addr.arpa is stored as 'db.0.168.192.in-addr.arpa'
PREFIX="db."
# Allow Updates from these networks (semicolon separated and ended)
# DEFAULT: Don't allow updates
#ALLOW_UPDATE="192.168.0.0/24;"
# Allow Transfer to zones (semicolon separated and ended)
# DEFAULT: Dont allow zone transfer
#ALLOW_TRANSFER=192.168.0.0;"
  • Fitxer /usr/sbin/ldap2bind modificat.
#!/bin/sh
[ -r /etc/default/ldap2zone ] && . /etc/default/ldap2zone
case "$LDAP_URI" in 
ldap://*|ldaps://*) ;; 
*) LDAP_URI="ldap://${LDAP_URI}" ;; 
esac
LDAPSEARCH=`which ldapsearch`
if [ -z "${LDAPSEARCH}" ]; then
       echo "ldapsearch program not in $PATH. Exiting..."
       exit 1
fi
LDAP_URI_PARAM=${LDAP_URI:+"-H $LDAP_URI"}
if [ "$ALLOW_UPDATE" ]; then
       ALLOW_UPDATE_PARAM="allow-update {$ALLOW_UPDATE}";
else ALLOW_UPDATE_PARAM=;
fi
if [ "$ALLOW_TRANSFER" ]; then
       ALLOW_TRANSFER_PARAM="allow-transfer {$ALLOW_TRANSFER}";
else ALLOW_TRANSFER_PARAM=;
fi
ZONES=`ldapsearch -LLL $LDAP_HOST_PARAM -x "(objectClass=dNSZone)" zoneName -b $LDAP_BASE_DN | grep zoneName: |$
ldap2zone=`which ldap2zone`
rndc=`which rndc`
if [ -z "${ZONES}" ]; then
        echo "No domains configured. Exiting..."
       exit 0
fi
if [ -z "${rndc}" ]; then
       echo "rndc program not in $PATH. Exiting..."
       exit 1
fi
if [ -z "${ldap2zone}" ]; then
       echo "ldap2zone program not in $PATH. Exiting..."
       exit 1
fi
if [ ! -d $BIND_DIR ]; then
       echo "The directory specified as BIND_DIR does not exist. Exiting..."
       exit 1
fi
if [ -w $BIND_DIR/named.conf.ldap2zone ]; then
       >${BIND_DIR}/named.conf.ldap2zone
       for domain in $ZONES; do
               cat << EOF >> ${BIND_DIR}/named.conf.ldap2zone
zone "${domain}" {
       type master;
       notify yes;
       file "${BIND_DIR}/${PREFIX}${domain}";
       $ALLOW_UPDATE_PARAM
       $ALLOW_TRANSFER_PARAM
};
EOF
       done
       $rndc reconfig
fi
for domain in $ZONES; do
       if $ldap2zone $domain $LDAP_URI $TTL > /tmp/$domain; then
               lines=$(cat /tmp/$domain | wc -l)
               [ $lines -gt 1 ] && mv /tmp/$domain $BIND_DIR/${PREFIX}${domain}
       fi
       result=$($rndc reload $domain 2>&1)
       if [ $? -ne 0 ]; then
               printf "Reloading the zone '$domain' failed: $result\n" 1>&2
       else
               printf "Reloading the zone '$domain' was successful\n" 1>&2
       fi
done
  • Un cop hem fet aquestes modificacions, executem aquesta comanda:
# /usr/sbin/ldap2bind
Reloading the zone '59.168.192.in-addr.arpa.' was successful
Reloading the zone 'inslesplanes.santabarbara.cat.' was successful
  • Aquesta comanda ens a creat la zona directa i la inversa, aquests fitxer es troben a /etc/bind/
DavidginovartldapDNS3.png
  • Un cop fet aquest pas, el pròxim pas és ficar en el fitxer /etc/bind/named.conf, la següent línia:
include "/etc/bind/named.conf.ldap2zone";
  • També ja que dir que si havíem fet primer les zones del DNS a mà, tindrem que comentar la següent línia:
DavidginovartldapDNS4.png
  • Per acabar crearem el fitxer /etc/bind/named.conf.ldap2zone, que contindrà els fitxer de zona creats anteriorment:
DavidginovartldapDNS5.png
  • Comprovo que el cron s'executa una vegada cada hora, per fer-ho vaig a /etc/default/ldap2zone
# cat /etc/default/ldap2zone
  • I comprovo que aquesta variable, es trobi així:
 RUN_DEPLOY="true"
  • També ho podem comprovar, anem a:
# cat /etc/cron.d/ldap2zone 
PATH=/sbin:/bin:/usr/sbin:/usr/bin
@reboot   bind  /usr/sbin/ldap2bind
@hourly   bind  /usr/sbin/ldap2bind
  • També podem comprovar el fitxer /var/log/syslog, per veure si realment s'esta executant el cron cada hora.

DNS amb GOSA

Aquí tenim la informació del DNS del servidor.

Lkjhen.png

Les zones creades son les següents:

  • Cortega-desktop es el client que hem creat per fer proves.
Kjieomc.png

Enllaços externs