¿Qué hacer luego de tener la versión mínima de CentOS instalada en nuestro equipo? (Parte 1)

Cuando queremos instalar un sistema operativo linux, nos ponemos a pensar en las diferentes distros que existen en el mercado (Fedora, centOS, Ubuntu, Mandriva, Debian, OpenSUSE, etc) y los tipos de instalación (minima, desarrollador, redes, ofimática, etc.).

El sistema operativo que me gusta por su versatilidad y fácil uso en la parte administrativa es centOS en su versión 7, en especial la instalación mínima. Como su nombre lo indica, es la versión más básica del sistema operativo el cual lo vamos adaptando luego a nuestras necesidades al instalar los paquetes que queramos.

Luego que tenemos nuestro sistema operativo linux arriba y funcionando, nos preguntamos, ¿y ahora qué? Pues vamos a mejorar y realizar algunas configuraciones e instalar algunas herramientas que considero necesarias y muy útiles al momento de administrar nuestro equipo.

Configurar IP estática e instalación de net-tools

Para configurar una IP estática a nuestro servidor ejecutamos el siguiente comando:

ip add [show]

El cual nos muestra la configuración actual de nuestras tarjetas de redip_add

Como podemos ver en la imagen, tenemos la interfaz de nombre eth0 con la ip 172.16.140.2. Para cambiar la ip o ponerle una nueva a esa interfaz nos dirigimos a:

 vi /etc/sysconfig/network-scripts/ifcfg-eth0

donde eth0 es el nombre de la interfaz de red a cambiar y agregamos las siguientes líneas:

IPADDR=[ip que tendrá el servidor]
PREFIX=[subred a la que pertenece]
GATEWAY=[puerta predeterminada de enlace]
DNS1=[el DNS primario de nuestra organización]
DNS2=[el DNS secundario de nuestra organización]

Guardamos los cambios con 😡 y reiniciamos el servicio de red con

systemctl restart network

Para comprobar que los cambios fueron realizados de manera correcta, volvemos a ejcutar ip addr y ya nos aparece la ip que pusimos en el archivo de configuración y luego hacemos un ping a una página para chequear si hay respuesta con el comando.

ping -c4 trozodebits.wordpress.com

pingc4

Existe también otra forma de ver la información de las tarjetas de red, para eso necesitamos de la herramienta net-tools

yum install net-tools

net-tools

y ejecutamos el comando

ifconfig

ifcongif

Poner nombre al servidor

Para revisar el nombre que tiene actualmente el servidor.

echo $HOSTNAME

hostname

Para editar el nombre del servidor, nos ubicamos en

vi /etc/hostname

y ponemos el nuevo nombre, guardamos los cambios, reiniciamos el equipo y ejecutamos el comando echo $HOSTNAME

hostname2

Actualizar el sistema operativo

Siempre tratar de tener actualizado el sistema operativo para contar con las últimas versiones de los paquetes instalados y las actualizaciones de seguridad. Para esto ejecutamos el comando

yum update && upgrade

update

Nos aparece un listado con todos los paquetes se van a actualizar. Al final ponemos para la descarga e instalación de las actualizaciones. Si es un equipo en producción tomar en cuenta si afecta algún paquete en uso.

Navegar a páginas web en la terminal

Links es un comando de mucha utilidad al momento de querer ver si nuestro equipo tiene navegación o querer consultar algo rápido en forma de texto.

yum -y install links

La forma de uso es links pagina_a_cargar

links

Configurar el servidor SSH

SSH, por sus siglas en inglés Secure SHell, nos permite acceder remotamente a un equipo y administrarlo. Su protocolo por default es 22. Para aumentar una capa a la seguridad deshabilitamos el logueo remoto del usuario root mediante el archivo

vi /etc/ssh/sshd_config

y modificamos la siguiente línea

#PermitRootLogin yes (la eliminamos)
PermitRootLogin no (agregamos esta)
AllowUsers nero (usuarios que tienen acceso remoto al equipo)

Luego de realizado los cambios reiniciamos el servicio sshd

systemctl restart sshd

e iniciamos conectarnos con el usuario root y con el usuario nero

ssh

Como vemos aunque pongamos bien la clave del usuario root, no podremos conectarnos remotamente, mientras que con el usuario nero, el cual fue configurado en el archivo sí tiene acceso.

 

Instalar GCC

GCC es una colección de compiladores los cuales soportan varios lenguajes de programación. Son necesarios para compilar los paquetes que creemos a que deseemos instalar.

yum install gcc

gcc

Nmap para monitoreo de puertos

Esta herramienta sirve para revisar los puertos abiertos de un equipo así como analizar la red.

yum install nmap

El comando para el uso de esta herramienta es

nmap ip_a_analizar

nmap

En la imagen podemos ver que tenemos tres puertos (o servicios) abiertos en nuestro equipo.

Tambien se puede usar el comando

firewall-cmd --list-ports

firewalld

Obtener archivos con wget

Queremos descargar un fichero pero no tenemos navegador, ¿cómo lo hacemos? La herramienta wget nos ayuda a descargar cualquier tipo de archivos mediante la consola.

