jueves, 25 de mayo de 2017

nameserver 127.0.1.1 en resolv.conf no se quita!!

 Cuando no funciona directamente la orden
>dig FQDN

y si
>dig @127.0.0.1 FQDN

El fichero de configuracion de las opciones de cliente de dns resilv.conf está controlado por el programa NetworkManager. Este programa es la altinativa a la configuración manual de los ficheros de configuracion de red de un equipo. Por eso, sobreescribe todo lo que se escriba manulamente en el fichero resolv.conf. Otros ficheros no los resscribe, pero su contenido es directamente ignorado.

NetworkManager añada una linea nameserver 127.0.1.1 si en su fichero de configuracion se le indica que utlice el programa dnsmasp para hacer de servidor de fowarding de dns local. En ese caso el lugar de insertar las direcciones IP de los servidores DNS primarios, secunadrios, etc configurados en las interfaces de red insertará una unica linea nameserver 127.0.1.1 para contactar con el programa dnsmasq.

Si no queremos usar el servidor local de forwarding entonces haremos lo siguiente:
Editar el fichero y comentar la linea dns=dnsmasq

sudo nano /etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
 
Y reiniciar el servicio del NetworkManager:
 
sudo service network-manager restart

Comprobar el contenido del archivo /etc/resolv.conf


Fuentes
https://askubuntu.com/questions/627899/nameserver-127-0-1-1-in-resolv-conf-wont-go-away

miércoles, 14 de diciembre de 2016

Actualizaciones dinamicas de DNS mediante DHCP



DNS Dinamico

Es el mecanismo mediante el cual modificamos la información contenida en los ficheros de registros de recursos de las zonas definidas como primarias en un servidor DNS, mientras este se encuentra en ejecución, sin tener que editar ningún fichero de zona.

Mediante este sistema podemos configurar el servidor DNS para que reciba actualizaciones dinámicas que el servidor DHCP le enviará cuando asigne una direccion IP a un cliente.

El cliente informará al servidor DHCP de su cual es su nombre y el servidor DHCP le cede una IP. Por tanto, el servidor DHCP cuenta con la información tanto de la IP como del nombre del equipo cliente, y puede entonces solicitar al sercidor DNS que incluya un registro tipo A que asocie ese nombre con la IP en el dominio de resolucion directa y la IP con el nombre en un registro PTR en la zona de resolución inversa.

Por ejemplo, si el cliente se llama portatil y la IP que le ha sido asignada dinamicamente mediante DHCP es 192.168.100.199 dentro de la red 192.168.100.0/24 y el dominio aulaser.com entonces se deberia añadir un registro de tipo A a la zona de resolucion directa del dominio y un registro de tipo PTR en la zona de resolcion inversa.


En aulaser.com.

portatil IN A 192.168.100.199

En 100.168.192.in-addr.arpa.

199 IN PTR portatil.aulaser.com.

Para que una zona sea dinamica basta con configurar que permite actualizaciones como opcion en la definicion de la zona.

allow-update { }

Si la zona es dinamica estará sufriendo modificaciones, y para asegurarnos que no se pierden cuando queramos realizar nuevas modificaciones manuales en el fichero debemos previamente congelar la zona.

Paso 1. Crear una clave dnssec

Mediante el siguiente comando:

sudo dnssec-keygen -K /etc/bind -a HMAC-MD5 -b 128 -n USER dhcpupdate

opciones:
K - directorio donde guarda los ficheros con las claves
a - algoritmo
b - tamaño en bits
n - tipo de clave
y finalmente el nombre de la clave

Cuando termina nos hará un eco del nombre del fichero .key

Kdhcpupdate.+157+05787.key

Lo abrimos para ver la clave y el token

dhcpupdate. IN KEY 0 3 157 isgrJD32SZV0f0zaWIS7pw==


Paso 2. Configurar BIND

Ahora configuraremos el named.conf de BIND

Añadimos la siguiente entrada

key dhcpupdate {
    algorithm hmac-md5;
    secret "isgrJD32SZV0f0zaWIS7pw==";
    };

Podemos hacerlo desde la opcion DNS Keys en Webmin

Paso 3. Permitir actualizacion a las zonas

En el fichero named.conf.local añadir la opcion

allow-update { dhcpupdate };

dentro de la configuracion de la zona



