Você está na página 1de 5

Administrao de Sistemas Informticos I ISEP

_____________________________________________________________________________________
Departamento de Engenharia Informtica
1
Pag. 1
TEMA

Administrao do subsistema de rede; Servios Internet daemon

TERICA-PRTICA

1. Servios Internet Daemon
Na pasta /etc/rc.d, existe a configurao dos diversos runlevels da mquina. Aos daemons
iniciados num runlevel atribudo o nome de Standalone. Isto porque, estes servios so
iniciados no runlevel, ficam espera de pedidos vindos da rede e gerem estes pedidos por si
prprios.
Existe no entanto outro tipo de servios em que quem aguarda pedidos da rede o chamado
Internet Services Daemon (inetd). Este responsvel por receber os pedidos da rede e, por
sua vez, os reencaminhar para o programa apropriado que trata do respectivo servio e, caso
seja necessrio, iniciar a execuo deste.
Nas distribuies LINUX modernas, o inetd foi substitudo pelo Extended Internet Services
Daemon (xinetd). O ficheiro /etc/xinetd.conf descreve os servios oferecidos pelo xinetd. Na
realidade, este ficheiro descreve pouco mais que alguns valores por omisso e acaba com a
linha: includedir /etc/xinetd.d, a indicar que o xinetd deve percorrer todos os ficheiros nesta
pasta e configurar os servios disponibilizados conforme as opes descritas nestes.
A seguinte listagem apresenta o contedo da pasta /etc/xinetd.d:

$ ls /etc/xinetd.d
chargen daytime-udp rsync sgi_fam time
chargen-udp echo servers swat time-udp
daytime echo-udp services telnet



A descrio de todos os aspectos da configurao dos servios disponibilizados pelo xinetd,
pode ser bastante extensa. No entanto, o seu formato bsico, bastante simples. Cada um dos
ficheiros listados anteriormente, contm a seguinte estrutura:

service <nome_do_servio>
{
<atributo> = <valor> <valor> ...
...
}


Um exemplo (/etc/xinetd.d/telnet):

# default: on
# description: The telnet server serves telnet sessions; it uses
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE # como o xinetd se deve comportar... (muitas opes)
socket_type = stream # tipo do socket: stream;dgram;raw
wait = no # no=multithreaded; yes=singlethreaded
user = root # utilizador que executa o servio (segurana!?)
server = /usr/sbin/in.telnetd # programa que executa o servio
log_on_failure += USERID # determina que informao deve registar
disable = no # determina que o service est ligado ou no
}

Administrao de Sistemas Informticos I ISEP
_____________________________________________________________________________________
Departamento de Engenharia Informtica
2
Pag. 2
Vamos tentar colocar a funcionar o service daytime. A cada pedido, este servio responde com
a data e hora actual. Este servio um servio interno do xinetd, ou seja, implementado pelo
prprio. Existem duas verses do servio daytime: a TCP e UDP. Vamos activar a verso TCP,
que est configurada no ficheiro /etc/xinetd.d/daytime:
Editar o ficheiro /etc/xinetd.d/daytime
Colocar disable = no
Reiniciar o servio xinetd

Para testar, podemos utilizar o programa telnet que, ao estabelecer uma ligao TCP na porta
utilizada pelo servio daytime, vai originar a resposta deste:
telnet localhost 13.
A porta utilizada pelo servio daytime a 13, como pode ser verificado se o procurarmos no
ficheiro /etc/services.