yum install wget

Su comando sencillo de uso es

wget pagina_del_archivo_a-descargar

wget

 

En el siguiente post continuaré explicando las demás herramientas que hacen de la “vida facil” al administrador. ¿Tienes algún comando que te ha salvado la vida? Comenta para incluirlo dentro de las herramientas esenciales para una segunda parte. Feliz administración!

Anuncios
¿Qué hacer luego de tener la versión mínima de CentOS instalada en nuestro equipo? (Parte 1)

Introducción a RPM

Este será el comienzo de guías básicas que nos ayudarán a la administración de equipos Linux. Empezaré por el comando rpm.

RPM (Red Hat Package Manager) , como su nombre lo indica es un administrador de paquetes nacido en la distribución Red Hat el cual nos sirve para varias funciones entre las principales tenemos:

    • Consultar paquetes
    • Verificar paquetes
    • Borrar paquetes

Nos basaremos en un paquete instalado en nuestro equipo Linux, como es el servicio dhcp para ver la información útil que nos arroja.

  • rpm -q nombre_del_paquete
[root@maruka ~]# rpm -q dhcp
dhcp-4.2.5-58.el7.centos.x86_64

El parámetro -q nos indica la versión (4.2.5), el release (58.el7.centos) , y la arquitectura (x86_64)

  • rpm -qi nombre_del_paquete
[root@maruka ~]# rpm -qi dhcp
Name : dhcp
Epoch : 12
Version : 4.2.5
Release : 58.el7.centos
Architecture: x86_64
Install Date: Thu 14 Sep 2017 09:57:45 AM -05
Group : System Environment/Daemons
Size : 1453369
License : ISC
Signature : RSA/SHA256, Thu 10 Aug 2017 10:36:26 AM -05, Key ID 24c6a8a7f4a80eb5
Source RPM : dhcp-4.2.5-58.el7.centos.src.rpm
Build Date : Fri 04 Aug 2017 01:07:15 AM -05
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://isc.org/products/DHCP/
Summary : Dynamic host configuration protocol software
Description :
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
individual devices on an IP network to get their own network
configuration information (IP address, subnetmask, broadcast address,
etc.) from a DHCP server. The overall purpose of DHCP is to make it
easier to administer a large network.

To use DHCP on your network, install a DHCP service (or relay agent),
and on clients run a DHCP client daemon. The dhcp package provides
the ISC DHCP service and relay agent.

El parámetro -qi nos muestra información interesante del paquete como la fecha de instalación, el archivo fuente usado para la instalación, la fecha de compilación, la URL, la descripción.

  • rpm -ql nombre_del_paquete
[root@maruka ~]# rpm -ql dhcp
/etc/NetworkManager
/etc/NetworkManager/dispatcher.d
/etc/NetworkManager/dispatcher.d/12-dhcpd
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/dhcp/scripts
/etc/dhcp/scripts/README.scripts
...

El comando -ql muestra todos los archivos que se crean al instalar el paquete.

Una variante de este parámetro se usa para buscar algún archivo en específico dentro de la paquetería (por ejemplo que no recordemos la ruta donde se encuentra el archivo de configuración del servicio).

  • rpm -ql nombre_del_paquete | egrep nombre_del_archivo
[root@maruka ~]# rpm -ql dhcp | egrep dhcpd.conf
/etc/dhcp/dhcpd.conf
/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
/usr/share/doc/dhcp-4.2.5/ldap/dhcpd-conf-to-ldap
/usr/share/man/man5/dhcpd.conf.5.gz

Aquí vemos que el archivo de configuración del servicio dhcp se encuentra en la ruta /etc/dhcp/dhcpd.conf

El siguente paramétro saca la misma informacion que el -q pero a partir de un archivo que se conozca del paquete.

  • rpm -qf ruta_del_archivo_a_buscar
[root@maruka ~]# rpm -qf /etc/dhcp/dhcpd.conf
dhcp-4.2.5-58.el7.centos.x86_64

En este caso ingresamos la ubicación del archivo dhcpd.conf para que nos devuelva el nombre del paquete junto a su version, release y arquitectura.

  • rpm -qa
[root@maruka ~]# rpm -qa
logrotate-3.8.6-14.el7.x86_64
filesystem-3.2-21.el7.x86_64
libtasn1-4.10-1.el7.x86_64
gawk-4.0.2-4.el7_3.1.x86_64
libproxy-0.4.11-10.el7.x86_64
nss-softokn-freebl-3.28.3-8.el7_4.i686
...

Este parámetro nos ayuda a conocer todos los paquetes instalados que tiene nuestro sistema operativo.

Si queremos buscar algun paquete en especial, utilizamos la siguiente variante:

  • rpm -qa | egrep ^dhcp
[root@maruka ~]# rpm -qa | egrep ^dhcp
dhcp-4.2.5-58.el7.centos.x86_64
dhcp-common-4.2.5-58.el7.centos.x86_64
dhcp-libs-4.2.5-58.el7.centos.x86_64

Nos muestra todos los paquetes que tienen dhcp como nombre

  • rpm -qa | wc -l