zone "aulaser.com" {
    type master;
    file "/var/lib/bind/aulaser.com.hosts";
    allow-transfer {
        192.168.100.11;
        };
    allow-update {
        key dhcpupdate;
        };
    };

zone "100.168.192.in-addr.arpa" {
    type master;
    file "/var/lib/bind/192.168.100.rev";
    allow-update {
        key dhcpupdate;
        };
    };

No olvidarse de actualizar la configuracion del servidor

Paso 4. Prueba

Para probar que el servidor DNS permite actualizaciones automaticas de DNS
tenemos el comando

nsupdate

lo usaremos en modo interactivo y le iremos enviando comandos

>server servidor.aulaser.com
>key dhcpupdate isgrJD32SZV0f0zaWIS7pw==
>zone aulaser.com
>update add prueba.aulaser.com. 3600 IN A 192.168.100.199
>send
>zone 100.168.192.in-addr.arpa
>update add 199.100.168.192.in-addr.arpa. 3600 IN PTR prueba.aulaser.com.
>send

Salimos del programa nsupdate  con el commando
>quit

y hacemos un

>dig prueba.aulaser.com

y un

>dig -x 192.168.100.199


Paso 5. Configuración de DHCP

En dhcpd.conf

ddns-update-style interim;
update-static-leases on;

key dhcpupdate {
    secret isgrJD32SZV0f0zaWIS7pw==;
    algorithm hmac-md5;
    }

# Zona de resolucion directa aulaser.com
zone aulaser.com. {
    primary servidor.aulaser.com;
    key dhcpupdate;
    }

# Zona de resolucion inversa de aulaser.com - red 192.168.100.0/24
zone 100.168.192.in-addr.arpa. {
    primary servidor.aulaser.com;
    key dhcpupdate;
    }


# Aula de SER
subnet 192.168.100.0 netmask 255.255.255.0 {
    allow unknown-clients;
    allow client-updates;
    ddns-rev-domainname "in-addr.arpa";
    ddns-domainname "aulaser.com.";
    default-lease-time 60;
    ddns-updates on;
    option domain-name-servers 192.168.100.254;
    option domain-name "aulaser.com";
    option broadcast-address 192.168.100.255;
    option subnet-mask 255.255.255.0;
    option routers 192.168.100.254;
    pool {
        range 192.168.100.101 192.168.100.150;
        }

    }


Los cambios de IP no surtiran efecto inmediato ya que se guardan las resoluciones en cache local de los equipos, para vaciar/limpiar la cache ejecutamos el comando

>sudo systemd-resolve --flush-caches


Fuentes:

http://www.semicomplete.com/articles/dynamic-dns-with-dhcp/#id2255993

https://lani78.com/2012/07/23/make-your-dhcp-server-dynamically-update-your-dns-records-on-ubuntu-12-04-precise-pangolin/

https://lani78.com/2008/08/12/dhcp-server-update-dns-records/

http://www.zytrax.com/books/dns/ch9/dhcp.html

http://www.cyberciti.biz/faq/howto-linux-renew-dhcp-client-ip-address/

https://askubuntu.com/questions/2219/how-do-i-clear-the-dns-cache






viernes, 7 de octubre de 2016

Iniciar, detener, recargar la configuración y mostrar el estado actual de servidor DNS BIND

Ademas de poder hacer todas estas acciones desde webmin, debemos saber que podemos realizarlas desde la linea de comandos.
Para ello tenemos 2 opciones:
  1. Utilizar el comando service bind opcion
  2. Mediante la orden  /etc/init.d/bind9 opción

Como opciones tenemos:
- start: iniciar el servicio DNS
- stop: detener el servicio DNS
- restart: reiniciar el servicio DNS
- reload: recargar los cambios habidos en el fichero de configuración y los ficheros de zonas
- status: Ver información del estado actual del servicio

Fuente:
http://www.cyberciti.biz/faq/start-stop-restart-bind9-linux-command/

Ver información de log relacionada con la actividad del servidor BIND

El servidor DNS Bind registra todos sus mensajes de actividad en fichero /var/log/syslog del sistema.

Podemos ver las ultimas lineas de este fichero desde webmin si desplegamos el grupo System y vamos a la opción System logs. Una vez ahí, elegimos el enlace que dice "ver" de la fila correspondiente al fichero syslog.

Tambien podemos ejecutar el comando cat para visualizar el contenido de un fichero

>cat /var/log/syslog

o abrirlo en un editor de texto con

