"Después del juego es antes del juego"
Sepp Herberger

Mostrando entradas con la etiqueta nat. Mostrar todas las entradas
Mostrando entradas con la etiqueta nat. Mostrar todas las entradas

martes, 14 de noviembre de 2017

Conectar por ssh/vnc al PC del profesor tras el punto de acceso DLink DIR-860L

En esta entrada anterior vimos como hacer NAT en el aula usando un punto de acceso DLink DIR-860L, de manera que los PC de alumnos y profesor quedaban en red privada dentro del rango 192.168.0.X.

El punto de acceso tenía dos direcciones: la 172.X.Y.Z (que sería la pública del centro) y la 192.168.0.254 (dentro de la red privada del aula), haciendo NAT entre ellas. Esto aísla por completo el aula de la red del centro pudiendo asegurar que el DLink realiza el NAT de una forma bastante más eficiente que los equipos HP que nos trajeron a los infolab.

El problema derivado es que no podemos conectar por ssh ni por vnc con el ordenador del profesor, que queda detrás del DLink. Esto causa bastante trastorno ya que es muy normal conectar para realizar diversas tareas de forma remota. Existe una vía indirecta para conectar por ssh, entrando primero en el DLink y luego desde alli haciendo ssh root@192.168.0.100, pero aparte de ser lento no podemos usar ssh -X para abrir aplicaciones gráficas sobre la conexión.

La solución está en configurar el port forwarding en el DLink para redigir determinadas conexiones a 172.X.Y.Z para que acaben en el 192.168.0.100 de la red privada. Es el famoso "abrir puertos" que hemos hecho todos en el router de casa para usar torrent o juegos.

El método paso a paso para abrir puertos en el entorno web de DD-WRT de nuestro punto de acceso DLink está descrito en este vídeo.

Para redirigir ssh he optado conectar el puerto 23 de la IP externa con el puerto 192.168.0.100:22, mediante la opción NAT-Qos -> Port Forwarding:


Uso el puerto 23 porque el puerto 22 está reservado para el servicio sshd del punto de acceso y no quiero perder la posibilidad de hacer ssh al DLink. Una vez aplicados los cambios, si desde cualquier punto de la red del centro hacemos:
$ ssh -X -p 23 root@172.X.Y.Z
conectaremos con el PC del profesor, saltando de forma transparente el DLink. Al usar "-X" tenemos la posibilidad de abrir aplicaciones gráficas.

Para redirigir vnc he usado la opción NAT-Qos -> Port Range Forwarding:


Pongo el rango de puertos 5900-5910 ya que vnc va usándolos de forma secuencial si hay varias sesiones vnc abiertas. En este caso el mapeo de los puertos es directo: el 5900 de fuera se conecta con el 5900 de dentro. Teniendo arrancado el servidor vnc en el PC del profesor (en mi caso lo arranco a mano cuando lo necesito, entrando antes por ssh) desde fuera haremos:
$ vinagre 172.X.Y.Z 
y entramos en el pc interno al aula.

Con esto tendremos acceso a esos PC igual al que tenemos a cualquier otro PC de profesor del centro.

lunes, 27 de marzo de 2017

Uso de DLink DIR-860L para hacer NAT dentro del aula.

Normalmente por facilidad de gestión de los ordenadores de los alumnos y por no malgastar direcciones IP, dentro de las aulas tenemos una VLAN con un direccionamiento IP privado dentro del rango 192.168.0.X.

Los puestos de los alumnos reciben ip 192.168.0.201, .202, ... (si damos de alta el puesto del alumno en la rama DHCP Config del servidor ldap podemos incluso hacer que el PC del alumno reciba siempre una IP fija, lo cual facilita aún mas su gestión) y el puesto del profesor tiene la IP fija 192.168.0.254.

Es el PC del profesor con sus dos tarjetas de red el que hace la NAT entre la red del centro y la del aula.

Con la llegada de los puntos de acceso de DLink DIR-860L tenemos un elemento nuevo dentro del aula. Normalmente lo usaremos como punto de acceso wifi para portátiles y dispositivos móviles desde su dirección 192.168.0.1, pero al disponer de un puerto WAN y un switch con 4 puertos LAN podemos usarlo para liberar al PC del profesor de hacer NAT. Además, debemos tener en cuenta que los PC para los infolab que nos han mandado solo tienen una tarjeta de red que para más inri da bastantes problemas para hacer el NAT ya que su driver no soporta muy bien (por decirlo de foma suave) el tráfico del aula.

El punto Dlink lo estoy guardando en la mesa del profesor, dentro del cajón donde está el PC. El esquema del cableado que hacemos es el siguiente:

  1. Toma de 100Mb del suelo de la mesa del profesor. Está conectada directamente a la red del centro en el patch panel. La conectamos al puerto WAN (amarillo) del punto de acceso.
  2. El puerto LAN4 del punto de acceso se conecta con un cable directo a la única tarjeta de red del PC del profesor, la que trae en la placa base.
  3. Toma de 1Gb del suelo (etiquetada normalmente como "enlace profesor"). Va conectada a un puerto de switch el patch panel, incluido dentro de la VLAN interna del aula. Se conectará al puerto LAN1 del punto de acceso.
Antes de seguir con la configuración de red debemos aclarar que hay dos enfoques para este escenario, determinados por quién hace de servidor DHCP dentro del aula.
  • Si queremos que el mismo punto de acceso haga de servidor DHCP y gestione las IP que se van dando a los PC de los alumnos.
  • Si queremos que siga siendo el PC de profesor el servidor DHCP dentro de la red del aula.
