6.4.2.1. Preliminares

Antes de instalar samba, debe tenerse convenientemente configurado el servidor.

6.4.2.1.1. Red

Dado que queremos montar el servidor en la red interna, dejaremos in fichero /etc/network/interfaces con este aspecto:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
        address 192.168.1.20/24
        gateway 192.168.1.1
        up   iptables -t nat -A POSTROUTING -o $IFACE -j MASQUERADE
        down iptables -t nat -D POSTROUTING -o $IFACE -j MASQUERADE


# Interfaz en la red interna
allow-hotplug eth1
iface eth1 inet static
        address 192.168.255.1/24

Obsérvese que se ha dejado que la interfaz externa reciba su configuración de un servidor DHCP. Puede también configurarse de modo estático (que además sería lo más normal), pero si se hace como se propone aquí nos encontraremos con el inconveniente de que la configuración dinámica alterará el fichero /etc/resolv.conf en que se define el dominio de búsqueda y los servidores DNS que se usan. Nuestra intención es evitarlo así que podemos añadir a /etc/dhcp/dhclient.conf las siguientes líneas:

# cat >> /etc/dhcp/dhclient.conf
interface "eth0" {
    supersede domain-name "iespjm.domus";
    supersede domain-search "iespjm.domus";
    supersede domain-name-servers 127.0.0.1;
}

que forzarán a que sean esos los datos incluidos en /etc/resolv.conf.

Nota

Como el cliente dhclient no estaba configurado de este modo en el momento de obtener ip, si echamos un vistazo al fichero, veremos que no tiene los valores adecuados. No importa y, además, es necesario que siga así, puesto que como aún no tenemos servidor DNS seríamos incapaces de descargar paquetes.

6.4.2.1.2. Hostname

El nombre del controlador de dominio pretendemos que sea dc, de modo que debemos hacer lo siguiente:

# hostname dc
# hostname > /etc/hostname

Además deberíamos dejar así en /etc/hosts la línea referida a la propia máquina:

192.168.255.1     dc.iespjm.domus  dc

Hecho esto, debería ocurrir lo siguiente:

$ hostname
dc
$ hostname -d
iespjm.domus

6.4.2.1.3. Sistema de ficheros

Hay que asegurarse de que el sistema de ficheros que compartiremos con samba[1] soporta atributos extendidos de usuarios y permisos ACL. Lo habitual en linux es que usemos ext4 y este ya tiene habilitadas estas dos características por defecto. De todos modos, podemos cercionarnos revisando las opciones de montaje de la partición /dev/VGserver/samba, que es en la que se supone que almacenaremos los ficheros que compartamos mediante el servidor:

$ grep -E '(acl|user_xattr)' /proc/fs/ext4/$(basename `readlink /dev/VGserver/samba`)/options
user_xattr
acl

Si no aparecen las dos opciones, habrá que corregirlo modificando la entrada en /etc/fstab.

Nota

La razón de que la orden se haya complicado de tal manera es debido a que en nuestro servidor de pruebas no tenemos particiones, sino volúmenes lógicos. Si el sistema de ficheros hubiera estado sobre una partición normal como sda4 la ruta habría tan simple como /proc/fs/ext4/sda4/options.

6.4.2.1.4. Servidor de hora

Es absolutamente indispensable que todos los ordenadores de la red tengan sincronizada su hora, por lo que es inevitable instalar un servidor de hora. No entraremos aquí a analizar concienzudamente cómo se configura uno, pero indicaremos una configuración que puede valernos:

 1# Politica predeterminada
 2restrict default ignore
 3
 4restrict 127.0.0.1
 5restrict ::1
 6
 7driftfile /var/lib/ntp/ntp.drift
 8#ntpsigndsocket /var/lib/samba/ntp_signd
 9
10# Servidor del Real Observatorio de la Armada.
11server hora.roa.es iburst
12restrict hora.roa.es mask 255.255.255.255 nomodify notrap noquery
13
14# Hora local, en caso de que no haya conexión a internet.
15server 127.127.1.0
16fudge 127.127.1.0 stratum 10
17
18#broadcastdelay 0.008
19restrict   192.168.1.0 mask     255.255.255.0 nomodify notrap
20restrict   192.168.255.0 mask   255.255.255.0 nomodify notrap mssntp

La únicas novedades de esta configuración son dos:

  • La línea 8 que permite comunicar mediante socket al servidor de hora con samba[2]. Permanecerá comentada hasta que dispongamos de este último.

  • La directiva restrict para las red interna (línea 20) que ha añadido mssntp porque los clientes exigen que los paquetes de hora vayan firmados.

6.4.2.1.5. Servidor DHCP

Este servicio no tiene relación alguna con samba, pero es común que se encuentre habilitado en una red local, así que lo instalaremos también según lo estudiado en el epígrafe correspondiente. La configuración es muy sencilla y basta con crear un /etc/dhcp/dhcpd.conf:

# /etc/dhcp/dhcpd.conf

authoritative;
ddns-update-style none;
default-lease-time 6000;
max-lease-time 7200;

subnet 192.168.255.0 netmask 255.255.255.0 {
   option domain-name-servers  192.168.255.1;
   option domain-name "iespjm.domus";
#   option domain-search "iespjm.domus";
   option routers 192.168.255.1;
   option broadcast-address 192.168.255.255;
   range 192.168.255.100 192.168.255.150;
}

Notas al pie