Traducción de la página web "OpenBSD Jump Start". => https://openbsdjumpstart.org/ OpenBSD Junp Start tiene una guía muy útil de comandos y enlaces de OpenBSD. Así que aquí va una traducción de casi toda la página web, que iré actualizando según vayan saliendo nuevas versiones de la misma. Es muy recomendable visitar la web, que es bastante más agradable a la vista que esta ;-) Actualizado a la versión 7.5 ### Innovaciones Software e ideas desarrolladas o mantenidas por el proyecto OpenBSD. => https://www.openbsd.org/innovations.html/ Innovations ### Manuales ``` # ¿Como leer una página de manual, por ejemplo foo(5)? man 5 foo ``` O verlo en el navegador visitando la web => https://man.openbsd.org/OpenBSD-7.5/ ### Hardware soportado => https://dmesgd.nycbug.org/index.cgi?do=index&fts=OpenBSD Algunos dmesg ### Instalación Realmente muy simple, listo en 5 minutos (KISS). El correo con el resultado de la instalación es enviado al usuario root en el primer arranque. Para obtener más información: => https://www.openbsd.org/faq/faq4.html ### Auto-install Para una instalación completamente desatendida se puede usar el comando => https://man.openbsd.org/OpenBSD-7.5/autoinstall ### Sistema de archivos OpenBSD utiliza por defecto FFS2 (Enhanced Fast File System) => https://man.openbsd.org/OpenBSD-7.5/newfs newfs(8) ### Archivos de configuración de red - /etc/myname - Hostname por defecto - /etc/mygate - Gateway por defecto - /etc/hosts - Hosts conocidos de la red - /etc/resolv.conf - Configuración de la resolución DNS - /etc/hostname.if - Configuración de cada interface de red, por ejemplo /etc/hostname.bge0 => https://man.openbsd.org/OpenBSD-7.5/myname myname(5) => https://man.openbsd.org/OpenBSD-7.5/mygate mygate(5) => https://man.openbsd.org/OpenBSD-7.5/hostname.if hostname.if(5) => https://man.openbsd.org/OpenBSD-7.5/resolv.conf resolv.conf(5) => https://man.openbsd.org/OpenBSD-7.5/hosts hosts(5) ### Red ``` # Muestra la configuración actual de los interfaces de red ifconfig # Configura DHCP para el interface 're0' ifconfig re0 autoconf # Ejecuta la (re)inicialización de la configuración de la red sh /etc/netstart ``` ### Configuración de red en arranque Configuración de IP estática para re0 ``` ## Archivo: /etc/hostname.re0 inet 192.168.0.58 255.255.255.0 ``` No olvides ejecutar sh /etc/netstart re0 para aplicar los cambios en caliente en el sistema Configuración de IP dinámica mediante DHCP para bge0 ``` ## Archivo: /etc/hostname.bge0 inet autoconf ``` No olvides ejecutar sh /etc/netstart bge0 para aplicar los cambios en caliente en el sistema ### Configuración de la wifi en arranque ``` # Primero, miramos la lista de redes wifi disponibles ifconfig iwn0 scan ## Archivo: /etc/hostname.iwn0 nwid ACCESS_POINT_NAME wpakey THE_SECRET_KEY inet autoconf # O, para múltiples puntos de acceso join AT_HOME wpakey THE_SECRET_KEY join AT_WORK wpakey THE_SECRETKEY inet autoconf ``` No olvides ejecutar sh /etc/netstart iwn0 para aplicar los cambios en caliente en el sistema ### Rutas ``` # Muestra la tabla de rutas (ipv4) route -n show -inet # Muestra la tabla de rutas (ipv6) route -n show -inet6 # Borra todos los gateways de la tabla de rutas route -n flush ``` ### Packet Filter (PF) ``` # Desabilitar PF pfctl -d # Comprueba las reglas pfctl -nf /etc/pf.conf # Habilita PF y carga las reglas pfctl -ef /etc/pf.conf # Carga las reglas (aplica cambios) pfctl -f /etc/pf.conf # Lista las reglas cargadas pfctl -s rules ``` => https://man.openbsd.org/OpenBSD-7.5/pfctl pfctl(8) ### Ejemplos de reglas de PF ``` ## Archivo: /etc/pf.conf # Proteje un portátil (permite sólo ping/ssh desde cualquier lado) set skip on lo block log all pass in on egress inet proto icmp all icmp-type echoreq pass in on egress inet proto tcp from any to any port ssh pass out ``` => https://man.openbsd.org/OpenBSD-7.5/pf.conf pf.conf(5) ### Depurando PF con TCPDUMP ``` tcpdump -nettti pflog0 ``` => https://man.openbsd.org/OpenBSD-7.5/tcpdump tcpdump(8) ### Manual de usuario de PF => https://www.openbsd.org/faq/pf/ FAQ de PF en OpenBSD => https://home.nuug.no/~peter/pftutorial/#1 PF and Networking Tutorial (EuroBSDCon 2023) ### Gestión de usuarios ``` # Manualmente user [add|del|info|mod] foobar # Añadir usuarios de forma interactiva adduser # Borrar usuarios de forma interactiva rmuser ``` => https://www.openbsd.org/faq/adduser/ adduser(8) => https://www.openbsd.org/faq/rmuser/ rmuser(8) ### Gestión de grupos Archivo: /etc/group ``` group [add|del|info|mod] foobar ``` Miembros del grupo wheel pueden usar su para ser root. => https://www.openbsd.org/faq/addgroup/ addgroup(8) => https://www.openbsd.org/faq/group/ group(8) => https://www.openbsd.org/faq/rmgroup/ rmgroup(8) ### sudo ha sido reemplazado por doas ``` ## Archivo: /etc/doas.conf # Permite que el usuario 'marc' reinicie el ordenador permit nopass marc as root cmd /sbin/reboot ``` ``` # Marc ahora puede reiniciar la máquina $ doas reboot ``` => https://man.openbsd.org/OpenBSD-7.5/doas doas() => https://man.openbsd.org/OpenBSD-7.5/doas.conf doas.conf(5) => http://www.tedunangst.com/flak/post/doas-mastery doas mastery (blog) ### Instalación de paquetes ``` # Por defecto, el archivo /etc/installurl contiene la URL de un mirror de OpenBSD https://cdn.openbsd.org/pub/OpenBSD # Buscar paquetes pkg_info -Q foobar # Instalar un paquete, por ejemplo Squid pkg_add squid # Actualizar todos los paquetes instalados pkg_add -u # Documentación extra Mira en /usr/local/share/doc/pkg-readmes para más documentación # Lista los paquetes instalados pkg_info # Lista los archivos instalados por un paquete pkg_info -L foobar # Lee los mensajes de instalación de un paquete específico pkg_info -M foobar # Desinstala un paquete pkg_delete foobar # Comprueba dependencias no utilizadas pkg_delete -an # Desinstala dependencias no necesarias pkg_delete -a # Desinstala todo excepto 'nginx' pkg_delete -X nginx ``` Mira en /usr/local/share/doc/pkg-readmes para documentación extra. => https://man.openbsd.org/OpenBSD-7.5/pkg_info pkg_info(1) => https://man.openbsd.org/OpenBSD-7.5/pkg_add pkg_add(1) => https://man.openbsd.org/OpenBSD-7.5/pkg_delete pkg_delete(1) => https://man.openbsd.org/OpenBSD-7.5/installurl installurl(5) => https://man.openbsd.org/OpenBSD-7.5/packages packages(7) ### Instala paquetes de firmware no-free ``` fw_update ``` El firmware es descargado de directorios específicos para cada versión en: => http://firmware.openbsd.org/firmware => https://man.openbsd.org/OpenBSD-7.5/fw_update fw_update(8) ### Administrando daemons y servicios Archivo /etc/rc.conf.local ``` rcctl [enable|disable|start|stop|reload|restart] foobar # Por ejemplo, para iniciar el daemon de apmd para escalado de CPU rcctl enable apmd rcctl set apmd flags -A rcctl start apmd ``` => https://man.openbsd.org/OpenBSD-7.5/rcctl rcctl(8) => https://man.openbsd.org/OpenBSD-7.5/rc.conf.8 rc.conf(8) => https://man.openbsd.org/OpenBSD-7.5/rc.conf.8 rc.conf.local(8) ### ¿Qué está habilitado en tu sistema? ``` rcctl ls on ``` => https://man.openbsd.org/OpenBSD-7.5/rcctl rcctl(8) ### Ejecutando scripts en el encendido Archivo /etc/rc.local => https://man.openbsd.org/OpenBSD-7.5/rc.local rc(8) ### Actualizando OpenBSD (-stable) Todos las correcciones de seguridad y fiabilidad pueden encontrarse en: => https://www.openbsd.org/errata.html Los parches de errata se generan para las dos últimas versiones => https://www.openbsd.org/errata74.html => https://www.openbsd.org/errata75.html ### Herramientas para actualizar OpenBSD (-stable) Utiliza syspatch para actualizar el kernel y el espacio de nombres, disponible para las dos últimas versiones ``` # Lista los parches disponibles syspatch -c # Instala los parches disponibles syspatch ``` Con pkg_add -u actualizas los paquetes instalados. => https://man.openbsd.org/OpenBSD-7.5/syspatch syspatch(8) ### Actualizando la versión Para actualizar de 7.3 a 7.5 debes seguir las instrucciones de => https://www.openbsd.org/faq/upgrade74.html => https://www.openbsd.org/faq/upgrade75.html ### Lista ficheros obsoletos entre actualizaciones de versión ``` pkg_add sysclean ``` Ejecuta sysclean para crear una lista de elementos obsoletos. Revisa la lista y borra los ficheros manualmente. Ten cuidado ### Filesystem de OpenBSD / es el directorio raíz /home es donde están los directorios de usuarios /root es el directorio del usuario root /mnt es donde están los puntos de montaje temporales /etc ficheros y scripts de configuración del sistema /etc/examples ficheros de configuración de ejemplo de daemons del sistema /etc/skel ficheros de configuración para nuevos usuarios /etc/signify ficheros de llave usados por [signify(1)](https://man.openbsd.org/OpenBSD-7.5/signify) /tmp se limpia en cada reinicio /var/tmp enlace simbólico a /tmp /var/log ficheros de log /var/run pid, sockets, utmp, dmesg.boot /var/db archivos de base de datos /var/www directorio base para el servidor httpd /var/www/htdocs repositorio para httpd /usr/local aquí va el software de terceros /usr/src BSD y fuentes locales => https://man.openbsd.org/OpenBSD-7.5/hier hier(7) ### Kernels de OpenBSD /bsd kernel ejecutable (el sistema operativo lo carga en memoria en el arranque) /bsd.booted kernel ejecutable usado después de la hibernación /obsd kernel anterior, el siguiente arranque usará el kernel de /bsd /bsd.sp kernel ejecutable para máquinas de un sólo procesador /bsd.mp kernel ejecutable para máquinas multiprocesador /bsd.rd kernel de instalación. El disco en memoria de construcción dispone de herramientas que pueden ser ejecutadas sin un filesystem externo, por lo que este kernel es útil para algunas tareas de mantenimiento ### Gestión de problemas del kernel => https://man.openbsd.org/config config(8) permite editar el kernel especificado. Los dispositivos pueden ser habilitados, deshabilitados o modificados sin tener que volver a compilar editando el kernel ejecutable. La edición también se puede hacer durante el arranque, usando el editor que proporciona el kernel, como se describe en => https://man.openbsd.org/boot_config bootconfig(8) ### Mantenimiento del sistema doas pkg_check -F -> comprueba si no hay objetos aleatorios en /usr/local doas dmesg -s -> lee los mensajes de arranque de rc(8) ldd foobar -> lista las dependencias dinámicas de un objeto df -h -> muestra el uso de disco top -s .1 -> comprueba la carga (memoria y cpu) reset -> reinicia tu terminal rcctl ls on -> qué está habilitado en el sistema rcctl ls started -> qué está corriendo en el sistema => https://man.openbsd.org/OpenBSD-7.5/pkg_check pkg_check(8) => https://man.openbsd.org/OpenBSD-7.5/dmesg dmesg(8) => https://man.openbsd.org/OpenBSD-7.5/ldd ldd(1) => https://man.openbsd.org/OpenBSD-7.5/ld.so.1 ld.so(1) => https://man.openbsd.org/OpenBSD-7.5/df df(1) => https://man.openbsd.org/OpenBSD-7.5/top top(1) => ../articulos.gmi << Volver a artículos => ../index.gmi << Inicio