Páginas

viernes, 16 de febrero de 2018

Samba en un Servidor Centos Linux

Configuración de Samba en Centos

Protocolo SMB

SMB (Server Message Block), también llamado CIFS (Common Internet File System), es un protocolo del nivel de presentación del modelo OSI de TCP/IP creado por IBM en el año 1985.

Samba

SAMBA es un conjunto de programas originalmente creados por Andrew Tridgell y mantenidos por The Samba Team.

Instalar a través de yum

# yum -y install samba samba-client samba-common

Abrir los puertos 135 al 139 (TCP Y UDP) y el puerto 445 (TCP).

Utilizando desde la consola el mandato iptables


# ptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 135:139 -j ACCEPT

# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 135:139 -j ACCEPT

# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

# service iptables save

O editar el archivo /etc/sysconfig/iptables y añadir lo siguiente

-A INPUT -m state --state NEW -m tcp -p tcp --dport 135:139 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 135:139 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

# service iptables restart

SELinux y el servicio smb

Con la finalidad de que SELinux permita al servicio smb la escritura como usuario anónimo, ejecute:

# setsebool -P allow_smbd_anon_write 1

A fin de que SELinux permita al servicio smb funcionar como Controlador Primario de Dominio (PDC)

# setsebool -P samba_domain_controller 1

Para que SELinux perminta al servicio smb compartir los directorios de inicio de los usuarios locales del sistema, ejecute:

# setsebool -P samba_enable_home_dirs 1

A fin de que SELinux desactive la protección para los directorios de inicio de los usuarios a través de smb, ejecute:

# setsebool -P use_samba_home_dirs 1

