Páginas

martes, 16 de abril de 2013

Pfsense servidor web

Configurar pfsense y el firewall del router ADSL para acceder de manera remota a un servidor web que está en una máquina dentro de la red LAN. la configuración de la red es la siguiente (diagrama Dia).

  
El firewall pfsense con dos tarjetas de red re0 y re1. La ip de la tarjeta re0 la obtiene del router adsl del ISP.

Editando el archivo de configuración de apache en la máquina desde la que se realizará el ejemplo, (por supuesto - freebsd) y así cambiar el número de puerto por defecto a 54321 para, un sitio al que solo tendrá acceso de forma remota el que conozca el número de puerto. El puerto por defecto (80) está habilitado para un sevidor web situado en la ip 192.168.1.254 (Synology).

# ee /usr/local/etc/apache22/http.conf  

Abrir puerto 54321en el router adsl de jazztel


Firewall NAT Port Forward

Rules WAN

Rules LAN


Conectar de manera local

Acceder de manera remota

Comprobar que el puerto está en escucha

 Seguridad en freebsd, impresionante


Pfsense es genial!.

domingo, 7 de abril de 2013

FreeBSD Gnome2 Ports

Instalar FreeBSD + Gnome2 en PC cliente.

Núcleo : FreeBSD
Tipo de núcleo : Monolítico
Licencia : BSD
Version : 9.1
Sistema de archivos : UFS (Unix File System)
Plataforma : amd64

FreeBSD es un sistema operativo completo, que consiste de una biblioteca C, herramientas del espacio del usuario (userland tools) y mucho más. Este enfoque de desarrollo hace muy consistente el sistema global.

FreeBSD es usado por compañías, proveedores de Internet, profesionales de la informática, estudiantes y usuarios particulares de todo el mundo en su trabajo, educación y ocio.

FreeBSD ofrece muy altas prestaciones en networking, rendimiento, seguridad y compatibilidad, las cuales no están aún presentes en otros sistemas operativos, incluyendo los comerciales de mayor renombre. Está inspirado en la variante 4.4 BSD-Lite de UNIX. Es compatible con binarios de varios sistemas operativos de tipo Unix, incluyendo GNU/Linux.

Primero, después de la instalación del sistema base, se actualiza la coleccion de ports, estos pasos que se realizan solo una vez:

# portsnap fetch
# portsnap extract
# portsnap update

A partir de este momento la coleccion de ports se actualiza con este comando:
# portsnap fetch update
# make index

Instalar pormaster:

# cd /usr/ports/ports-mgmt/portmaster && make install clean
# cd /usr/ports/ports-mgmt/pkg && make install clean
# echo 'WITH_PKGNG=yes' >> /etc/make.conf

Comprobar el valor de las variables en el fichero portmaster.rc:

Primero copiar el fichero de ejemplo y luego activar las variables recomendadas:

# cp /usr/local/etc/portmaster.rc.sample /usr/local/etc/portmaster.rc
....
# Always delete stale distfiles without prompting (-d)
ALWAYS_SCRUB_DISTFILES=dopt
# Be verbose (-v)
PM_VERBOSE=vopt
# Install packages for build-only dependencies (--packages-build)
PM_PACKAGES_BUILD=pmp_build
# Delete build-only dependencies when finished (--delete-build-only)
PM_DEL_BUILD_ONLY=pm_dbo
#Suppress the build confirmation message (--no-confirm)
PM_NO_CONFIRM=pm_no_confirm
....

Portmaster define cuatro categorías de puertos :

Root port: no tiene ninguna dependencia y no es una dependencia de cualquier otro puerto .

Trunk port: no tiene dependencias , pero otros puertos dependen de ella .

Branch port: tiene dependencias y otros puertos dependen de ella .

Leaf port: tiene dependencias , pero no hay otros puertos dependen de ella .


Para listar estas categorías y buscar actualizaciones:

# Pormaster -L


Actualizar todos los paquetes:
# portmaster -a

Actualizar y reconstruir todos los puertos:
Si se producen errores durante el proceso de actualización, añadir -f para actualizar y reconstruir todos los puertos:

# portmaster -af


Instalar las fuentes del kernel:
$ fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.1-RELEASE/src.txz
# bsdtar -C / -xzvf src.txz

Instalando entorno gráfico y software adicional:
# pkg_add -r portupgrade
# pkg_add -r xorg
# pkg_add -r gnome2 gdm
# pkg_add -r gnome2-fifth-toe gnome2-hacker-tools gnome2-office gnome2-power-tools
# rehash
# pkgdb -F
# freebsd-update fetch
# freebsd-update install
$ cat /etc/rc.conf
hostname="freebsd.linux.bcn"
keymap="spanish.iso.kbd"
ifconfig_msk0="inet 192.168.3.60 netmask 255.255.255.0"
defaultrouter="192.168.3.1"
moused_enable="YES"
webcamd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"

