Adicionar Serviços à SuSEfirewall2

A SuseFirewall pode ser facilmente configurada através do yast, mas infelizmente o interface de configuração não permite adicionar serviços para além dos que já se encontram definidos.
É possível adicionar regras para abertura de portas extra através de opções avançadas de serviços ou adicionando regras personalizadas. Para quem gosta de ter tudo organizado e simples de utilizar há ainda outra opção.
É possível adicionar serviços através de packages, no fundo são apenas pequenos ficheiros de configuração que são colocados no directório de configuração da firewall.

A lista de serviços encontra-se em /etc/sysconfig/SuSEfirewall2.d/services
Aqui existem pequenos ficheiros de texto que contém as especificações de cada serviço.

Existe também um ficheiro TEMPLATE que pode ser utilizado como molde para criar novos serviços.

# Do not edit this file as it's just a template and will be
# overwritten on package updates! Copy to a new file instead.
# Fill in the required variables and delete the unused ones.
# If in doubt ask security@suse.de
#
# Only the variables TCP, UDP, RPC, IP, BROADCAST, RELATED and
# MODULES are allowed. More may be supported in the future.
#
# For a more detailed description of the individual variables see
# the comments for FW_SERVICES_*_EXT in /etc/sysconfig/SuSEfirewall2
#

## Name: template service
## Description: opens ports for foo in order to allow bar

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

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

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

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

# space separated list of allowed UDP ports that accept broadcasts
BROADCAST=""

### variables below are only needed in very special cases

# space separated list of net,protocol[,sport[,dport]]
# see FW_SERVICES_ACCEPT_RELATED_EXT
# net 0/0 means IPv4 and IPv6. If this sevice should only work for
# IPv4 use 0.0.0.0/0
RELATED=""

# additional kernel modules needed for this service
# see FW_LOAD_MODULES
MODULES=""

Basta criar um novo ficheiro á semelhança do template, colocar as configurações que pretendemos e está pronto.
Vamos aqui criar os serviço BitTottorrent que vai abrir a porta 51413 que será utilizada pelo cliente bittorrent.

## Name: Bittorrent
## Description: Abre as porta TCP e UDP para o Torrent Client

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

# space separated list of allowed UDP ports
UDP="51413"

É uma exemplo muito simples, é possível colocar outras opções como se pode ver no TEMPLATE mas neste caso estas são suficientes

Agora basta reiniciar a firewall e através do Yast adicionar o novo serviço aos serviços permitidos.