Con la finalidad de que SELinux permita al servicio smb crear nuevos directorios de inicio para los usuarios a través de PAM (operación común en PDC, ejecute

# setsebool -P samba_create_home_dirs 1

Para que SELinux permita al servicio smb funcionar como un organizador de mapa de puertos (portmapper):

# setsebool -P samba_portmapper 1

Para que SELinux permita al servicio smb ejecutar guiones dentro del directorio /var/lib/samba/scripts sin confinamiento:

# setsebool -P samba_run_unconfined 1

Con el fin de que SELinux permita al servicio smb compartir todos los recursos en modo de sólo lectura:

# setsebool -P samba_export_all_rw 1

Para que SELinux perminta al servicio smb compartir todos los recursos en modo de lectura y escritura:

# setsebool -P samba_export_all_rw 1

Mandato chcon

Para definir que un directorio será compartido a través del servicio smb y que debe considerarse como contenido Samba, por ejemplo /var/samba/publico:

# chcon -t samba_share_t /var/samba/publico

Antes de configurarse en el el archivo /etc/samba/smb.conf, cada nuevo directorio que se vaya a compartir debe ser configurado como se ha descrito anteriormente.

Iniciar el servicio

# service nmb start
# service smb start

Añadir el servicio al arranque del sistema

# chkconfig nmb on
# chkconfig smb on

Después de aplicar cambios al archivo de configuración de Samba es necesario reiniciar el servicio smb

# service smb restart

El servicio nmb es el encargado de proveer el servidor de nombre para los clientes a través de NetBios sobre IP. Por tanto, debe reiniciar el servicio nmb si realiza cualquier cambio en la configuración de la opción netbios name

# service nmb restart

Alta de cuentas de usuario

Primero asigne una contraseña al usuario root (no tiene que ser la misma utilizada en el sistema).

# smbpasswd -a root

La sincronización de cuentas entre el servidor Samba y las estaciones Windows se realiza ingresando el mismo nombre de usuario y contraseña tanto en el servidor Samba como en la máquina Windows.

La mayoría de las cuentas de usuario que se utilizan para acceder a Samba no requieren acceso al intérprete de comandos del sistema, no hace falta asignar una contraseña con el mandato passwd. El intérprete de comandos quedará definido como /sbin/nologin o /bin/false para la cuenta de usuario. Esta cuenta en cuestión estará inactiva para el resto de servicios.

# useradd -s /sbin/nologin andrius
# smbpasswd -a andrius

Archivo lmhosts

Se utiliza para resolver de manera local los nombres NetBios, asociándolos con su dirección IP correspondiente. El nmbre NetBios no debe exceder los doce caracteres alfanuméricos. Como mínimo debe definirse el nombre del anfitrión del servidor Samba junto a su dirección IP.

# vi /etc/samba/lmhosts
127.0.0.1      localhost
192.168.0.1      servidor

Configuración básica del archivo smb.conf

# vi /etc/samba/smb.conf

La opción workgroup define el grupo de trabajo

workgroup = MYGROUP

Opción netbios name

Define un nombre de anfitrión distinto al detectado automáticamente. Debe ser el mismo que aparece en el archivo /etc/samba/lmhosts

netbios name = servidor

Opción server string

server string = Servidor Samba %v en %L

Opción hosts allow

En esta entrada del archivo smb.conf se pueden definir direcciones IP o redes que tendrán permiso de acceso hacia el servidor. Por tanto, una red con anfitriones con direcciones IP desde 192.168.0.1 hasta 192.168.0.254, el rango de direcciones IP definido en hosts allow será 192.168.0., (los tres primeros octetos).

Vamos a definir las redes 192.168.0.0/24, 102.168.1.0/24 y 192.168.3.0/24 como vimos con anterioridad utilizando los tres primeros octetos de la dirección IP de red, en el caso de cualquier dirección IP de la red 127.0.0.0/8 se define sólo el primer octeto de dicho segmento.

hosts allow = 127., 192.168.0., 192.168.1., 192.168.3.

Opción name resolve order

Define el orden en que se intenta de resolver los nombres NETBIOS. Primero con la información del archivo /etc/samba/lmhosts, luego el archivo /etc/hosts, a continuación de consultas en el servidor WINS y, si todo lo anterior falla, a través de la dirección IP de difusión de la red local.

name resolve order = lmhosts hosts wins bcast

Gestor de archivos Nautilus

Esta configuración es necesaria para el gestor de archivos predeterminado de Gnome, Nautilus y además que se especifique wins en el orden de resolución de nombres del archivo /etc/nsswitch.conf del anfitrión desde el cual se ejecute.

# vi /etc/nsswitch.conf

hosts:    files dns

al final agregje wins

hosts:    files dns wins

Opción remote announce

remote announce = 192.168.3.127, 192.168.1.255

Reinicie los servicios para aplicar los cambios.

# service smb restart
# service nmb restart

Compartir directorios

Crear el directorio /var/samba/publico

# mkdir -p /var/samba/publico

Cambiar el contexto de SELinux para que este directorio sea considerado como contenido Samba.

# chcon -t samba_share_t /var/samba/publico


[publico]

comment = Recurso compartido publico

path = /var/samba/publico

guest ok = yes

read only = yes

write list = andrius

directory mask = 0755

create mask = 0644

Listas de control de acceso ACL

setfacl se utiliza para cambiar los permisos en las listas de control de acceso de un archivo o directorio dado. Asignar cambiar permisos de lectura, escritura y ejecución al usuario andrius

Crear el usuario y agregarlo al grupo samba

# useradd -s /sbin/nologin andrius
# smbpasswd -a andrius
# passwd andrius

# setfacl -m u:andrius:rwX /var/samba/publico

Se utilizó X mayúscula para indicar que sólo se aplicará el bit de acceso a directorios evitando aplicar el bit de ejecución a los archivos.

getfal se utiliza para determinar los permisos establecidos en las listas de control de acceso de un archivo o directorio.

# getfacl /var/samba/publico/

getfacl: Eliminando '/' inicial en nombres de ruta absolutos

# file: var/samba/publico/

# owner: root

# group: root

user::rwx

user:andrius:rwx

group::r-x

mask::rwx

other::r-x


Estos permisos que se establecieron en la lista de control de acceso del directorio /var/samba/publico son exclusivamente para éste. Cualquier nuevo archivo o directorio creado carecerá de estos nuevos permisos. Si se desea que éstos permisos se vuelvan los predeterminados para los nuevos archivos y directorios que sean creados en lo sucesivo dentro del directorio /var/samba/publico, se ejecuta el mismo mandato setfacl, pero añadiendo la opción -d para definir que serán los permisos  predeterminados  para nuevos archivos  y directorios.

Lo anterior muestra que sólo el propietario del directorio tiene permisos de lectura, escritura y acceso. Para lograr que un usuario en particular pueda acceder también a este directorio, se ejecuta el mandato setfacl, con la opción -m para modificar la lista de control de acceso, [u,g,o]:[usuario,grupo]:[r,w,x] y la ruta del directorio como argumentos. Ejemplo:

setfacl -m u:usuario:rX /var/samba/publico

En el ejemplo anterior se utilizó X mayúscula para indicar que sólo se aplicará el bit de acceso de a directorios evitando aplicar el bit de ejecución a los archivos.

Lo mismo en notación octal

# setfacl -m u:usuario:5 /var/samba/publico

Editar el archivo /etc/samba/smb.conf y al final añada el siguiente contenido


[publico]

comment = Recurso compartido publico 

path = /var/samba/publico

guest ok = yes

read only = yes

write list = andrius

directory mask = 0755

create mask = 0644


# service smb restart

Ocultando archivos que empiezan por punto.

Los archivos cuyo nombre comienza con un punto (archivos de configuración, normalmente), como es el caso del directorio de inicio del usuario en el servidor Samba (.bash_profile, .bashrc, .bash_history entre otros) pueden ocultarse con la opción hide dot files y el valor Yes.

[homes]
    comment = Home Directories
    browseable = no
    writable = yes
    valid users = %S
    inherit acls = yes
    hide dot files = yes

Reinicie el servidor smb para que los cambios tengan efecto

# service smb restart


Montar recursos compartidos desde un cliente Linux

$ cat /etc/hosts
127.0.0.1        localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6
192.168.0.1    servidor

# mkdir /mnt/publico

# mount.cifs -o username=andrius //servidor/publico /mnt/publico

Solicitará la contraseña del usuario utilizado en el servidor Samba

Password for andrius@//servidor/publico:

# mount | grep publico
//servidor/publico on /mnt/publico type cifs (rw)

Cree el archivo /etc/acreditar para hacer permanente lo anterior.

# vim /etc/acreditar

Especifique el nombre de usuario y contraseña utilizados con el recurso compartido.

username=andrius
password=password

Cambiando los permisos de acceso al archivo para que sólo el usuario root pueda ver y modificar el contenido.

# chmod 600 /etc/acreditar

# vim /etc/fstab

Este recurso será montado automáticamente en el siguiente reinicio del sistema. Agregue la siguiente línea incluyendo las opciones uid y gid

//servidor/publico /mnt/publico cifs credentials=/etc/acreditar,uid=501,gid=501 0 0

Utilizar smbclient desde Linux

Lo más práctivo y sencillo para hacer pruebas es el mandato smbclient. Permite acceder hacia cualquier servidor Samba y Windows.

# smbclient -U andrius -L servidor


Conectar un cliente Windows al servior Samba

Esta máquina está en la red 192.168.3.0/25 detrás de un firewall router Soekris y OpenBSD.






https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/pdf/system_administrators_guide/Red_Hat_Enterprise_Linux-7-System_Administrators_Guide-en-US.pdf

Centos es genial!.

domingo, 4 de febrero de 2018

Servidor Centos 6.9

Samba en un servidor Centos
Servidor NTP Centos


Este servidor consta de dos tarjetas de red: Una con la que se conecta a Internet desde el router del proveedor de acceso a Internet (ISP) y otra para la red interna. El sistema operativo es Centos 6.9 excelente sistema con una extensa documentación. DHCP, DNS, Samba, Iptables, etc..

eth0 = Internet
eth1 = Red interna

Centos 6.9 puede instalarse desde un dvd o una memoria USB en modo gráfico (conectando el servidor a un monitor). A partir de la mínima configuración puede continuar vía ssh desde una máquina de la red. La opción a elegir es servidor.


Estructurar la red eth0 eth1. /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1


DEVICE=eth0
HWADDR=00:22:4D:A5:9D:06
TYPE=Ethernet
UUID=2288f191-aa67-420a-b23c-ad5ce6bc1736
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no

DEVICE=eth1
HWADDR=00:22:4D:A5:9D:0A
TYPE=Ethernet
UUID=6f52e738-8c50-4c34-9f47-399086d5406f
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
PEERDNS=no



Servidor DHCP para entregar direcciones de red a los equipos de la red interna /etc/dhcp/dhcpd.conf


# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#
ddns-update-style interim;
ignore client-updates;
authoritative;
default-lease-time 900;
max-lease-time 7200;
option ip-forwarding off;
option domain-name "linux.bcn";

ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8,8.8.4.4,192.168.0.1;
option ntp-servers 192.168.0.1;
range 192.168.0.50 192.168.0.99;
}

