GNU/Linux
 
 
INETD
(Internet Super-Server Daemon)

De uma maneira geral existem duas formas de se rodar um serviço no mundo Unix/Like que são o standalone e o inetd. O standalone é serviço/daemon independente de qualquer outro, provendo todos os recursos necessários para que o mesmo funcione (ex: SSH, HTTP, SMTP etc). Já o inetd (Internet “super-server” daemon) é um daemon que “ouve” várias portas TCP e/ou UDP que estão relacionadas a serviços que não podem fazer por eles mesmos. Em outras palavras, o “inetd” tem a função de ouvir conexões de vários serviços de rede (internet sockets) através de um único daemon (ex: FTP e TelNet).

O “inetd” conhece qual serviço o socket corresponde e invoca um programa para o serviço requisitado. Essencialmente, o inetd permite rodar um daemon que invocar várias outros, reduzindo a carga no sistema. Só para constar o inetd pode habilitar o libwrap connection logging, contudo os serviços internet, contidos nele, não.


Instalação
# apt-get install openbsd-inetd (existe também o inetutils-inetd que é equivalente e o xinetd que tem opções mais avançadas -> será visto nesse artigo)

Arquivo de configuração
# vi /etc/inetd.conf (veja a seguir duas figuras do conteúdo existente nesse arquivo)


Os serviços são adicionados no arquivo de configuração do INETD que fica em “/etc/inetd.conf”, sendo que seguem o seguinte padrão:

<service_name> <sock_type> <proto> <flags> <user> <server_path> <args>

Restartando o serviço
# /etc/init.d/openbsd-inetd restart (ao modificar “/etc/inetd.conf” e/ou “/etc/inetd.d/” é necessário restartar o serviço)



XINETD
(Internet Super-Server Daemon Advanced)

Substitui o “inetd” com muitos recursos avançados. xinetd tem mecanismos de controle de acesso, capacidade de registro/logging extensivo, a habilidade de disponibilização do serviço baseada na hora e colocação de limites no número de servidores que podem iniciar, redirecionar o strem TCP para um host remoto e porta, interligar um serviço especifico à uma interface de rede específica (ex: poderia se ter diferentes serviços rodar na mesma porta, só que em interfaces de rede diferentes).


Instalação
# apt-get install xinetd (o inetd será removido, contudo o “/etc/inetd.conf” não)
Obs: todos os serviços inetd já instalados continuarão funcionando. Na verdade, ao restartar o xinetd, ele lerá o arquivo de configuração do inetd (/etc/inetd.conf).

Arquivo de configuração
# ls /etc/xinetd/ (diretório que é lido ao restartar o xinetd. Na verdade no “/etc/xinetd.conf” existe um include chamado “includedir /etc/xinetd.d” adicionando tal diretório)
# vi /etc/xinetd.conf (arquivo de configuração do xinetd)

Ao instalar qualquer programa/serviço xinetd, ele ainda será colocado em “/etc/inetd.conf” e a seguinte mensagem aparecerá:

A seguir é mostrado o conteúdo do arquivo “/etc/xinetd.d/time” que é instalado por padrão pelo “xinetd”. Coloquei essa figura só para termos uma idéia da diferença entre o "xinetd" e o "inetd". Veja que o "xinetd" é estruturado uma opção por linha e o "inetd" fica tudo numa linha só:



Algumas das opções mais usadas dentro dos arquivos de configuração do "xinetd" são:

Exemplo:



# /etc/init.d/xinetd restart (ao modificar “/etc/inetd.conf”, “/etc/xinetd.conf” e/ou “/etc/xinetd.d/” é necessário restartar o serviço)





Referências Bibliográgicas

 
 


ETI - Especialista em Tecnologia
da Informação