Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 13 de noviembre de 2015

ifdown: interface ethX not configured

ifconfig («interfaz de configuración») es un programa disponible en varias versiones del sistema operativo UNIX, que permite configurar o desplegar numerosos parámetros de las interfaces de red residentes en el núcleo, como la dirección IP (dinámica o estática), o la máscara de red. Si se llama sin argumentos suele mostrar la configuración vigente de las interfaces de red activas, con detalles como la dirección MAC o el tráfico que ha circulado por las mismas hasta el momento. Las interfaces de red en Linux se suelen denominar eth (eth0, eth1, etc.).

(Fuente Wikipedia)

ifup y ifdown son scripts de control de interfaz que controlan la activación y desactivación de las interfaces del sistema. Son equivalentes a decir ifconfig up o ifconfig down .

Como archivos relacionados con estos comandos podemos encontrar:

       /etc/network/interfaces
              definitions of network interfaces See interfaces(5) for more information.

       /var/run/network/ifstate
              current state of network interfaces


En ocasiones nos puede pasar que queramos desactivar una interficie de red (eth1 por ejemplo) y nos da el siguiente error:

ifdown: interface eth1 not configured

Bien, cuando esto pase tenemos dos opciones. Una es ir al archivo /etc/network/interfaces, comentar la linea auto eth1 y reiniciar. Otra es usar el comando ifdown, pero con el parámetro --force

       --force
              Force configuration or deconfiguration of the interface.

Así pues, seria así: ifdown --force eth1

Con este parámetro, forzamos la desconfiguración de la interficie pese a que por alguna razón no sea 100% aconsejable (por ejemplo, pq tengamos servicios con puertos abiertos en escucha sobre esa interficie). 









lunes, 2 de noviembre de 2015

LSC Project. Sincronizando OpenLDAP con otras bases de datos, etc


LSC es un conector Software Libre para sincronizar identidades entre un directorio LDAP y cualquier otra fuente de datos, incluyendo cualquier base de datos con un conector JDBC (Java Database Connectivity), otro servidor LDAP, etc..  
Esto nos puede ser util para infinidad de cosas, como la de sincronizar un directorio Active Directory con OpenLDAP (en cualquier dirección). De esta manera, podríamos tener un escenario de autenticación híbrido en el cual programas que necesiten AD o OpenLDAP puedan habitar alimentándose de una sóla base de datos. 





Así pues, vamos a proceder a instalar el programa obteniéndolo de la web oficial: http://lsc-project.org/

Tenemos dos maneras de hacerlo:

La más gráfica, mediante un paquete deb:

Lo descargamos

Doble click en el archivo .deb
 

Comprobamos que todo ha ido correctamente

Localización de los archivos:

  • /usr/bin/lsc: wrapper to launch LSC
  • /etc/lsc/: configuration
  • /var/log/lsc/: logs
  • /etc/init.d/lsc: init script (for asynchronous connectors)
  • /etc/default/lsc: init script configuration
  • /etc/cron.d/lsc: cron configuration
  • /usr/lib/lsc/: LSC libraries
  • /var/lib/lsc/nagios/: monitoring scripts
  • /usr/share/doc/lsc: sample scripts


Tambien podemos descargarnos tar.gz y descomprimirlo. Ya viene compilado y listo para usarse. En este caso, pese a que soy defensor de usar los paquetes deb y los repositorios (sobretodo los oficiales) en este caso creo que lo mejor es esta opción. Además, los ejemplos vienen pensados justamente para hacerlo de esta manera (rutas, etc). 

Así que.. queda probarlo:

 ./lsc-sample

 One option from available options is:
   --import []    Import data from CSV file
   --show    Show data from database
   --drop    Drop the table csvdata from database
   --start-ldap-server    Launch an embedded OpenDJ LDAP server
   --stop-ldap-server     Halt an embedded OpenDJ LDAP server
   --run     Run the synchronization task
   --clean   Remove all files from disk
   --help    Print informations

Vamos a probar una sincronización a modo de ejemplo con las herramientas incrustadas que lleva el propio programa. 

Miraremos de cargar los registros que queremos sincronizar en la base de datos:

bin/lsc-sample --import sample.csv

Podemos comprobar el contenido mediante la siguiente linea:

bin/lsc-sample --show

Arrancaremos el servidor LDAP incorporado de pruebas:

#lsc-2.1.3/sample/hsqldb$ bin/lsc-sample --start-ldap-server
Starting LDAP server on ldap://localhost:33389/ ... segons /home/ediaz/Escritorio/lsc-2.1.3/sample/hsqldb/bin/../etc
nov 02 15:36:05 - INFO  - Logging configuration successfully loaded from /home/eithel/Escritorio/lsc-2.1.3/sample/hsqldb/bin/../etc/logback.xml 
nov 02 15:36:05 - INFO  - LSC configuration successfully loaded from /home/eithel/Escritorio/lsc-2.1.3/sample/hsqldb/bin/../etc/