Habilitar ssh y prohibir la autenticación como usuario root
PermitRootLogin no
AllowUsers carles

Activar el reenvío de paquetes IP

# sysctl net.ipv4.ip_forward = 1

En el archivo /etc/sysctl.conf cambiar
# Controls IP packet forwarding
net.ipv4.ip_forward = 0

por
# Controls IP packet forwarding
net.ipv4.ip_forward = 1

Iptables para administrar Netfilter

# Generated by iptables-save v1.4.7 on Fri Feb  9 23:38:57 2018
*mangle
:PREROUTING ACCEPT [1128:95583]
:INPUT ACCEPT [1033:84832]
:FORWARD ACCEPT [95:10751]
:OUTPUT ACCEPT [722:117312]
:POSTROUTING ACCEPT [789:118879]
COMMIT
# Completed on Fri Feb  9 23:38:57 2018
# Generated by iptables-save v1.4.7 on Fri Feb  9 23:38:57 2018
*nat
:PREROUTING ACCEPT [11:704]
:POSTROUTING ACCEPT [1:116]
:OUTPUT ACCEPT [32:9528]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 
-A POSTROUTING -o eth0 -j MASQUERADE 
COMMIT
# Completed on Fri Feb  9 23:38:57 2018
# Generated by iptables-save v1.4.7 on Fri Feb  9 23:38:57 2018
*filter
:INPUT DROP [9:353]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth1 -p udp -m udp --dport 67:68 -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT 
-A INPUT -s 192.168.0.0/24 -i eth1 -p tcp -m tcp --sport 1024:65535 --dport 22 -m state --state NEW -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 135:139 -j ACCEPT 
-A INPUT -p udp -m state --state NEW -m udp --dport 135:139 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT 
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT 
-A INPUT -i eth0 -j LOG 
-A INPUT -i eth1 -j LOG --log-prefix "From LAN:" 
-A INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT 
-A FORWARD -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -o eth0 -p tcp -m tcp --sport 31337 --dport 31337 -j DROP 
-A FORWARD -j LOG --log-prefix "forward:" 
-A OUTPUT -o lo -j ACCEPT 
-A OUTPUT -d 192.168.0.0/24 -o eth1 -j ACCEPT 
-A OUTPUT -o eth0 -p tcp -m tcp --sport 31337 --dport 31337 -j DROP 
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --sport 1024:65535 --dport 53 -j ACCEPT 
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --dport 67:68 -j ACCEPT 
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT 
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --dport 5353 -j ACCEPT 
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --dport 67:68 -j DROP 
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT 
-A OUTPUT -o WAN_IFACE -p tcp -m tcp --sport 1:1024 -j DROP 
-A OUTPUT -o WAN_IFACE -p udp -m udp --sport 1:1024 -j DROP 
-A OUTPUT -o eth0 -p udp -m udp --sport 1:1024 -j DROP 
COMMIT
# Completed on Fri Feb  9 23:38:57 2018