En el primer caso, las ventajas son dos: el PC del profesor queda liberado de esa tarea y cada cosa sigue con la IP que hemos tenido hasta ahora: el PC del profesor con 192.168.0.254, el punto de acceso con 192.168.0.1 y los PC de los alumnos con 192.168.0.2XX. La desventaja es que los PC de los alumnos no podrán recibir IP fijas configuradas en el servidor ldap.

En el segundo caso la ventaja es que los PC de los alumnos reciben las IP fijas definidas en ldap (lo cual facilita su gestión e identificación desde Aulalinex, Squid, Sarg, etc). Otra ventaja es que si el PC del profesor está apagado, nadie da IP en la subred y los alumnos no podrán navegar. La desventaja es que hay que cambiar las IP de punto de acceso y PC del profesor para que funcione la cosa.

Yo me he decantado por el segundo caso, ya que estoy acostumbrado a tener los alumnos con IP fija y me parece un paso atrás renunciar a eso. Para configurar la red entramos en el punto de acceso por su interfaz web (https://192.168.0.1) y lo quedamos así:


El puerto WAN del router se configura con una IP 172.XX.YY.ZZ de la red del centro, poniendo la máscara, puerta de enlace y DNS como siempre. El puerto LAN tiene originalmente 192.168.0.1 pero como vemos la hemos cambiado a 192.168.0.254. La causa es que los PC de los alumnos están configurados para usar como gateway de su subred la IP 192.168.0.254, que es donde se hace NAT (recordemos que es el DLink el que hace el NAT ahora), y es mas fácil eso que cambiar la configuración DHCP de los clientes en ldap para usar un nuevo gateway. 

En el PC del profesor, cambiamos la IP fija que tiene en 192.168.0.254 por otra, por ejemplo 192.168.0.100, ya que él ahora no hace el NAT y esa IP está cogida por el DLink. No hay que olvidar cambiar la configuración de los clientes aulalinex de los alumnos para decirles que el profesor tiene ahora una nueva IP, lo cual por puppet es una tarea sencilla de realizar. Por último, el servidor DHCP se deja desactivado en la configuración Web del DLink. La configuración de red del profesor sería:
~# cat /etc/network/interfaces
auto lo eth0
iface lo inet loopback

iface eth0 inet static
        address 192.168.0.100
        gateway 192.168.0.254
        dns-nameservers 172.19.231.3
        dns-search vguadalupe
        netmask 255.255.255.0
        broadcast 192.168.0.255
Si tenemos algún script o servicio de NAT, como /etc/init.d/enable-nat o /etc/init.d/activa-nat habría que desinstalarlo, ya que no procede. En cuanto a aulalinex en el puesto del profesor:
~# cat /var/lib/aulalinex-profesor/aulalinex-profesor.conf
.....
[Profesor]
mesa profesor=192.168.0.100
.....
[Servidor]
IP=192.168.0.254
.....
[Punto Acceso]
IP=192.168.0.254
.....
Y en los alumnos:
~# cat /etc/aulalinex-red.conf
.....
[Profesor]
IP Profesor=192.168.0.100
.....
En el caso de querer optar por la primera opción propuesta activaríamos el servidor DHCP indicando un rango para repartir IP, el puerto LAN del punto de acceso se quedaría con 192.168.0.1 y el PC del profesor con IP 192.168.0.254. Adicionalmente habria que apagar el servicio DHCP del PC del profesor, para evitar que haya dos servidores DHCP en competencia en la red interna del aula. 

Sea cual sea la opción elegida, con esto tenemos el DLink haciendo NAT. 

Si además queremos controlar su wifi desde el PC del profesor podemos usar la aplicación controlwifi que hace que sea trivial para el profesor encender y apagar la wifi, así como indicar la clave a los alumnos.

Venga, nos vamos.

Añadido 30/05/2017. Tras varias pruebas con mi compañera Montse, ampliaré un poco algunos puntos que habían quedado sin tocar o poco claros.

Como el punto de acceso enruta entre 2 redes, debe permitir conexiones tanto https como ssh desde ambas. El tener activado por defecto el firewall es un problema aquí, por eso es conveniente detenerlo:


Luego, hay que activar el servicio ssh para permitir la conexión manual o de aplicaciones como controlwifi:




Por último, la gestión remota quedará así:



Para conectar por ssh al ordenador del profesor desde fuera hay que hacerlo pasando por el punto de acceso, en dos saltos:

~$ ssh root@aulax-ap
root@aulax-ap's password: 
==========================================================
 
     ___  ___     _      _____  ______       ____  ___ 
    / _ \/ _ \___| | /| / / _ \/_  __/ _  __|_  / / _ \
   / // / // /___/ |/ |/ / , _/ / /   | |/ //_ <_/ // /
  /____/____/    |__/|__/_/|_| /_/    |___/____(_)___/ 
                                                     
                       DD-WRT v3.0
                   http://www.dd-wrt.com
 
==========================================================


BusyBox v1.24.1 (2016-02-23 13:45:33 CET) built-in shell (ash)

root@AULAX-AP:~# ssh root@192.168.0.100
root@192.168.0.100's password: 
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.19.0-73-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

Last login: Mon May 29 10:51:05 2017 from 192.168.0.254
root@A0X-PRO:~# 


Bueno, creo que ahora queda mas claro.