dbus_enable="YES"
hald_enable="YES"
gdm_enable="YES"
gnome_enable="YES"
sendmail_enable="NO"

nfs_client_enable="YES"
nfs_client_flags="-n 4"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"

# chmod -x /etc/rc.d/sendmail

$ cat /boot/loader.conf
autoboot_delay="2"
loader_color="YES"

# pkg_add -r calibre
# pkg_add -r qbittorrent
# pkg_add -r k3b
# pkg_add -r gqview
# pkgdb -F
# pkg_add -r thunderbird
# pkg_add -r libreoffice
# pkgdb -F
# cd /usr/ports/audio/lame; make install clean
# pkg_add -r gtkpod
# pkg_add -r xmms vlc
# pkgdb -F

Colorear terminal, agregar al archivo shrc
$ ee /home/carles/.shrc
# colorear terminal Jason web www.geekvenue.net
alias ls='ls -G'
CLICOLOR="YES"; export CLICOLOR
LSCOLORS="ExGxFxdxCxDxDxhbadExEx"; export LSCOLORS


Una imagen divertida. Una broma de los usuarios de FreeBSD


FreeBSD es un sistema operativo utilizado sobre todo en servidores. Esta vez correrá en un portátil Dell cpu intel core2 duo 4 Gb de Ram, gráfica intel y escritorio gnome2. El proceso de instalación es omitido ya que es muy sencillo.

FreeBSD está dotado de un eficiente sistema de gestión de paquetes llamado ports.

Instalación de ports

Se asume que tiene una conexión a Internet o disponer de una copia del distfile en /usr/ports/disfiles

Un port es un conjunto mínimo de ficheros que indican a FreeBSD como compilar e instalar un programa e incluye:

Un Makefile que contiene diversas sentencias que indican como compilar y donde instalarlo.

El fichero distinfo contiene información sobre que ficheros descargar para compilar el port y el fichero checksum para comprobar la integridad del fichero.

Un directorio files que contiene los parches necesarios para compilar e instalar el port. Son pequeños ficheros que indican cambios en ficheros concretos. Su formato es texto plano, dice cosas del tipo "cambia la línea 13 por esta otra" y se generan con diff.

El fichero pkg-plist contiene una lista de los ficheros que instalará el port y que ficheros eliminar durante la desinstalación del port.

El fichero pkg-message (si existe) gestiona situaciones especiales.

El port incluye instrucciones necesarias para obtener software a partir del código fuente aunque no incluye el código. Normalmente es un fichero comprimido con gzip. El código del programa se llama "distfile".

Antes de instalar un port la colección de ports debe estar actualizada y realizada la comprabación de seguridad con portaudit, ejecutando:

# portaudit -F

Opciones de  compilación

Al compilar ciertos ports se le presentará un menú basado en ncurses en el cual podrá elegir entre más o menos opciones de compilación. No es raro que los usuarios quieran volver a usar ese menú para añadir, quitar o cambiar opciones una vez que el port ya está compilado.


Hay bastantes formas de hacerlo. Una manera es entrar al directorio que contiene el port y teclear make config o make config-recursive, que hará que se le presente de nuevo el menú con las opciones que estuvieran seleccionadas previamente. Otra opción es usar la orden make showconfig, que le mostrará todas las opciones de configuración del port. Hay otra opción más, make rmconfig, que borrará todas las opciones que estuvieran seleccionadas y le permitirá por tanto empezar desde cero.

Desinstalar ports

# pkg_delete wget

/usr/ports/UPDATING
Una vez actualizada la Colección de Ports (y antes de intentar actualizar ningún port) debe consultar /usr/ports/UPDATING. Este fichero describe todas las novedades, problemas que pueden encontrarse y pasos que deben seguir los usuarios al actualizar un port; hay cambios de formato, cambios de ubicación de ficheros de configuración o incompatibilidades con versiones anteriores.

Si UPDATING se contradice de cualquier modo con lo que lea aquí tenga muy encuenta que lo que aparezca en UPDATING tiene prioridad absoluta.

Instalar actualizaciones FreeBSD:

La aplicación de parches de seguridad en el momento oportuno y la actualización a una nueva versión de un sistema operativo, son aspectos importantes de la administración del sistema en curso. FreeBSD incluye una utilidad llamada freebsd-update que puede ser utilizado para llevar a cabo ambas tareas.

# freebsd-update fetch
# freebsd-update install