Reiniciar el servicio iptables
# service iptables restart

Linux es genial!.

jueves, 31 de agosto de 2017

Pacman actualizar ca-certificates-utils

Incapaz de descargar paquetes Arch Linux?. 

Como siempre, los chicos de Arch Linux nos facilitan las cosas.

La actualización a ca-certificates-utils 20170307-1 requiere intervención manual porque un enlace simbólico que se generaba después de la instalación se ha trasladado al paquete propiamente dicho.

Como la eliminación del enlace simbólico puede dejarle incapaz de descargar paquetes, realice esta actualización en tres pasos


Descargar paquetes
# pacman -Syuw 

Eliminar archivo conflictivo                      
# rm /etc/ssl/certs/ca-certificates.crt


Actualizar todo el sistema

# pacman -Su



Reiniciar el sistema:


Comandos útiles que en algún momento podemos necesitar:
# pacman-key --refresh-keys
# update-ca-trust

$ trust --help


Impedir la actualización de determinados paquetes:

Pacman no actualiza paquetes listado en IgnorePkg y IgnoreGroup. Para impedir la actualización del kernel y xorg-server agregamos las líneas siguientes al archivo /etc/pacman.conf

# cp /etc/pacman.conf /etc/pacman.conf-orig
# vi /etc/pacman.conf