2. Configurao do subsistema de rede
De seguida ser feito um resumo dos vrios passos para a configurao do subsistema de
rede em LINUX.
2.1. Drivers de interfaces
O primeiro passo na configurao do subsistema de rede o driver da placa de rede a utilizar.
Os drivers das placas de rede so mdulos do kernel, que so carregados conforme
necessrio. Estes mdulos so ficheiros com extenso .o" e podem ser encontrados em
/lib/modules/2.4.20-8/kernel/drivers/net.
A maioria das placas de rede suportada correctamente pelo LINUX. Neste caso, esta ser
detectada na altura a iniciao do sistema e o driver apropriado ser carregado. Podemos
verificar o mdulo carregado para a placa de rede verificando o contedo do ficheiro
/etc/modules.conf.
No caso, por exemplo, da interface Ethernet, devemos encontrar uma linha:
alias eth0 tulip.
A terceira palavra desta linha corresponde ao driver carregado para a placa de rede da
mquina, tulip.
E se a placa de rede no estiver a funcionar correctamente, ou soubermos que este no o
driver correcto?
2.2. Atribuir um nome mquina
Para atribuir um nome mquina basta utilizar o comando hostname <nome_da_mquina>.
normal utilizar-se aqui o nome simples da mquina, isto , sem o qualificador do seu domnio.
Se necessrio, podemos utilizar o comando domainname para atribuir um domnio. No entanto,
utilizado o comando hostname, o nome que atribuirmos mquina no ser permanente, isto
, vai perder-se na prxima vez que iniciarmos o computador. Para resolver isso, todas as
distribuies guardam o nome da mquina (outras configuraes do subsistema de rede
tambm so guardadas assim) num ficheiro de texto que utilizado durante o arranque do
sistema para atribuir de novo o nome mquina.

Em RedHat, o ficheiro que contm o nome da mquina o /etc/sysconfig/network:

NETWORKING=yes
HOSTNAME=asi1


Aqui, para alm do nome, define-se se o subsistema de rede deve ser activado. Na realidade,
neste ficheiro podem ser configurados outros parmetros como gateways, IP forwarding, etc.

2.3. Resoluo de nomes bsica
O sistema dever de ter algum tipo de capacidade de resoluo de nomes. Por exemplo, o seu
prprio nome, configurado anteriormente. A resoluo de nomes pode ser efectuada por
diversos servios, por exemplo: DNS ou NIS. No caso mais simples, a resoluo de nome
efectuada utilizando o ficheiro /etc/hosts.
Administrao de Sistemas Informticos I ISEP
_____________________________________________________________________________________
Departamento de Engenharia Informtica
3
Pag. 3
O ficheiro /etc/hosts possui um formato muito simples: Cada linha contm um endereo, o
nome completo da mquina(FQDN Fully Qualified Domain Name)e possveis alias:

#
# Hosts file
#
# IP FQDN aliases
#
127.0.0.1 asi1.mydomain.com asi1
#
192.168.10.2 test.mydomain.com test
192.168.10.3 linux.mydomain.com linux tux




Podemos tambm definir nomes simblicos para redes, no ficheiro /etc/networks:

# Networks file
mydomain-net1 192.168.10.0


2.4. Configurao de interfaces

Para utilizar o hardware de rede, necessrio antes torn-lo acessvel para o software de rede
do kernel. Existem algumas ferramentas que podem ser utilizadas para tal. A mais fundamental
de todas o comando ifconfig, no entanto existem outras ferramentas que permitam configurar
as interfaces de rede graficamente. Alguns exemplos:
/usr/bin/redhat-config-network;
/usr/sbin/netconfig;
/usr/bin/redhat-control-network.

Para verificar o estado de uma interface podemos executar: ifconfig <interface>. Por exemplo:

$ ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:201 errors:0 dropped:0 overruns:0 frame:
TX packets:201 errors:0 dropped:0 overruns:0 carrie
collisions:0 txqueuelen:0
RX bytes:11608 (11.3 Kb) TX bytes:11608 (11.3 Kb)



A listagem anterior mostra o resultado de um comando ifconfig que exibe o estado da interface
loopback. O comando ifconfig sem argumentos apresenta o estado de todas as interfaces
activas. O comando ifconfig tem um grande nmero de parmetros, no entanto a sua utilizao
principal pode-se resumir atribuio de um endereo interface:
ifconfig <interface> <endereo> <parmetros>.
Quando no indicados, parmetros (como mscara de rede, gateway, etc) so colocados a
valores por omisso.