>leafpad /var/log/syslog

Y buscar información detallada sobre los posibles errores que puedan estar ocurriendo en el servicio.

El servidor local de DNS bind9 no resuelve consultas DNS externas

El problema radica en que tenemos habilitado el DNSSEC en la configuración inicial tras la instalación de BIND.

Para deshabilitarlo debemos acceder al fichero de configuración /etc/bind/named.conf.options y cambiar las opciones de dnssec para que queden así:

dnssec-enable no;
dnssec-valitation no;

Aplicar la configuración y listo.

Fuente:
https://spectlog.com/content/BIND_named:_error_(no_valid_DS)_resolving

domingo, 11 de septiembre de 2016

Como comprobar si tenemos instalada una determinada herramienta en nuestro Lubuntu e instalarla

En ocasiones debemos hacer uso de una herramienta o aplicación, pero es posible que está no se encuentre por defecto instalada en nuestro equipo.

Para gestionar las aplicaciones tenemos intaladas en nuestro sistema podemos hacer uso de una herramienta grafica como el gestor de paquetes de Synaptic.


Una vez en ella podemos buscar proporcionado el nombre de la herramienta, en este caso introducimos dconf.

La casilla de verificación nos indica si ya la tenenmos instalada o por el contrario todavia no se encuentra disponible en nuestro equipo. Por tanto, si marcarmos y seguidamente hacemos click en el boton de Aplicar se prodecera a la descarga e instalación de los paquetes necesarios para instalar dicha herramienta.

Cómo reestablecer una notificación del Network Manager

Que pasa si haceis click en el boton de "No volver a mostrar este mensaje de nuevo" que el Network Mamager de Ubuntu muestra cuando, por ejemplo, se establece o se deshabilita una conexión de red?

Obviamente, la notificación no volverá a aparecer cuando se vuelva a repetir la misma operación. Pero y si queremos que se vuelva a mostrar de nuevo:

En ese caso si lo que hemos deshabilitado es la notificación de establecimiento de conexiones entonces debemos ejecutar el siguente comando:

gsettings set org.gnome.nm-applet disable-connected-notifications "false"

Si, en cambio hubiéramos desabilitado la notificación de desconexiones entonces el comando es el siguiente:

gsettings set org.gnome.nm-applet disable-disconnected-notifications "false"


También podemos apoyarnos en una herramienta de configuración gráfica, que nos hará esta tarea mucho más sencilla. La herramienta es dconf-editor

El primer paso será comprobar si la tenemos instalada en nuestro equipo, y si no instalarla.
Comprobar si tenemos una apliacion instalada e instalarla con un gestor de paquetes.

Una vez abierta la aplicación dconf-editor tenemos que navegar por el arbol de configuración bajando por la rama org > gnome > nm-applet y y desmarcar los checkboxes que queramos.


Fuente: http://askubuntu.com/questions/150406/how-do-i-re-enable-disabled-network-notifications-in-gnome-shell


miércoles, 16 de octubre de 2013

Configurar enrutamiento y NAT en Windows XP

Podemos establecer un equipo con 2 tarjetas de red como un enrutador con traducción de direcciones de red (NAT).

Lo primero que tenemos que hacer es activar el servicio:

Inicio > Panel de Control > Rendimiento y mantenimiento > Herramientas administrativas > Servicios > Enrutamiento y acceso remoto.


Lo ponemos en automático e iniciamos el servicio.

Seguidamente abrimos el editor del registro con el comando "regedit"

Vamos a la entrada siguiente
HKEY_LOCAL_MACHINE>SYSTEM>CurentControlSet>Services>Tcpip>Parameters



y buscamos el parámetro  IPEnableRouter para cambiarle el valor desde 0 a 1 y reiniciar el equipo.

Suponemos ahora que el sistema cuenta con 2 interfaces de red cuyos nombres son "WAN" para la interfaz externa y "LAN" para la interfaz conectada a la red interna.



Desde la linea de comandos ejecutamos los siguientes comandos

>netsh routing ip nat install

para instalar NAT

>netsh routing ip nat add interface "WAN" full

para añadir la interfaz externa con traducción de direcciones y puertos

>netsh routing ip nat add interface "LAN" private

 para añadir la interfaz conectada a la red interna con IPs privadas




jueves, 3 de octubre de 2013

Configurar servicios de enrutamiento en Ubuntu