IgnorePkg = linux
IgnorePkg = xorg-server
 
Referencia: https://www.archlinux.org/news/ca-certificates-utils-20170307-1-upgrade-requires-manual-intervention/

Reconstruir initramfs
# mkinitcpio -p linux


FreeBSD es genial!.

sábado, 12 de agosto de 2017

Actualizar FreeBSD 11 a 11.1

 Actualizar FreeBSD 11.0 a 11.1-RELEASE

# freebsd-update upgrade -r 11.1-RELEASE


# /usr/sbin/freebsd-update install


Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.

# reboot

# freebsd-update install


FreeBSD es genial!.

viernes, 12 de mayo de 2017

Particionar instalar Arch Linux UEFI 2017 KDE

Arrancar el instalador en modo UEFI

Comprobar que está conectado a la red
# ping -c 2 www.freebsd.org

Instalar fuente terminus-font y activar durante la instalación


# pacman -S terminus-font
# pacman -Ql terminus-font
# setfont ter-v32n

Q = Consulta a la basde de datos de paquetes
l = listar todos los archivos pertenecientes a un paquete

Listar discos (dispositivos de bloque)

# lsblk

parted - linea de comando


# parted /dev/sda      # abrir parted y seleccionar el disco
# mklabel gpt          # configrurar disco GPT


Particionar disco


# mkpart ESP 1MiB 513MiB          # crear /boot 512MB /dev/sda1
# set 1 boot on                   # marcar /boot como partición de arranque
# mkpart linux-swap 513MiB 2.5GiB # crear swap 2.5GB (8GB RAM)
# mkpart ext4 2.5GiB 50GiB        # partición raiz /
# mkpart ext4 50GiB 100%          # resto espacio libre /home


salir parted

Crear los sistemas de ficheros

    mkfs.vfat /dev/sda1 # EF00
    mkfs.ext4 /dev/sda2 # 8300
    mkfs.ext4 /dev/sda4 # 8300


Activar partición swap

    mkswap /dev/sda3 # 8200
    swapon /dev/sda3


Montar particiones

    mount /dev/sda2 /mnt
    mkdir -p /mnt/boot
    mount /dev/sda1 /mnt/boot
    mkdir -p /mnt/home
    mount /dev/sda4 /mnt/home


Elegir lista de mirror

# pacman -Sy
# pacman -S reflector
# reflector --verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist

Install los paquetes básicos arch linux

# pacstrap -i /mnt base base-devel

Configurar fstab

# genfstab -U -p /mnt >> /mnt/etc/fstab