[root@maruka ~]# rpm -qa | wc -l
434

Nos muestra la cantidad de paquetes instalados en nuestro sistema.

El siguiente comando nos ayuda a eliminar un paquete del sistema.

ADVERTENCIA: el comando no indica una confirmación para eliminarlo. Se borra en la primera instancia. Cuidado con realizar esto en un equipo en producción ya que me acaba de pasar.

  • rpm -e paquete_a_desinstalar
[root@maruka ~]# rpm -e dhcp
warning: /var/lib/dhcpd/dhcpd.leases saved as /var/lib/dhcpd/dhcpd.leases.rpmsave
warning: /etc/sysconfig/dhcpd saved as /etc/sysconfig/dhcpd.rpmsave
warning: /etc/dhcp/dhcpd.conf saved as /etc/dhcp/dhcpd.conf.rpmsave

Como se puede ver el paquete es eliminado y los archivos de configuración se guardan con otro nombre para que, luego si es que vuelven a reinstalar el paquete, sean restaurados.

El parámetro -e nos permite desinstalar paquetes pero si estos son usados en otros no es posible eliminar sin antes eliminar tal dependencia. Por ejemplo el siguiente paquete:

[root@maruka dhcp]# rpm -e virt-what
error: Failed dependencies:
 virt-what is needed by (installed) tuned-2.8.0-5.el7.noarch

 

Parámetro Información a mostrar
-q paquete version, release y arquitectura
-qi paquete fecha de instalación, compilación, archivo fuente, URL y descripción
-ql paquete, -ql paquete | egrep texto lista archivos creados, busca archivo específico
-qf archivo version, release y arquitectura en base a un archivo
-qa, -qa | egrep ^texto lista los paquetes instalados especificados en el texto
-qa | wc -l cantidad de paquetes en el sistema
-e paquete elimina paquete del sistema

Tabla. Lista de parámetros e información que muestra

 

El comando rpm es de gran utilidad ya que nos ayuda a conocer de lo que está formado nuestro sistema, asi como ver si existen paquetes para luego instalarlos. El siguiente comando a revisar será yum que nos ayuda a instalar paquetes.

Introducción a RPM

No aparece tráfico saliente en Wireshark

Estoy en un curso de Udemy sobre el uso de Wireshark. Esta herramienta es la mejor en el mercado para analizar las tramas que pasan por nuestra red y ver algún tipo de inconveniente que esta teniendo y tratar de resolverlo, efectiva para un administrador de redes. La información del uso de Wireshark en Internet  es extensa, pero aquí voy a cubrir un tema en particular que  me ha estado dando vueltas varios días ya.

Como sabemos, a nivel general, cuando se realiza una comunicación de cualquier índole intervienen dos partes: el que inicia la conversación y el que le responde. Pasado esto a términos de red: un equipo realiza un requerimiento (request) y el servidor le responde (reply).

Tomemos por ejemplo cuando ingresamos a una pagina web:

  • El cliente sería la máquina desde donde ingresamos a la página. (el nombre del cliente es dado por el nombre del host o la dirección ip, 192.168.1.102 en mi caso)
  • El servidor es el equipo del cual queremos ver la información (www.eluniverso.com)

Ingresamos en la barra de direcciones del navegador del equipo cliente la dirección que queremos ingresar: http://www.eluniverso.com (aquí empieza nuestro primer request)

http://www.eluniverso.com recibe el requerimiento de mi equipo y le manda toda la información pedida (reply)

En este momento existe una comunicación de requests y replies hasta que se cierre la pagina en cuestión.

Entonces, si existe este va y viene de conversación entre equipos porqué Wireshark sólo me muestran las respuestas del servidor (trafico entrante) y no los requerimientos del cliente (trafico saliente)?

2016-12-27_17-43-55

Estoy ejecutando Wireshark versión 2.2.3 en Windows 10 64.

Luego de buscar en internet y leer algunos artículos di con la respuesta a este pequeño pero molesto problema.

Se debe a que no tenemos instalado npcap. Lo puedes descargar desde aquí: https://github.com/nmap/npcap/releases

Lo instalamos y volvemos a ejecutar Wireshark ahora sí viendo la conversación completa entre mi maquina y la pagina del Universo.

2016-12-27_17-35-40

Las soluciones pueden ser varias, en mi caso fue esta, pero si no logras arreglarlo con esta, déjame un comentario que con gusto trataré de revisar otras posibles soluciones.

No aparece tráfico saliente en Wireshark

Instalación de Chromium OS

Es fin de semana por la noche y mis amigos están disfrutando del feriado en viajes y bodas, mientras que a mí me cayeron dos notebooks del cielo (bueno, mi tía me las dio para que se las arregle). La premisa de ella fue la siguiente: “Quiero que en las computadoras se pueda jugar y navegar”. Vaya que no es una tarea tan difícil, pero viendo detenidamente el modelo del equipo y sus características me dejaron pensando si se le podía instalar Windows 8. Seguir leyendo “Instalación de Chromium OS”

Instalación de Chromium OS