12 de febrero de 2017

Configurar firewall en openSuse Leap 42.2

Aún teniendo los puertos abiertos en nuestro router, puede ser que el firewall de openSuse esté también bloqueando las conexiones de alguno de nuestros programas. Por ello, debemos abrir los puertos correspondientes en nuestro firewall.

Para cada programa, crearemos un archivo de texto con los puertos a abrir para que así nos aparezca la opción correspondiente en la configuración del firewall.

Lo primero que he hecho, es crearme una carpeta llamada "Configuraciones firewall" donde guardaré los distintos archivos para tenerlos disponibles para otras veces.

Una vez dentro de la carpeta, hacemos clic con el botón derecho del ratón y, en el menú contextual elegimos Crear nuevo > Archivo de texto... tal como se ve en la imagen:


Para nuestro ejemplo, lo nombraremos como "ktorrent" (sin extensión), ya que vamos a abrir los puertos para ese programa que nos permite descargar ISOs de nuestras distribuciones Linux favoritas:


Una vez creado nuestro archivo de texto, lo abriremos para editarlo.


El texto que debemos escribir es el siguiente:

## Name: KTorrent
## Description: Abre puertos para KTorrent incluido DHT

# space separated list of allowed TCP ports
TCP="6881"

# space separated list of allowed UDP ports
UDP="6881 7881 8881"

# space separated list of allowed RPC services
RPC=""

# space separated list of allowed IP protocols
IP=""

# space separated list of allowed UDP broadcast ports 

Por el texto, ya podemos deducir qué es cada cosa:
En la primera línea, indicamos el nombre del programa para el que vamos a abrir puertos.
En la segunda, escribimos una breve descripción de qué puertos abrimos.
En las siguientes líneas especificaremos los puertos TCP y UDP que vamos a usar, de forma que queden entrecomillados y separados por espacios.

[ Los puertos que he utilizado, son los que aparecen por defecto en ktorrent. De todas formas, conviene revisarlos en la configuración de vuestro ktorrent, esto es sólo un ejemplo ]

Guardamos el documento y, a continuación, lo copiaremos en la carpeta de servicios del firewall. La ruta donde lo copiaremos es "/etc/sysconfig/SuSEfirewall2.d/services/". Para poder escribir en esa dirección, necesitaremos permisos de administrador, así que podéis abrir vuestro gestor de archivos o bien, abriendo un terminal donde tenemos el archivo, poner lo siguiente:

sudo cp ktorrent /etc/sysconfig/SuSEfirewall2.d/services/

Se nos pedirá la contraseña de root y, tras escribirla, ya se habrá copiado nuestro documento.


Ahora que ya hemos copiado el archivo, ya podemos configurar el firewall para que permita las conexiones de nuestro ktorrent. Abrimos entonces Yast:


Evidentemente, se nos pedirá la contraseña de administrador. La ponemos y aceptamos:


Una vez que entremos en el "Centro de control", pulsaremos en "Cortafuegos" dentro de la sección "Seguridad y usuarios":


Una vez dentro del cortafuegos, iremos a la sección "Servicios autorizados":


En el desplegable donde están los servicios, tendremos la opción que hemos creado ("KTorrent"). Basta con seleccionarla y pulsar el botón "Añadir":


Una vez pulsado, lo veremos en la lista de servicios autorizados con la misma descripción que habíamos puesto en nuestro archivo de texto. Debemos pulsar "Siguiente":


Veremos un resumen. Ya sólo falta pulsar en "Terminar":


Y así tendremos nuestros puertos abiertos en el firewall de nuestro openSuse.

A continuación, os dejo varios archivos de configuración que utilizo:

aMule:
## Name: aMule
## Description: Abre puertos para aMule.

# space separated list of allowed TCP ports
TCP="40000 50000"

# space separated list of allowed UDP ports
UDP="40001 40003"

# space separated list of allowed RPC services
RPC=""

# space separated list of allowed IP protocols
IP=""

# space separated list of allowed UDP broadcast ports 

Heroes of the Storm:
## Name: Heroes of the Storm
## Description: Abre puertos para Heroes of the Storm.

# space separated list of allowed TCP ports
TCP="1119 6113 1120 3724"

# space separated list of allowed UDP ports
UDP="1119 6113 1120 3724"

# space separated list of allowed RPC services
RPC=""

# space separated list of allowed IP protocols
IP=""

# space separated list of allowed UDP broadcast ports 

ktorrent:
## Name: KTorrent
## Description: Abre puertos para KTorrent incluido DHT

# space separated list of allowed TCP ports
TCP="6881"

# space separated list of allowed UDP ports
UDP="6881 7881 8881"

# space separated list of allowed RPC services
RPC=""

# space separated list of allowed IP protocols
IP=""

# space separated list of allowed UDP broadcast ports 

Plex:
## Name: Plex Media Server
## Description: Abre puertos para Plex Media Server con broadcast
# space separated list of allowed TCP ports
TCP="3005 8324 32400 32469"

# space separated list of allowed UDP ports
UDP="1900 5353 32410 32412 32413 32414"

# space separated list of allowed RPC services
RPC=""

# space separated list of allowed IP protocols
IP=""

# space separated list of allowed UDP broadcast ports 

Una vez que hemos creado un archivo para cada programa, podemos copiarlos todos con el siguiente comando:

sudo cp * /etc/sysconfig/SuSEfirewall2.d/services/


Lo siguiente sería volver a la configuración del cortafuegos y añadir cada uno de ellos:


Parece algo tedioso pero, al final, para mí, ha sido el método más cómodo para añadir servicios al cortafuegos de openSuse.

Espero que os haya servido de ayuda.