Entorno chroot

# arch-chroot /mnt

Configurar lenguaje y ubicación

nano /etc/locale.gen # descomentar


es_ES.UTF-8 UTF-8  
es_ES ISO-8859-1  
es_ES@euro ISO-8859-15
# locale-gen
# export LANG=es_ES.UTF8-8 > /etc/locale.conf
# export LC_TIME=es_ES.UTF-8 >> /etc/locale.conf


Zona horaria

# ln -s /usr/share/zoneinfo/Europe/Madrid > /etc/localtime

# hwclock --systohc --utc

# pacman -Sy

Nombre de host

# echo archlinux > /etc/hostname

Contraseña de root y crear un nuevo usuario

# passwd

# pacman -S sudo bash-completion

# useradd -m -s /bin/bash -g users -G wheel,storage,power carles

# passwd carles

Permitir a los usuarios del grupo wheel tareas administrativas con sudo

# visudo
Descomentar la linea %wheel% ALL=(ALL)

Consola en español

# echo KEYMAP=es >> /etc/vconsole.conf 
# echo FONT >> /etc/vconsole.conf
# echo FONT_MAP= >> /etc/vconsole.conf

# mkinitcpio -p linux

Instalar y Configurar bootloader

# bootctl --path=/boot install

Opciones por defecto bootloader

# nano /boot/loader/loader.conf

default arch
timeout 0 # segundos de espera Elegir kernel/OS
editor  0 # segundos de espera para editar parametros del kernel


Buscar PARTUUID de la partición raiz y crear una entrada en bootloader

# blkid -s PARTUUID -o value /dev/sda2 >> /boot/loader/entries/arch.conf

64f369f2-608a-4f5c-bb4c-27d7146ef482


Edite ese archivo

# nano /boot/loader/entries/arch.conf

title   Arch LInux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options root=PARTUUID=64f369f2-608a-4f5c-bb4c-27d7146ef482 rw


Recrear Initramfs

# mkinitcpio -p linux

Actualizar el bootloader

# bootctl update

Salir del entorno chroot

# exit

Desmontar particiones

# umount -R /mnt

# reboot

Continuar con la instalación

username root
passwd

# ip addr

# systemctl enable dhcpcd

# systemctl start dhcpcd

# ping -c 2 www.freebsd.org

# pacman -S xorg

# pacman -S xterm xorg-xclock xorg-twm xorg-xinit xorg-server-utils

# pacman -S plasma kdebase

# pacman -S ttf-freefont ttf-linux-libertine-g artwiz-fonts

# pacman -S ttf-ubuntu-font-family cantarell-fonts freetype2

# pacman -S ttf-droid ttf-linux-libertine ttf-liberation

# pacman -S ttf-fira-mono ttf-fira-sans ttf-gentium fontsproto

# pacman -S ttf-dejavu noto-fonts font-bitstream-speedo

# systemctl enable sddm

# reboot

Intercambiar teclado es y us con la combinación de teclas alt-shift

# nano /etc/X11/xorg.conf.d/10-keyboard.conf

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout"  "es,us"
        Option "XkbModel"   "pc104"
        Option "XkbVariant" "deadtilde,"
        Option "XkbOptions" "grp:alt_shift_toggle"
EndSection


# pacman -S libreoffice libreoffice-es

# pacman -S kdegraphics-okular firefox firefox-i18n-es-es

# pacman -S vlc gimp k3b kaffeine dia spectacle

VPN - PIA

Tunel VPN - Private Internet Access

Instalar openvpn

# pacman -S openvpn

Crear el directorio

# mkdir -p /etc/private-internet-access
# cd /etc/private-internet-access

Descargar el archivo openvpn.zip

# wget https://www.privateinternetaccess.com/openvpn/openvpn.zip
# unzip openvpn.zip

Copiar los archivos necesarios

# cd /etc/openvpn/
# cp /etc/private-internet-access/ca.rsa.2048.crt . # no olvide el punto final
# cp /etc/private-internet-access/crl.rsa.2048.pem .