Por exemplo:

ifconfig eth0 192.168.10.1 netmask 255.255.255.0

Atribui o endereo IP (192.168.10.1) e mscara de rede (255.255.255.0) interface eth0. Se
fizermos agora ifconfig eth0:
Administrao de Sistemas Informticos I ISEP
_____________________________________________________________________________________
Departamento de Engenharia Informtica
4
Pag. 4

eth0 Link encap:Ethernet HWaddr 00:03:FF:84:8D:93
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:2052 (2.0 Kb)
Interrupt:11 Base address:0x8000

Podemos verificar, por exemplo, que ao endereo de broadcast (Bcast) foi atribudo o valor por
omisso (endereo da rede, com todos os bits do endereo da mquina a um). Adicionalmente,
a unidade mxima de transmisso (MTU) foi colocada a 1500, que o valor por omisso (e
mximo) para redes Ethernet.
Finalmente, para activar ou desactivar a interface fazemos: ifconfig <interface> <up/down>
2.5. Ficheiros de configurao
O que vimos na seco anterior o mtodo bsico para configurar uma interface. No entanto,
isto teria de ser feito cada vez que arrancamos a mquina. Na realidade, este processo
automatizado. O procedimento exacto como tal acontece varia de distribuio para distribuio,
mas normalmente envolve um script de configurao do subsistema de rede que se encontra
sob a pasta /etc/rc.d/init.d, que ser invocado conforme a configurao do runlevel actual.
Ento este script, normalmente /etc/rc.d/init.d/network, utiliza diversos ficheiros de texto que
indicam a configurao do subsistema de rede e invoca os comando necessrios para
configurao deste.
Em RedHat, os ficheiros de configurao do subsistema de rede podem ser encontrados no
ficheiro /etc/sysconfig/network, onde, como j vimos est configurado o nome da mquina. E
sob a pasta /etc/sysconfig/network-scripts. Nesta pasta encontramos ficheiros para a
configurao de diversas interfaces.
A configurao da interface eth0, pode ser encontrada no ficheiro /etc/sysconfig/network-
scripts/ifcfg-eth0

DEVICE=eth0 # dispositivo
BOOTPROTO=static # endereamento esttico
BROADCAST=192.168.10.255 # endereo de broadcast
IPADDR=192.168.10.1 # endereo IP
NETMASK=255.255.255.0 # mscara de rede
NETWORK=192.168.10.0 # endereo de rede
ONBOOT=yes # interface activada no arranque do sistema: yes/no


A listagem anterior mostra um a configurao de uma interface com um endereo esttico. No
caso de pretendermos utilizar DHCP, seria:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

2.6. IP Alias

Em verses actuais do kernel, possvel atribuir vrios endereos IP diferentes mesma
interface fsica. Cada um dos alias criados so utilizados como se tratasse de um interface
independente.
Por exemplo poderamos criar um alias para o interface eth0 assim:

ifconfig eth0:0 192.168.20.1 netmask 255.255.255.0 broadcast 192.168.20.255

Como podemos verificar, a nica diferena que adicionamos :0 depois do nome do
interface. Cada alias identificado por um nmero de ordem, no caso 0.
Administrao de Sistemas Informticos I ISEP
_____________________________________________________________________________________
Departamento de Engenharia Informtica
5
Pag. 5

Para criar um outro alias para a interface eth0:

ifconfig eth0:1 192.168.20.2 netmask 255.255.255.0 broadcast 192.168.20.255

2.7. Informao adicional sobre as interfaces
O comando netstat pode ser utilizado para visualizar uma grande quantidade de informao
adicional sobre interfaces. Alguns exemplos:
Estatsticas sobre interfaces configurados: netstat i
Conexes activas TCP, UDP, RAW (t, u e w respectivamente). O parmetro a apresenta
tambm os sockets que esto espera de conexes): netstat ta

Você também pode gostar