Instalar un sistema operativo nunca es un proceso trivial y mucho menos en el caso de un servidor. Si el sistema no se instala y configura correctamente podemos encontrarnos posteriormente con fallos que serán difíciles de corregir. Ya vimos en el bloque 1 las tareas a planificar antes de realizar la instalación de un sistema operativo.
En la fase de análisis del sistema debemos haber respondido a la pregunta de para qué vamos a utilizar este sistema informático, tanto en la actualidad como en el futuro (al menos a corto/medio plazo).
Una vez decidido que nuestro sistema informático es lo bastante complejo como para necesitar un servidor tenemos que planificar cuidadosamente su instalación:
Una vez analizadas todas las consideraciones indicadas tendremos que decidir sobre diferentes aspectos:
En función de eso haremos la elección de los equipos a adquirir y los sistemas a instalar en cada equipo, eligiendo los que satisfagan todas nuestras necesidades (actuales y futuras).
En nuestra práctica no tenemos que preocuparnos de la parte del hardware porque ya lo tenemos y no lo podemos cambiar. Simplemente miraremos si es necesario mejorar algún elemento como aumentar la cantidad de RAM o adquirir algún disco duro adicional o alguna otra tarjeta de red.
Respecto al sistema operativo ya hemos elegido los sistemas para los clientes y debemos ahora elegir el sistema operativo para el servidor. Nos decantaremos por un Windows Server para el servidor que hemos visto que cumple con los requerimientos que nos plantean.
Lo razonable es instalar la última versión: Windows Server 2022. Dentro de cada versión de Windows hay diferentes ediciones y debemos elegir la más adecuada para nuestro sistema.
En la web de Microsoft, Wikipedia y otras páginas podemos consultar las características de las diferentes ediciones.
Una vez finalizada la planificación procederemos a la instalación del sistema. Si ya tenemos las particiones hechas en la instalación elegiremos cuál será la del sistema. Si no las haremos al instalar (recordad que el instalador de Windows sólo permite crear particiones primarias y con sistema de ficheros NTFS).
El proceso de instalación es similar al de cualquier Windows cliente.
Esta instalación (que es la opción por defecto al instalar el sistema) instala el servidor pero sin entorno gráfico, con las ventajas e inconvenientes que ello comporta. En realidad sí que hay un sistema gráfico desde el que se pueden realizar algunas acciones pero no es tan potente ni pesado como el entorno gráfico normal.
Una vez finalizada la instalación y antes de configurar el sistema es conveniente hacer una serie de comprobaciones:
ping
, tracert
, nslookup
,… y también con las herramientas del Centro de redes y recursos compartidosUna vez comprobado todo esto es conveniente reiniciar el equipo para comprobar que lo hace correctamente. Después acabaremos de configurarlo como veremos ahora y, una vez configurado, sería conveniente hacer una imagen del servidor limpio.
Lo primero es realizar una serie de tareas básicas de configuración desde el Administrador del servidor->Servidor local
.
Lo primero que tenemos que hacer es cambiar el nombre del equipo. Se recomienda que no tenga más de 15 caracteres y sólo use caracteres estándar (letras normales, números o guión). El nombre de cada equipo tiene que ser único en el dominio.
Respecto al dominio si este servidor hará de servidor en un dominio ya existente (donde ya hay otro servidor que hace de controlador de dominio) indicaremos el nombre del dominio. Si no trabajaremos con dominio o este es el servidor que hará de controlador lo dejamos como grupo de trabajo (posteriormente veremos como crear el nuevo dominio).
El Firewall de Windows siempre debemos tenerlo activado y bien configurado.
Si es necesario podemos habilitar el Escritorio remoto para que los usuarios puedan conectarse al servidor mediante Terminal Server y trabajar desde su equipo como si estuvieron físicamente en la consola del servidor.
También es aconsejable comprobar la zona horaria (aparece a la derecha).
A continuación hay que configurar la red. Lo más normal es que el servidor tenga direcciones IP estáticas, no obtenidas por DHCP (seguramente será él quien asigne direcciones por DHCP). Desde aquí le podemos asignar la IP que corresponda a cada tarjeta de red.
Si nuestro servidor tiene que hacer de servidor de comunicaciones y ser la puerta de enlace por la cual los clientes de nuestra red accedan a Internet tendrá que tener al menos 2 tarjetas de red:
Finalmente tendremos que enrutar el tráfico entre las dos tarjetas de forma que todo el tráfico de salida que llega por la tarjeta interna sea transferido a la externa desde donde irá hacia su destino. Sin este paso los clientes llegarán al servidor pero no podrán ir más allá. La forma más sencilla de hacer esto es instalando en nuestro servidor el Servicio de Enrutamiento (es uno de los servicios que encontramos dentro del servicio de Acceso a red). Esto se verá en el apartado de roles.
Es muy importante configurar las actualizaciones del servidor para asegurarnos que se encuentra siempre actualizado.
Si es importante que un cliente esté siempre actualizado para evitar vulnerabilidades esto es mucho más importante en el caso del servidor porque si un atacante consigue acceder a nuestro servidor tendrá a su alcance toda la información y los recursos de nuestra red. De todas formas tenemos que tener cuidado con esto porque algunas actualizaciones requieren reiniciar el equipo (y es un tema delicado en un servidor) y también podría pasar que alguna actualización nos de problemas con nuestro hardware o con alguna aplicación instalada, aunque es algo poco habitual. Por eso hay administradores que prefieren que las actualizaciones se descarguen automáticamente pero no se instalen sino que hacen ellos la instalación manualmente en algún momento en que no sea crítico el funcionamiento del servidor. Esta es la configuración por defecto en Windows Server.
No profundizaremos en cómo hacerlo ya que es igual que en cualquier cliente Windows.
Recordad que nosotros deshabilitaremos las actualizaciones automáticas para no colapsar la red del instituto.
Si hemos instalado el servidor sin entorno de escritorio debemos usar la terminal para configurarlo. Al arrancar el servidor automáticamente se abre la herramienta de texto sconfig nos permite configurar de forma sencilla e intuitiva muchas de las cosas más habituales:
Además podemos usar comandos PowerShell. Algunos de los más útiles son:
Rename-Computer -NewName MISERVIDOR
Restart-Computer -force
Para ver el nombre de cada interfaz de red usamos el comando Get-NetIPInterface
.
Get-NetAdapter –name Ethernet | Remove-NetIPAddress -Confirm:$false
Get-NetAdapter –name Ethernet | New-NetIPAddress –AddressFamily IPv4 –IpAddress 192.168.1.25 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-NetIPInterfce -InterfaceAlias Ethernet -Dhcp Enabled
Get-NetRoute
Set-DNSClientServerAddress -InterfaceAlias Ethernet -ServerAddresses ("192.168.1.1", "8.8.8.8")
Disable-NetAdapterBinding
(para saber el nombre de las opciones que tenemos usamos Get-NetAdapterBinding
):
Disable-NetAdapterBinding –name $redInterna -ComponentID ms_tcpip6
Podemos encontrar muchos comandos de configuración en la página de Administración de un servidor Server Core de Microsoft.
El Firewall de Windows Server 2022, a diferencia de las versiones anteriores, por defecto corta el tráfico ICMP (los ping) al servidor desde cualquier equipo que no pertenezca al dominio. Para comprobar nuestra red podemos desactivar temporalmente el firewall con el comando
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled false
y volverlo a habilitar poniéndolo de nuevo a true
. En este ejemplo lo hemos desactivado para los 3 perfiles existentes (Dominio, Público y Privado).
Si vamos a necesitar hacer este tipo de ping lo que deberíamos hacer es añadir una regla al firewall.
Para crear esa regla con PowerShell haremos:
New-NetFirewallRule -DisplayName "Allow inbound ICMPv4" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress 192.168.200.0/24 -Action Allow
Si queremos permitir pings desde distintas redes podemos añadir una regla para cada red o indicar en una sól regla todas las redes desde las que permitiremos el ping, por ejemplo:
$ips = @("192.168.0.11-192.168.0.40", "192.168.100.10-192.168.100.200", "192.168.200.0/24")
New-NetFirewallRule -DisplayName "Allow inbound ICMPv4" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress $ips -Action Allow
Podemos habilitar y deshabilitar una regla de firewall con Enable-NetFirewallRule
y Disable-NetFirewallRule
:
Disable-NetFirewallRule –DisplayName "Allow inbound ICMPv4"
Y para eliminar una regla usaremos Remove-NetFirewallRule
(OJO: no usarla NUNCA sin indicar un DisplayName o eliminará TODAS las reglas existentes).
Para mostrar todas las reglas usamos el cmdlet Get-NetFirewallRule
. Para mostrar las direcciones IP de una regla en concreto usamos Get-NetFirewallAddressFilter
y para mostrar sus puertos Get-NetFirewallPortFilter
:
Get-NetFirewallRule -DisplayName Allow inbound ICMPv4
Get-NetFirewallRule -DisplayName Allow inbound ICMPv4 | Get-NetFirewallAddressFilter
Get-NetFirewallRule -DisplayName Allow inbound ICMPv4 | Get-NetFirewallPortFilter
Ejemplo para mostrar todas las reglas de entrada activas, mostrando además el protocolo, puerto, etc en formato tabla para verlas mejor:
Get-NetFirewallRule -Action Allow -Enabled True -Direction Inbound |
Format-Table -Property Name,
@{Name="Protocol";Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name="LocalPort";Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name="RemotePort";Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name="RemoteAddress";Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled, Profile, Direction, Action
Podemos obtener más información de cómo configurar el Firewall usando Powershell en páginas como Reparar.info o usando netsh advfirewall
en páginas como esta de Microsoft con ejemplos para habilitar programas o abrir puertos.
Además de usando Powershel podemos configurar el firewall con netsh
. La regla anterior se añadiría con:
netsh advfirewall firewall add rule name="Allow inbound ICMPv4" protocol=icmpv4:8,any dir=in action=allow
y se eliminaría con:
netsh advfirewall firewall add rule name="Allow inbound ICMPv4" protocol=icmpv4:8,any dir=in action=block
La versión que hemos instalado es la versión de evaluación y sólo podemos utilizarla durante un tiempo determinado antes de adquirir una licencia. Podemos ver el tiempo que nos queda con el comando:
slmgr.vbs -dli
Microsoft nos permite ampliar el periodo de prueba con el comando:
slmgr.vbs -rearm
Este comando tarda un tiempo en ejecutarse y después nos pide que reiniciemos el sistema.
A lo largo de la instalación es conveniente anotar en un documento cuestiones cómo:
La documentación no es un documento estático sino que irá modificándose a medida que cambiemos la configuración del servidor.