El archivo que contiene el nombre de usuario y contraseña de PIA

# touch password.conf
# vi password.conf
username
password

# chown root:root /etc/openvpn/password.conf
# chmod 600 /etc/openvpn/password.conf

El archivo de configuración PIA

# cp /etc/private-internet-access/France.ovpn /etc/openvpn/pia_vpn.con
# nano /etc/openvpn/pia_vpn.conf

client
dev tun
proto udp4
remote france.privateinternetaccess.com 1198
resolv-retry infinite
nobind
persist-key
persist-tun
cipher aes-128-cbc
auth sha1
tls-client
remote-cert-tls server
auth-user-pass
comp-lzo
verb 1
reneg-sec 0
crl-verify /etc/openvpn/crl.rsa.2048.pem
ca /etc/openvpn/ca.rsa.2048.crt
disable-occ
auth-user-pass /etc/openvpn/password.conf
auth-nocache

Llegados a este punto vamos a comprobar openvpn

# openvpn --config /etc/openvpn/pia_vpn.conf


Crear un script de conexión:

# cd /home/carles
# vim openvpn-pia.sh
###################################
#!/bin/bash
openvpn --config /etc/openvpn/pia_vpn.conf > /dev/null 2>&1 &
###################################

Establecer permisos de ejecución

# chmod +x openvpn-pia.sh

Ejecutar el script
# ./openvpn-pia.sh

# ip addr
Como conectarse usando NetworkManager:

Haga clic derecho en el icono de NetworkManager en la bandeja del sistema
y clic en Configurar conexiones de red
luego haz clic en Agregar (Add)
elige la opción Importar VPN ...
vaya a /etc/openvpn/pia_vpn.conf (nuestro archivo de configuración)
ahora haga clic en Abrir
puerta de enlace (gateway), solo el nombre de dominio debe estar en esta casilla.
para el nombre de usuario, escriba su nombre de usuario p7654321
para la contraseña, escriba la contraseña que acompaña a su nombre de usuario V5thzg8X4C
luego haga clic en Avanzado
establecer puerto de la puerta de enlace y configurarelo en 1198
haga clic en la pestaña Seguridad
establecer el cifrado: a AES-128-CBC
establecer la autenticación HMAC: a SHA-1
haga clic en Aceptar y clic en Aceptar nuevamente.



Actualizar todo el sistema
# pacman -Su

Portátil con dos discos duros ssd, (Intel sata3 60GB y Samsumg EVO sata3 120GB) y dos S.O. instalados, FreeBSD 11 y Arch LInux 2017. Desde la BIOS elijo con cual arrancar. El segundo disdo duro (instalado con un adaptador CADDY) en el lugar reservado a la unidad óptica (DVD).

Listar discos (dispositivos de bloque)

# lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:16   0 111,8G  0 disk 
├─sda1   8:17   0   512M  0 part /boot
├─sda2   8:18   0  49,5G  0 part /
├─sda3   8:19   0   2,5G  0 part [SWAP]
└─sda4   8:20   0  59,3G  0 part /home
sdb      8:0    0  55,9G  0 disk 
├─sdb1   8:1    0   512K  0 part 
├─sdb2   8:2    0    53G  0 part 
└─sdb3   8:3    0   2,8G  0 part 


# pacman -S parted
# parted /dev/sda


Model: ATA Samsung SSD 840 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Numero  Inicio  Fin     Tamaño  Sistema de ficheros  Nombre  Banderas
 1      1049kB  538MB   537MB   fat32                        arranque, esp
 2      538MB   53,7GB  53,1GB  ext4
 3      53,7GB  56,4GB  2684MB  linux-swap(v1)
 4      56,4GB  120GB   63,7GB  ext4


Ayuda parted

 (parted) m                                                                
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart TIPO-PART [TIPO-SF] INICIO FIN     crea una partición
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free
    space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information
        of GNU Parted


FreeBSD es genial!.