Diferencia entre revisiones de «LXD per a SX»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
(Página creada con «Amb la tecnologia LXD es pot configurar un servidor que proporcione un entorn virtual per a fer pràctiques. Una forma de fer-ho ràpidament pot ser amb Proxmox. Aq...»)
 
Sin resumen de edición
Línea 1: Línea 1:
Amb la tecnologia [[LXD]] es pot configurar un servidor que proporcione un entorn virtual per a fer pràctiques. Una forma de fer-ho ràpidament pot ser amb [[Proxmox]]. Aquest manual és per fer-ho sols amb LXD en un Ubuntu 16.04.
Amb la tecnologia [[LXD]] es pot configurar un servidor que proporcione un entorn virtual per a fer pràctiques. Una forma de fer-ho ràpidament pot ser amb [[Proxmox]]. Aquest manual és per fer-ho sols amb LXD en un Ubuntu 16.04.
{{nota| No cal entrar en detalls en alguns comandaments, la manera de fer-los està explicada en [[LXD]].}}


El cas (real) que ens ocupa tracta de crear un servidor per a una classe de 15 alumnes per a que practiquen en Servicis en Xarxa. Es tracta de provar DHCP, DNS i altres servidors i clients. Cada alumne té accés a 2 contenidors prèviament configurats per a que tinguen l'estructura de xarxa típica de client servidor. Ells els controlen totalment, però no poden accedir als dels companys.
El cas (real) que ens ocupa tracta de crear un servidor per a una classe de 15 alumnes per a que practiquen en Servicis en Xarxa. Es tracta de provar DHCP, DNS i altres servidors i clients. Cada alumne té accés a 2 contenidors prèviament configurats per a que tinguen l'estructura de xarxa típica de client servidor. Ells els controlen totalment, però no poden accedir als dels companys.
Línea 45: Línea 47:
</pre>
</pre>
Aquest for es pot utilitzar després per iniciar-los tots o parar-los.
Aquest for es pot utilitzar després per iniciar-los tots o parar-los.
Exemple de cóm queda:
<pre class="code">
lliurex@2smxv:~$ lxc list
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
|  NOMBRE  | ESTADO  |              IPV4              |                    IPV6                    |    TIPO    | SNAPSHOTS |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne1  | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe31:1c2d (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.218 (eth0)          |                                            |            |          |
|          |        | 10.235.78.1 (lxdbr0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne10 | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe67:f1f7 (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.227 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne11 | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:feb9:a80c (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.228 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne12 | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fecc:e507 (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.232 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne13 | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:feee:768d (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.229 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne14 | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe95:14d0 (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.230 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne15 | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe60:cc7c (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.231 (eth0)          |                                            |            |          |
|          |        | 10.235.78.1 (lxdbr0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne2  | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe21:6a76 (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.219 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne3  | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe6b:7f64 (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.220 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne4  | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fec2:86ea (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.221 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne5  | RUNNING | 192.168.0.222 (eth0)          | fd62:5f40:e210:0:216:3eff:fe9c:f3aa (eth0) | PERSISTENT | 0        |
|          |        | 192.168.66.1 (br0)            |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne6  | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe16:bea4 (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.223 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne7  | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe73:c391 (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.224 (eth0)          |                                            |            |          |
|          |        | 10.235.78.1 (lxdbr0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne8  | RUNNING | 192.168.66.1 (br0)            | fd62:5f40:e210:0:216:3eff:fe90:163e (eth0) | PERSISTENT | 0        |
|          |        | 192.168.0.225 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne9  | RUNNING | 10.235.78.1 (lxdbr0)          | fd62:5f40:e210:0:216:3eff:feaa:d8 (eth0)  | PERSISTENT | 0        |
|          |        | 192.168.66.1 (br0)            |                                            |            |          |
|          |        | 192.168.0.226 (eth0)          |                                            |            |          |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| plantilla| STOPPED |                                |                                            | PERSISTENT | 0        |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
</pre>

Revisión del 22:55 21 nov 2016

Amb la tecnologia LXD es pot configurar un servidor que proporcione un entorn virtual per a fer pràctiques. Una forma de fer-ho ràpidament pot ser amb Proxmox. Aquest manual és per fer-ho sols amb LXD en un Ubuntu 16.04.

No cal entrar en detalls en alguns comandaments, la manera de fer-los està explicada en LXD.

El cas (real) que ens ocupa tracta de crear un servidor per a una classe de 15 alumnes per a que practiquen en Servicis en Xarxa. Es tracta de provar DHCP, DNS i altres servidors i clients. Cada alumne té accés a 2 contenidors prèviament configurats per a que tinguen l'estructura de xarxa típica de client servidor. Ells els controlen totalment, però no poden accedir als dels companys.

Abans de tot, cal configurar el servidor correctament segons aquest manual.

En /etc/security/limits.conf:

* 	soft 	nofile 	1048576 	
* 	hard 	nofile 	1048576 	
root 	soft 	nofile 	1048576 	
root 	hard 	nofile 	1048576 	
* 	soft 	memlock 	unlimited 	
* 	hard 	memlock 	unlimited 	

En /etc/sysctrl.conf:

fs.inotify.max_queued_events=1048576 	
fs.inotify.max_user_instances=1048576 
fs.inotify.max_user_watches=1048576 	
vm.max_map_count=262144 	

A continuació, cal iniciar lxd:

# lxd init
# Se configura amb quasi tot per defecte.

# lxd launch ubuntu:16.04 plantillla -c security.nesting=true
# lxd config edit plantilla
# Es canvia la eth0 de bridged a macvlan amb la targeta del server.

Dins del container cal fer algunes coses:

  • Reinstal·lar openssh-server per tindre la configuració per defecte.
  • Donar password a ubuntu per poder accedir per ssh.
  • Crear els containers:
    • Fer un pont br0 per a la xarxa interna sols accesible per els containers de dins.
    • Fer que el client tinga sols el pont i el servidor una en el br0 i l'altra en lxdbr0

D'aquesta manera, cada alumne entra per ssh a un container, canvia la contrasenya de ubuntu i té disponible una configuració de dos containers dins del seu o pot configurar el que necessite.

Una vegada tot configurat, es paren els containers de dins i el container plantilla. Després es copia la plantilla:

# for n in {1..15}; do echo "Copiant $n"; lxc copy plantilla alumne$n; done

Aquest for es pot utilitzar després per iniciar-los tots o parar-los.

Exemple de cóm queda:

lliurex@2smxv:~$ lxc list
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
|  NOMBRE  | ESTADO  |              IPV4              |                    IPV6                    |    TIPO    | SNAPSHOTS |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne1  | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe31:1c2d (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.218 (eth0)           |                                            |            |           |
|          |         | 10.235.78.1 (lxdbr0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne10 | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe67:f1f7 (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.227 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne11 | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:feb9:a80c (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.228 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne12 | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fecc:e507 (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.232 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne13 | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:feee:768d (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.229 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne14 | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe95:14d0 (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.230 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne15 | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe60:cc7c (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.231 (eth0)           |                                            |            |           |
|          |         | 10.235.78.1 (lxdbr0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne2  | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe21:6a76 (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.219 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne3  | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe6b:7f64 (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.220 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne4  | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fec2:86ea (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.221 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne5  | RUNNING | 192.168.0.222 (eth0)           | fd62:5f40:e210:0:216:3eff:fe9c:f3aa (eth0) | PERSISTENT | 0         |
|          |         | 192.168.66.1 (br0)             |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne6  | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe16:bea4 (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.223 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne7  | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe73:c391 (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.224 (eth0)           |                                            |            |           |
|          |         | 10.235.78.1 (lxdbr0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne8  | RUNNING | 192.168.66.1 (br0)             | fd62:5f40:e210:0:216:3eff:fe90:163e (eth0) | PERSISTENT | 0         |
|          |         | 192.168.0.225 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| alumne9  | RUNNING | 10.235.78.1 (lxdbr0)           | fd62:5f40:e210:0:216:3eff:feaa:d8 (eth0)   | PERSISTENT | 0         |
|          |         | 192.168.66.1 (br0)             |                                            |            |           |
|          |         | 192.168.0.226 (eth0)           |                                            |            |           |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+
| plantilla| STOPPED |                                |                                            | PERSISTENT | 0         |
+----------+---------+--------------------------------+--------------------------------------------+------------+-----------+