Como el ejemplo lo hace sobre 127.0.0.1 y puede ser que no dispongamos de una herramienta gráfica, podemos mirar de probarlo mediante ldapsearch:


ldapsearch -D "cn=Directory Manager" -w secret -p 33389 -h localhost -b "dc=lsc-project,dc=org" -s sub "(objectclass=*)"
# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# lsc-project.org
dn: dc=lsc-project,dc=org
dc: lsc-project
objectClass: domain
objectClass: top

# Sample, lsc-project.org
dn: ou=Sample,dc=lsc-project,dc=org
description: Sample subtree
ou: Sample
objectClass: organizationalUnit
objectClass: top

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Con la base de datos cargada y un servidor LDAP en donde migrar esos datos, nos dispondremos a hacer la migración:

#bin/lsc-sample --run

y vemos el resultado de nuevo con la busqueda ldapsearch:
ldapsearch -D "cn=Directory Manager" -w secret -p 33389 -h localhost -b "dc=lsc-project,dc=org" -s sub "(objectclass=*)"
# extended LDIF
#
# LDAPv3
# base with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# lsc-project.org
dn: dc=lsc-project,dc=org
dc: lsc-project
objectClass: domain
objectClass: top

# Sample, lsc-project.org
dn: ou=Sample,dc=lsc-project,dc=org
description: Sample subtree
ou: Sample
objectClass: organizationalUnit
objectClass: top

# clem.oudot@gmail.com, Sample, lsc-project.org
dn: mail=clem.oudot@gmail.com,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9Z3Y5ZGlzaFhaZlNQeGR6ekZ0SU1xMlN1WHp5NU5NTDVSdGJlNXc9PQ=
 =
mail: clem.oudot@gmail.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
uid: c.oudot
cn: Oudot, Clement
sn: Oudot

# jonathan@philipoux.net, Sample, lsc-project.org
dn: mail=jonathan@philipoux.net,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9QUlOd0RoWDROTG5aSE9TUDVpKzRtZUJSTzRkMmF2eFNTaDUwWVE9PQ=
 =
mail: jonathan@philipoux.net
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
carLicense: BHU772
carLicense: DED899
uid: j.clarke
cn: Clarke, Jonathan
sn: Clarke

# thomas@aepik.net, Sample, lsc-project.org
dn: mail=thomas@aepik.net,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9Ynh0Y2FWb1g1cmpRcHZSU29PSEd5ME94VGtGSWZGRnlOK3h1SHc9PQ=
 =
mail: thomas@aepik.net
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
uid: t.chemineau
cn: Chemineau, Thomas
sn: Chemineau

# sebastien.bahloul@gmail.com, Sample, lsc-project.org
dn: mail=sebastien.bahloul@gmail.com,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9dzRUbDhPOEU5dW9mc2tFZDBqR0JYNW1yTzVPMWZmakFJOUdMdkE9PQ=
 =
mail: sebastien.bahloul@gmail.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
uid: s.bahloul
cn: Bahloul, Sebastien
sn: Bahloul

# remy@schermesser.com, Sample, lsc-project.org
dn: mail=remy@schermesser.com,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9eE9odElwcENEN3RLRlZONSt4Ris1WkNpRlp5Wmx4NlBYV3M5bUE9PQ=
 =
mail: remy@schermesser.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
uid: r.schermesser
cn: Schermesser, Remy-Christophe
sn: Schermesser

# epereira@linagora.com, Sample, lsc-project.org
dn: mail=epereira@linagora.com,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9YzUwaFEra2RPLzRLQjI4WG9tMmREQm83KzFFOWo4Wi9GbktaZkE9PQ=
 =
mail: epereira@linagora.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
uid: e.pereira
cn: Pereira, Esteban
sn: Pereira

# dcoutadeur@linagora.com, Sample, lsc-project.org
dn: mail=dcoutadeur@linagora.com,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9Z2VKUkpFa012dE9wNGZvWDB1anVxeEVHMXZZaE1Ob3cvUmp6T0E9PQ=
 =
mail: dcoutadeur@linagora.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
uid: d.coutadeur
cn: Coutadeur, David
sn: Coutadeur

# rouazana@linagora.com, Sample, lsc-project.org
dn: mail=rouazana@linagora.com,ou=Sample,dc=lsc-project,dc=org
userPassword:: e1NTSEF9YjJKUWQ3NUtTaDlCWnJnUTIrd2E1NWNzNVdNSFIreFpXeG5lbkE9PQ=
 =
mail: rouazana@linagora.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
uid: r.ouazana
cn: Ouazana, Raphael
sn: Ouazana

# search result
search: 2
result: 0 Success

# numResponses: 11
# numEntries: 10

Efectivamente, ha realizado la sincronización perfectamente.

En resumen, lo que hemos hecho es, dado un csv, cargar una base de datos intermedia. Luego, con los datos cargados en esa base de datos, los migramos a otro servidor LDAP (OpenLDAP, AD, etc).








That u don't know what you've got 'til it's gone