Comprobar la lista de ports instalados y reparar todas las inconsistencias que aparezcan. Esta comprobación se hace de manera regular y "siempre" antes de una actualización:

# pkgdb -F

Buscar port

# cd /usr/ports; make search name=wget


Después de instalar un port

Una vez que ha instalado una nueva aplicación normalmente deberás leer toda la documentación que incluya, editar los ficheros de configuración necesarios, asegurarse de que la aplicación se ejecute al arrancar el sistema (si es un dæmon) etc.

Obviamente los pasos exactos para configurar cada aplicación son distintos de una a otra. De cualquier forma, si acaba de instalar aplicación y se pregunta «?Y ahora qué?» estos consejos puede que le ayuden:

Use pkg_info(1) para ver qué ficheros se instalaron y dónde. Por ejemplo, si instalón el paquete Un-Package 1.0.0, lo siguiente:

# pkg_info -L un-package-1.0.0 | less

mostrará los ficheros instalados por el paquete. Los ficheros en el directorio man/ son las páginas de ayuda y los del directorio etc/ contiene los ficheros de configuración; bajo el directorio doc/ podrá encontrar información más detallada.

Si no está seguro de qué versión del paquete ha instalado teclée:

# pkg_info | grep -i un-package

y verá todos los paquetes que se llaman un-package. Reemplace un-package en la línea de órdenes que tenga que usar en su caso.

Los ports que deben arrancar con el sistema (como los servidores de Internet) normalmente instalaran un "script" de ejemplo en /usr/local/etc/rc.d. Debe revisar este scrip para comprobar que todo sea correcto, editarlo o renombrarlo si fuera necesario.

Agregar compatibilidad linux en freebsd

# kldload linux

Editar /etc/fstab y agregar la línea:

linproc /compat/linux/proc linprocfs rw 0 0


# cd /usr/ports/emulators/linux_base-f10
# make install clean


Instalar Adobe Flash Player

# cd /usr/ports/www/linux-f10-flashplugin11/
# make install clean


Firefox y Chromium requieren el uso de nspluginwrapper
Instalando ndispluginwrapper



# cd /usr/ports/www/nspluginwrapper/
# make install clean

Ejecutar como usuario no privilegiado:
$ nspluginwrapper -v -a -i


Instalar firefox y plugin para ejecutar applets java

# pkg_add -r firefox

Instalar paquete español firefox
# pkg_add -r firefox-i18n




Instalar open java

# pkg_add -r openjdk6

# pkg_add -r icedtea-web

Algunos programas (sobre todo Java) no funcionarán sin acceso al filesystem-level a sus descriptores. Ver esos archivos descriptores adicionales requiere fsdecfs.

# mount    –t fdescfs fdesc /dev/fd

Para montar automáticamente fdesc al iniciar el sistema añadimos la siguiente entrada al archivo /etc/fstab

null /dev/fd fdescfs rw

Instalar chromium con soporte java

# pkg_add -r chromium

Plugins Chromium
Localizar plugin flash
# locate libflashplayer.so
# mkdir -p /usr/local/share/chromium/plugins/
# ln -s /usr/local/lib/browser_plugins/linux-f10-flashplugin/libflashplayer.so /usr/local/share/chromium/plugins/

# ln -s /usr/local/lib/IcedTeaPlugin.so /usr/local/share/chromium/plugins/

 Plugin para Firefox y Opera

# mkdir -p /home/carles/.mozilla/plugins
# ln -s /usr/local/lib/IcedTeaPlugin.so /home/carles/.mozilla/plugins/



Activar Flash player Opera:
# pkg_add -r opera-linuxplugins
o
# cd /usr/ports/www/opera-linuxplugins && make install clean

$ mkdir /home/carles/.opera/plugins
# ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so /home/carles/.opera/plugins/
o
# # ln -s /usr/local/lib/browser_plugins/linux-f10-flashplugin/libflashplayer.so /home/carles/.opera/plugins/

Reiniciar Opera


Conectar con pfsense firewall vía ssh:



Cambiar el editor por defecto:

Averiguar shell por defecto

$ ps ax | grep sh
1814 ... /bin/sh

Establecer el editor por defecto en shell tcsh

$ setenv EDITOR ee

Si utiliza shell sh 

$ EDITOR=ee ; export EDITOR

o

$ ee /home/carles/.profile

EDITOR=ee; export EDITOR

guardar y cerrar.


http://www.freebsd.org/doc/es/books/handbook/ports-using.html
http://www.freebsd.org/doc/es/books/handbook/ports-nextsteps.html
http://www.freebsd.org/doc/es/books/handbook/ports-broken.html
Comandos freebsd

Unix es genial!.