Normalmente un PC es un equipo que dentro de una red es el origen o destino final de una comunicación. Por tanto, el modo de funcionamiento normal de estos equipos es escuchar el tráfico de la red y aceptar los paquetes que tienen como dirección IP destino una dirección que coincida con la IP configurada en su tarjeta de red ignorando el resto del tráfico. (Tambien aceptarán el tráfico con dirección destino la dirección de broadcast de la red)

Si tenemos un PC con dos tarjetas de red, cada una de ellas conectada a un segmento de red diferente y no hacemos nada más, el PC seguirá comportandose como se ha descrito anteriormente, aceptanto tráfico dirigido a él y solamente a él desde ambas redes a las que esta conectado.

Si lo que queremos es que este ordenador, situado entre dos redes, reencamine el tráfico de todos los equipos situados en un segmento de la red hacia el otro segmento de red entonces debemos cambiar el comportamiento por defecto del PC para que tenga en cuenta y procese todos los paquetes que recibe y no solo aquellos que tienen como direccion final la suya propia. Este proceso consistirá en tomar una decisión sobre por que interfaz debe reencaminar el mensaje que acaba de recibir para que alcance su destino final. Esto se conoce como hacer un forwarding.

Veamos como habilitar el forwarding en Ubuntu:

Lo primero que debemos hacer es editar el archivo /etc/sysctl.conf con permisos de root:

>sudo gedit /etc/sysctl.conf

y quitar el simbolo # de la línea en que aparece el parámetro net.ipv4.ip_forward=1 para habilitar ip forwarding.

El fichero sysctl.conf tiene que quedar asi en esa linea, NO BORRAR EL RESTO!!!

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Seguidamente ejecutar el comando sysctl para que el sistema relea el archivo y ejecute el comando que activa el forwarding:

>sudo sysctl -p

De esta manera queda habilidado el forwarding para direcciones IPv4.

Activación de NAT

A continuación, como estamos usando direcciones IP privadas, tenemos que enmascarar las direcciones IP que vienen de la red 192.168.100.0/24 ya que estas deben salir enrutadas por la interfax ethernet externa (ethX), es decir, debemos de activar el NAT (IMPORTANTE: Comprobar que numero concreto de ethX teneis asignado para la interfaz externa)


En este caso de ejemplo, según nos muestra la pestaña de información de conexiones, la interfaz WAN o externa tiene como identificador eth2.


La activación de NAT en Ubuntu se puede realizar de 2 formas diferentes:

1. Desde Webmin:

Sencillamente entrando en la opción Red>Linux Firewall y seleccionar la opción

Do network address translation on external interface: <Interfaz externa>

Y habilitar la casilla de verficación Enable firewall at boot time? para que se activen automaticamente las reglas del firewall al iniciar el equipo.

Cuando lo tengamos, pulsar el boton "Setup Firewall" y comprobar que las reglas de firewall quedan como se muestra en la imagen.


Por último, pulsar el botón "Apply configuration" para que se apliquen las reglas que acabamos de establecer en el firewall.


2. Mediante la línea comandos del terminal con el siguiente comando:


>sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ethX -j MASQUERADE

Y por último, reiniciar la red para que sean tenidos en cuenta los cambios.

 >sudo /etc/init.d/networking restart


Comprobación.

Para comprobar que funciona correctamente el fordwarding y el NAT podemos hacer un ping desde el cliente a cualquier dirección externa que deba de ser "forwardeada" desde el servidor, por ejemplo la del servidor DNS público de Google, 8.8.8.8.

cliente>ping 8.8.8.8

miércoles, 2 de octubre de 2013

Instalación de webmin

El programa Webmin es una aplicación que permite configurar el sistema mediante una interfaz web. Para instalar webmin en Ubuntu descargamos el paquete Debian desde la página web de webmin www.webmin.com yendo a la sección downloads de la web.


Desde la pagina principal, si hacemos click en la pestaña downloads podemos ver las diferentes versión de webmin.


Elegimos el paquete Debian (Debian package) y lo guardamos.


 Cuando termine la descarga lo abriremos con el Centro de software de Ubuntu y lo instalaremos.

Para comprobar que Webmin está correctamente instalado, abrir una pestaña en el navegador y escribir la URL https://localhost:10000 en la barra de direcciones. Cuando aparece la ventana de inicio de sesion utilizar el usuario creado en la instalación de Ubuntu y su password.