Você está na página 1de 41

Redes Linux

Comandos gerais e Servidores de redes

Desenvolvido por Jorgeley Incio Jnior

Instalao do Linux.......................................................................................3
Particionamento .................................................................................................................. 3 Iniciando a instalao ......................................................................................................... 3

Iniciando o uso do Linux...............................................................................4


Comandos bsicos .............................................................................................................. 4 Comandos de administrao de usurios............................................................................ 4 Comandos sobre arquivos................................................................................................... 5 Comandos sobre sistemas de arquivos ............................................................................... 7 Comandos sobre instalao no Linux................................................................................. 7 Outros comandos ................................................................................................................ 9 Atributos dos arquivos e diretrios................................................................................... 10

Editor VI......................................................................................................10 Redes ............................................................................................................11


Configurar placa de rede................................................................................................... 11

Servidor de arquivos - Samba ....................................................................11


Compartilhamento Share .................................................................................................. 11 Compartilhamento Server a nvel de grupo...................................................................... 14

Sistema de arquivo de rede - NFS ..............................................................17 Servidor Web - Apache ...............................................................................20 Transferncia de arquivos - FTP................................................................26 Firewall - IPTABLES..................................................................................27 Servidor Proxy Squid...............................................................................33 Sendmail ......................................................................................................36 IPTRAF .......................................................................................................37 DIRETRIOS .............................................................................................37

Instalao do Linux
Particionamento

Caso tenha-se um Windows instalado no PC, particione o HD para instalar o Linux separadamente do Windows. Utilize um FDISK, PARTITION MAGIC ou qualquer outro particionador. Ao particionar defina o sistema de arquivos da partio do Linux como sendo EXT3, esta partio dever ter no mnimo 600 MB livres caso a instalao seja do tipo Estao de Trabalho, se for Servidor ento o tamanho vai para pelo menos 1.6 GB. O melhor a fazer, claro definir um tamanho maior do que este recomendado. No esquea de definir o ponto de montagem como sendo / para a partio EXT3. Alm da partio EXT3, que onde o Linux ser instalado, altamente recomendado que se defina uma partio com sistema de arquivos SWAP, esta partio dever ser de tamanho igual ao dobro da memria do PC. Esta partio ser utilizada pelo Linux como partio de troca, ou seja, memria virtual.
Iniciando a instalao

Depois de definir as parties do Linux, entre no Setup do PC e defina o boot a partir do CDROM, coloque o CDROM do Linux e d o boot. Siga os passos da instalao normalmente, ao chegar em particionamento escolha forar particionamento manual, ao entrar no particionador apenas selecione a partio EXT3 para que o instalador saiba que esta ser a partio onde ser instalado o Linux, observe se o ponto de montagem est definido, caso no esteja, defina-o. Quando chegar na tela para escolher o tipo de inicializao escolha o LILO para ser seu sistema de inicializao, ele ser utilizado para se escolher o SO que ser inicializado no boot, defina a localizao do mesmo no registro mestre de inicializao MBR. Siga o restante dos passos at reiniciar o PC.

Iniciando o uso do Linux


Comandos bsicos

O linux possui duas formas de operao, voc pode tanto utiliza-lo em modo texto ou em modo grfico. Alm disso, voc pode alternar entre os terminais pressionando CTRL+ALT+Fn, sendo n o nmero do terminal que se deseja. Logo que o Linux iniciado ele pedir login e senha, tanto em modo texto como em modo grfico. O super usurio root tem permisso geral no Linux, pode fazer tudo, para saber se voc est logado como superusurio basta olhar na linha de comando, caso tenha uma # voc est logado como super usurio. Os outros usurios precedem de um $ na linha de comando. A maioria dos comandos do Linux possui um manual, caso tenha dvida sobre determinado comando basta digitar na linha de comando: man <comando> Todos os comandos possuem argumentos que devero ser passados ao digita-lo: comando -<opes argumentos> Ex: ls l
Comandos de administrao de usurios

Para adicionar um usurio: useradd <nome usurio> -g <grupo existente> Ex: useradd Juliana Para colocar senha para o usurio adicionado: passwd <usurio> Ex: passwd Juliana Para deletar usurio: userdel <usurio> Ex: userdel Juliana Para adicionar um grupo de usurios: groupadd <novo grupo>

Ex: groupadd amigos Para apagar um grupo: groupdel <nome grupo> Ex: groupdel amigos Para adicionar um usurio em um grupo: useradd <nome usurio> -g <nome grupo> Ex: useradd Gondim g metal O arquivo /etc/passwd possui todos os usurios com seus grupos, editeo com o VI para visualizar. O arquivo /etc/group possui os grupos cadastrados no sistema.
Comandos sobre arquivos

Acessar um diretrio: cd /diretrio Ex: cd /etc Voltar ao diretrio anterior: cd Criar um diretrio: mkdir <novo diretrio> Ex: mkdir guampa Remover um diretrio: rmdir <diretrio> rm r <diretrio> Ex: rm r guampa Criar um arquivo novo: touch <novo arquivo> Ex: touch texto Remover um arquivo: rm <arquivo> Ex: rm texto Renomear um arquivo ou muda-lo de lugar: mv <nome_velho_arquivo> <novo_nome_arquivo> mv /<diretrio>/<arquivo> /<novo_diretorio> Ex: mv /home/texto /mnt/floppy Mudar o grupo do arquivo ou diretrio: chgrp <novo grupo> <arquivo ou diretrio> Ex: chgrp amigos texto Mudar a permisso do arquivo ou diretrio:
5

chmod <nnn> <arquivo ou diretrio> *nnn so os nmeros referentes s permisses do arquivo ou diretrio. 4=leitura; 2=escrita; 1=execuo. Ex: chmod 740 texto Listar o contedo de um diretrio: ls Ex: ls /root Mudar o dono de um arquivo ou diretrio: chown <novo dono> <arquivo ou diretrio> Ex: chown Juliana texto Copiar arquivo: cp <arquivo_a_ser_copiado> <nome_cpia> cp /home/texto /mnt/floppy Mostrar diretrio atual: pwd Formatar disquete: fdformat <dispositivo> Ex: fdformat /dev/fd0 Criar sistema de arquivos do disquete: mkfs.msdos /dev/fd0 f 12 Visualizar um arquivo no terminal: cat <arquivo> Ex: cat texto Mostrar o cabealho do arquivo: head <arquivo> Ex: head texto Mostrar o final do arquivo: tail f <arquivo> Ex: tail f texto Criar atalho para um arquivo ln s <arquivo> <nome_atalho> Ex: ln s /etc/samba/smb.conf atalho_smb.conf Procurar uma palavra em um arquivo: grep <palavra> <arquivo> Ex: grep root passwd Procurar um arquivo: find <local> -name <arquivo> Ex: find /etc name passwd (esta forma procura por um arquivo especfico) find / -exec grep root {} ls \;
6

(esta forma procura por um arquivo contendo uma palavra especfica)

Comandos sobre sistemas de arquivos

Para montar qualquer sistema de arquivo utilize a seguinte sintaxe: mount t <tipo_sist_arquivos> /dev/<sist_arquivos> /<ponto_mont> Montar um disquete: mount t vfat /dev/fd0 /mnt/floppy Montar uma partio windows: mount t vfat /dev/hda1 /mnt/windows Montar o CDROM: mount t iso9660 /dev/cdrom /mnt/cdrom Verificar dispositivos montados: mount Desmontar qualquer sistema de arquivos: umount /ponto_de_montagem Ex: umount /mnt/floppy No diretrio /etc h um arquivo chamado fstab, neste arquivo h algumas descries de sistemas de arquivos que podem ser montados na inicializao do linux, uma das linhas descreve o prprio ponto de montagem do linux, no caso o / (diretrio raiz). Caso queira colocar algum sistema de arquivo para ser montado na inicializao do linux s adicionar a linha no fstab descrevendo o sistema de arquivo a ser montado. Outra vantagem em colocar um sistema de arquivos no fstab que alm de ele ser montado na inicializao do linux ele poder ser montado com o comando mount, porm especificando apenas o dispositivo ou o ponto de montagem. Por exemplo: para montar o disquete, bastar digitar mount /mnt/floppy.
Comandos sobre instalao no Linux

Verificar se pacote instalado: rpm q <pacote> Instalar pacote: rpm i <pacote> Desinstalar pacote: rpm e <pacote> Pode-se utilizar juntamente com a opo i ou e as opes vh para ser mostrado detalhes da instalao ou desinstalao.
7

Ainda h um detalhe importante, s vezes teremos que baixar o fonte de um determinado software e instal-lo manualmente, instalando o software na forma mais bruta do linux. Supondo que baixamos o fonte do Apache 2 (que um software, no caso servidor Web), vejamos como instal-lo: 1. Entrar no diretrio onde foi baixado o fonte do Apache, s pra conferir se realmente o arquivo est l, supondo que foi baixado no diretrio root, ento: a. cd /root b. ls 2. Certamente haver um arquivo httpd-2.0.53.tar.gz, no caso httpd2.0.53 o nome do software e .tar.gz a extenso do arquivo, que neste exemplo um arquivo compactado com tar e com gzip, ento temos que descompacta-lo: a. primeiro devemos entrar no diretrio onde ser descompactado, o melhor o diretrio /usr/local, ento: i. cd /usr/local b. agora vamos descompactar o arquivo: i. tar xzvf < /root/httpd-2.0.53.tar.gz 3. Desta maneira ser descompactado o arquivo e ento aparecer um diretrio httpd-2.0.53 que foi extrado do arquivo compactado. Agora s instalar: a. Entre no diretrio que foi extrado: i. cd httpd-2.0.53 b. Liste os arquivos: i. ls c. Haver um arquivo chamado configure, que um arquivo executvel. Este arquivo responsvel por configurar o software para posterior instalao, ento execute-o: i. ./configure --prefix=/etc/apache-2.0.53 d. depois de configurar s compilar o fonte do software, ento: i. make ii. make install Pronto, t instalado o Apache 2. A nica coisa chata que s vezes voc pode encontrar um software que no segue os mesmos passos, mas na maioria ser desta maneira. Neste exemplo na hora de executar o configure eu s coloquei o parmetro --prefix que indica em qual diretrio ser instalado o software, porm pode haver mais parmetros. Na maioria das vezes ter que ser feito estes passos: extrair o arquivo, executar o configure, make e make install.
8

Outros comandos

Desligar o PC: shutdown h now init 0 halt Reiniciar o PC: reboot shutdown r now init 6 Listar processos: ps aux Matar processo: kill 9 <nmero_processo> Ex: kill -9 756 killall <nome_processo> Ex: killall smbd Compactar arquivo: zip <arquivo> Descompactar arquivo: unzip <arquivo> Descompactar arquivo .tar.gz: tar xzvf <arquivo>.tar.gz Ex: tar xzvf amsn-092.tar.gz Testar placa de rede: ping <IP_do_PC> Ex: ping 192.168.10.69 Checar IP: ifconfig Configurar IP: ifconfig eth0 <IP_host> netmask <mscara_rede> up Ex: ifconfig eth0 192.168.10.69 netmask 255.255.255.0 up Visualizar dispositivos PCIs: lspci Limpar a tela: clear Visualizar calendrio: cal Ver data atual e hora: date
9

Atributos dos arquivos e diretrios

Editor VI Caso queira editar um arquivo basta digitar VI <arquivo>. Ao entrar no arquivo sempre olhe no rodap do VI para saber se voc est no modo de edio ou comando. Quando o VI iniciado ele se encontra no modo comando e, sempre que estiver em modo edio e quiser voltar para modo comando apenas pressione ESC. Para manipular o arquivo em modo edio utilize o seguinte: Alterar o arquivo: Pressione i, modo insero. Aparecer no rodap insert indicando que voc pode alterar o arquivo. Salvar o arquivo: Depois de modificar o arquivo, para salva-lo preciso entrar em modo comando, ento pressione ESC, no modo comando digite :w <nome_arquivo>. Sair do VI: Alterne para o modo comando e digite :q. Salvar e sair: Alterne para o modo comando e digite :x. Copiar: Alterne para o modo comando e digite yy para copiar a linha atual; yw para copiar a palavra atual. Colar: Alterne para o modo comando e digite p para colar depois do cursor; P para colar antes do cursor. Desfazer: Alterne para o modo comando e digite u. Apagar: Alterne para o modo comando e digite dd para apagara a linha atual; dj para apagar a linha atual e a prxima.

10

Inserir nova linha: Alterne para o modo comando e digite o para inserir uma nova linha abaixo; O para inserir uma nova linha acima. Redes
Configurar placa de rede

Para saber os dispositivos PCIs do seu PC utilize o comando lspci. Se sua placa de rede for PCI certamente ela aparecer na listagem. Para configurar sua placa de rede utilize o comando ifconfig: Ex: ifconfig eth0 192.168.10.69 netmask 255.255.255.0 up Neste exemplo, a primeira placa de rede (eth0), ser configurada com o IP 192.168.10.69 e com mscara de rede de classe C e, alm disso, j ligar a placa de rede com o novo IP. Para ver se deu certo basta digitar ifconfig. O nico detalhe deste comando que ao dar outro boot na mquina, a configurao ser perdida, neste caso temos que alterar o arquivo de configurao da placa de rede para que no acontea isso. Nas distribuies Conectiva e Red Hat, h um arquivo chamado: /etc/sysconfig/networkscripts/ifcfg-eth0 que corresponde ao arquivo de configurao da primeira placa de rede, basta usar o VI para edit-lo e configurar a linha IPADDR com o IP desejado e a linha NETMASK com a mscara de rede, h tambm o parmetro ONBOOT que diz se a placa de rede deve ser ligada na inicializao, caso queira s igualar a YES. J no Slackware (minha distribuio favorita) o arquivo de configurao o /etc/rc.d/rc.inet1.

Servidor de arquivos - Samba


Compartilhamento Share

O Samba um software do Linux que possibilita compartilhamento entre mquinas linux e windows, alm de possibilitar o controle de compartilhamento atravs de validao de usurios. Detalhe importante: na verdade o que o SAMBA faz enganar as mquinas windows fazendo-as pensarem que o servidor de arquivos SAMBA um servidor Windows NT (pobre windows... to ingnuo...).

11

Basicamente o Samba possui dois tipos de compartilhamentos: nvel de segurana Share e Server, o primeiro a ser visto ser o mais simples que o Share. Primeiramente verifique se o samba est instalado, caso no esteja instale-o. Para configurar o Samba h duas maneiras: atravs do modo grfico ou atravs do arquivo de configurao (na unha mesmo). O mais interessante atravs do arquivo de configurao, porm para fazermos um compartilhamento do tipo Share vamos utilizar o modo grfico. Para possibilitar a configurao do Samba em modo grfico deve-se editar o arquivo /etc/inetd.conf e descomentar a ltima linha do mesmo. Para descomentar a ltima linha do arquivo retire o # no incio da linha. Todo arquivo do Linux que tiver este # no incio da linha porque a linha est comentada. Depois de descomentar a linha salve o arquivo. V at o diretrio /etc/rc.d/init.d e inicie o inet, para isso basta digitar ./inet start, inicie tambm o httpd, d uma reiniciada no Samba tambm. Feito isso v no ambiente grfico e abra o Netscape ou qualquer outro navegador, digite a url: http://localhost:901. Isto dever abrir o Samba em modo grfico, se no der certo retire o http://. Na parte superior do Samba haver vrios botes, clique no boto Globals. Aparecer ento as variveis globais do Samba para serem configuradas. Em workgroup defina seu grupo de trabalho, em netbios name defina o nome que aparecer nas mquinas clientes referenciando o servidor SAMBA (qualquer coisa), em security escolha a opo Share, em os level digite um nmero de preferncia igual ou maior que 100 (este nmero definir quem ser servidor na rede), em hosts allow defina a faixa de rede que ser permitida no compartilhamento, em hosts deny defina a faixa de rede que no ser permitida no compartilhamento. At aqui configuramos as variveis globais do SAMBA as quais definem as opes de compartilhamento, agora s falta definir o que vai ser compartilhado. Para definirmos o que ser compartilhado, dessa vez iremos usar o modo texto, ento alterne para o modo texto e entre no diretrio /etc e edite o arquivo smb.conf. Este arquivo o arquivo de configurao do Samba, contm as mesmas caractersticas do Samba em modo grfico. Abaixo das variveis globais ficaro os compartilhamentos, para adicionar um compartilhamento basta seguir o seguinte modelo:

12

########### variveis globais ########### #grupo de trabalho workgroup = Grupo1 #nome q aparece no ambiente de rede do windows abaixo cone do servidor netbios name = Servidor Linux #descrio que aparecer entre parnteses abaixo do nome do servidor server string = Linux Server #nvel de segurana do servidor SAMBA, share o mais baixo security = share #maneira como o servidor samba resolver o nome das mqs para IP name resolve order = lmhosts hosts wins bcast #ajusta os sockets de conexo, s pra dizer como o SAMBA se conectar socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #nmero q define quem o servidor, caso haja mais de um servidor os level = 150 #diz p/ o SAMBA no utilizar consulta DNS para resoluo dos nomes dns proxy = no #faixa de rede permitida pelo servidor hosts allow = 192.168.2. #faixa de rede no permitida pelo servidor hosts deny = 192.168.7. ########### exemplo de compartilhamento ########### [Pasta1] #comentrio toa, aparecer do lado esquerdo da janela do windows comment = Pasta1 #caminho para a pasta compartilhada path = /pasta1 #diretrio no ser somente leitura readonly = no #permite gravao writeable = yes #compartilhamento visualizvel no browse browseable = yes #pasta pblica public = yes

13

Depois de configurado, claro que voc ter que criar a pasta compartilhada pelo samba, no exemplo acima a pasta pasta1 no diretrio raiz, ento no esquea de cri-la. J que o compartilhamento no ter segurana nenhuma, d permisso total pasta, utilize o comando chmod. Feito isso, voc pode testar o arquivo de configurao do samba pelo comando testparm smb.conf, isso mostrar um relatrio sobre as configuraes feitas no smb.conf, se der tudo ok, ento t tudo certo. Depois disso s ligar o SAMBA utilizando o comando smbd D e depois nmbd D no caso da distribuio slackware, se for Conectiva ento utilize o comando service smb start, se preferir voc pode rebootar a mquina e tambm ligar o SAMBA, ento d um reboot s por segurana e reinicie os servios do Samba. Agora s configurar as estaes windows. Nas mquinas windows que acessaro o compartilhamento, coloque os IPs das mesmas na mesma faixa de rede do servidor e adicione um gateway com o IP do servidor, configure o grupo de trabalho como sendo o mesmo do servidor. Agora s reiniciar os PCs windows e ver os compartilhamentos, na tela de inicializao s informar um usurio qualquer e depois verificar o seu servidor SAMBA no ambiente de rede do windows.
Compartilhamento Server a nvel de grupo

Para este nvel de segurana utilizaremos o arquivo smb.conf para montar o compartilhamento, ou seja, montaremos o compartilhamento na unha mesmo. Neste nvel de segurana o compartilhamento ser a nvel de grupo, ou seja, se o usurio pertencer ao grupo permitido, ter acesso aos compartilhamentos. As variveis globais permanecero inalteradas, a definio do compartilhamento a nvel de grupo ser feita diretamente no compartilhamento, ento edite o smb.conf e coloque um compartilhamento seguindo o seguinte modelo: #################### variveis globais #################### workgroup = Grupo1 netbios name = Servidor Linux server string = Tux security = Server encrypt passwords = yes
14

update encrypted = yes log file = /var/log/samba/log.%m name resolve order = lmhosts hosts wins bcast #se o compartilhamento ficar por muito tempo aberto na estao, ser fechado time server = yes socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #indica que o script de logon ser a nvel de usurio logon script = %U.bat #nome do servidor samba na rede que autenticar o logon logon path = servidor # indica que o servidor samba ser domnio de logon, ou seja, os logons nas # estaes windows sero efetuados no servidor samba domain logons = yes # indica que o servidor samba ser mestre de domnio, ou seja, as estaes que # acessarem o samba o prprio samba resolver o nome das mesmas para IP domain master = true os level = 100 # caso haja mais de um mestre de domnio na rede, esta opo indica que o # samba que preferivelmente ser o mestre de domnio preferred master = true dns proxy = no hosts allow = 192.168.2. hosts deny = 192.168.7. ############## coloque os compartilhamentos abaixo ############## [Exemplo_de_compartilhamento] comment = Pasta1 path = /pasta_do_grupo # grupo de usurios vlidos para acessarem o compartilhamento valid users = @grupo1 @grupo2 # grupo de usurios que podem escrever na pasta write list = @grupo1 # indica que usurios no autenticados no acessaro o compartilhamento guest only = no readonly = no available = yes writable = yes # indica que no somente um usurio acessar a pasta, vrios ao mesmo tempo only user = no browseable = yes public = yes
15

# usurio administrador do compartilhamento admin user = @administrador Adicione um grupo no linux referente ao grupo que poder acessar o compartilhamento, no exemplo acima o grupo grupo1, e depois adicione um usurio no Linux pertencente a este grupo e coloque senha para o mesmo, este usurio ter acesso aos compartilhamentos ento adicione o mesmo usurio no samba, para isso utilize o comando: smbpasswd a <usurio_linux> Ser solicitada a senha para o usurio, ento digite a mesma senha do usurio linux ao cadastrar. Depois de ter adicionado o usurio, crie a pasta compartilhada pelo samba, no caso do nosso exemplo a pasta pasta_do_grupo, depois de criada a pasta, mude o dono da pasta para o usurio que voc cadastrou h pouco e mude tambm o grupo da pasta para o grupo que voc adicionou, o grupo que pode acessar o compartilhamento no samba. Agora que a pasta pertence ao usurio certo e ao grupo certo, d permisso total ao usurio dono da pasta e tambm para o grupo dono da pasta, j os outros usurios d permisso nenhuma, ou seja, d um chmod 770 pasta_do_grupo. Por precauo d um reboot para que as alteraes faam efeito melhor e inicie o servio do samba: smbd D e nmbd D ou service smb start(se for Conectiva). Agora s configurar as estaes windows, s tem um probleminha, se for estao windows 98 de uma maneira e se for windows NT j de outra maneira, ento vamos ver como configura das duas maneiras. Primeiro vamos ver como configura estao windows 98. Nas mquinas windows 98 que acessaro o compartilhamento, coloque os IPs das mesmas na mesma faixa de rede do servidor e adicione um gateway com o IP do servidor, configure o grupo de trabalho como sendo o mesmo do servidor. No servio de ambiente de rede cliente para redes Microsoft abra-o e marque a opo de Logon no domnio do windows NT e em Domnio do Windows NT coloque o nome do grupo de trabalho do servidor samba. Em controle de acesso marque a opo nvel de usurio e em obter lista de grupo de usurios coloque o grupo de trabalho definido no servidor Linux. Feito isso reboot a mquina windows. Configurada as mquinas windows falta ainda criar o script de logon que ser utilizado para validar os usurios ao logarem no servidor Linux, para isso abra o Bloco de Notas do windows e crie o seguinte arquivo:

16

############ script de logon do usurio user1 ############ echo off echo acertando a hora da estao com o servidor... net time \\server1 /set /yes echo mapeando o compartilhamento... net use J: \\192.168.69.1\compartilhamento Salve este arquivo com a extenso .bat e copie-o para o servidor linux para o diretrio /home/samba/netlogon. Reinicie os servios do Samba e est pronto. Agora quando as mquinas windows forem iniciadas pediro login e senha que sero validados no servidor Samba. Voc ter que digitar o usurio que voc cadastrou no samba, o usurio que tem permisso para acessar o compartilhamento. Depois de logar, o script de logon ser executado no servidor e aparecer na estao windows a sua execuo, e automaticamente o compartilhamento ser mapeado, se voc abrir o meu computador do windows voc ver uma unidade que ser o seu compartilhamento. Legal n? Para aprender como configurar as estaes Windows NT, vide anexo I no final desta apostila. Sistema de arquivo de rede - NFS O NFS (Network File System) ou Sistema de Arquivo de Rede (traduzindo para goians), um protocolo que possibilita o compartilhamento de arquivos atravs da rede. Utilizaremos o NFS para fazer compartilhamento de mquinas Linux para mquinas Linux. Primeiramente claro, temos que ter certeza que o servidor NFS est instalado em nossa mquina, os pacotes a serem instalados so os seguintes: nfs-server* nfs-utils Para ficar mais fcil instale tudo que comece com nfs-, ou seja, digite o comando: rpm ivh nfs-* Isso far com que todos os pacotes que tenham o nome inicializado com a palavra nfs- sejam instalados, logo tudo que a gente precisa ser instalado. Para configurar o NFS, podemos utilizar o Linuxconf (que tem uma telinha bem mais bonitinha e interativa) ou ento podemos configurar o NFS atravs de seus arquivos de configurao, como a gente bruto faremos a configurao do modo mais difcil: atravs dos arquivos de configurao.

17

Primeiramente vamos definir os diretrios que sero compartilhados, para isso edite o arquivo /etc/exports e defina os diretrios compartilhados usando a seguinte sintaxe: /home/jorgeley/inacio 192.168.7.69 (rw) /home/andre/cunha 192.168.7.* (rw) Neste exemplo de compartilhamento, o diretrio incio est exportado somente para o host 192.168.7.69 para uso completo rw, ou seja, leitura e escrita. J o diretrio cunha est exportado para todos os hosts pertencentes rede 192.168.7 para leitura e escrita. Definidos os compartilhamentos, agora vamos definir quais hosts podero utilizar o servio Portmap. O Portmap interligar os clientes NFS com o servidor NFS informando aos clientes NFS como acessar os servios NFS na mquina servidor. Para definirmos quais hosts acessaro o servio Portmap, utilizaremos os arquivos /etc/hosts.allow e /etc/hosts.deny. Inicialmente vamos proibir que todos os hosts acessem o Portmap, ento edite o arquivo /etc/hosts.deny e adicione o seguinte: portmap: ALL Isso proibir qualquer host, independente da rede, de acessar o Portmap. Bom, mas se proibimos qualquer host de acessar o portmap, isso significa que o NFS no vai rodar, no mesmo? Claro, no vai rodar mesmo, pois como j foi dito, o Portmap vai dizer s mquinas clientes NFS como utilizar o servio NFS para acessar os compartilhamentos e, se proibimos todos os hosts de utilizar o Portmap, isso vai impossibilitar que todos os hosts utilizem o NFS para ver os compartilhamentos. Ento vamos liberar alguns hosts para acessarem o Portmap, para isso edite o arquivo: /etc/hosts.allow e coloque o seguinte: portmap: 192.168.7.0/255.255.255.0 Agora sim, acabamos de liberar acesso ao Portmap para todos os hosts pertencentes rede 192.168.7.0, resumindo: primeiro bloqueamos o acesso ao Portmap a todo mundo e depois desbloqueamos apenas para uma rede, a rede 192.168.7.0, dessa maneira somente esta rede ter acesso ao portmap, e o restante no ter. Estas configuraes so as configuraes necessrias para o Servidor NFS funcionar, agora temos que iniciar os servios NFS, que so muitos. Os primeiros servios que vamos inicializar so os daemons do NFS, ento inicieos usando os seguintes comandos: /usr/sbin/rpc.nfsd /usr/sbin/rpc.lockd /usr/sbin/rpc.statd /usr/sbin/rpc.mountd
18

/usr/sbin/rpc.rquotad Temos que atualizar a lista de diretrios exportados basta digitar o seguinte comando: /usr/sbin/exportfs ra Iniciados os daemons, agora inicializaremos o Portmap, ento v ao diretrio dos dispositivos inicializveis (aquele onde voc inicializa a placa de rede), s usar o comando cds para chegar neste diretrio e inicie o Portmap pelo seguinte comando: ./portmap start Bel, agora finalmente inicializaremos o NFS, ainda no diretrio dos dispositivos inicializveis digite o comando abaixo: ./nfs start Muito bem, o servidor j ta configurado, agora vamos ver se realmente funciona. Nas mquinas clientes digite o seguinte comando: showmount e <IP_do_servidor_NFS> Este comando, digitado nas mquinas clientes, dever gerar uma lista dos diretrios que voc compartilhou no servidor NFS, aqueles diretrios que voc colocou no arquivo /etc/exports do servidor NFS. Lembre-se que somente funcionar o NFS nas mquinas que voc liberou acesso ao Portmap no servidor NFS, ento as mquinas clientes devero estar na faixa de rede que foi especificado no arquivo /etc/hosts.allow do servidor NFS. O comando showmount e s serve para ver os diretrios compartilhados, alm de ser uma maneira de conferir se o compartilhamento t funcionando. Mas ainda no estamos vendo o diretrio compartilhado do servidor NFS nas nossas mquinas clientes, para isso teremos que montar os diretrios compartilhados do servidor NFS, mais ou menos parecido com os comandos de montar disquete e CDROM, o comando para montar os diretrios do servidor NFS nas mquinas clientes o seguinte: mount t nfs <IP_do_servidor>:<diretrio_compartilhado> <ponto_montagem> Ex: mount t nfs 192.168.7.1:/home/jorgeley/inacio /mnt/nfs Seguindo o exemplo acima, o diretrio incio que foi compartilhado no servidor NFS cujo IP 192.168.7.1 ser montado localmente no ponto de montagem /mnt/nfs, logo, todos os arquivos que estiverem dentro do diretrio incio do servidor NFS podero ser acessados no diretrio /mnt/nfs. Pronto, est montado o servidor NFS, no doeu! Ou doeu?

19

Servidor Web - Apache Um servidor Web nada mais do que um software que nos permite hospedar uma pgina, seja ela qual for, em um computador e disponibilizarmos esta pgina uma rede local ou a Internet. Todo site na Internet hospedado em um computador que no caso denominamos de servidor Web. O Apache o servidor Web mais utilizado no mundo inteiro, por sua alta performance, confiana e principalmente baixo custo. O Apache foi desenvolvido a partir do daemon httpd, que era um servidor web antigo (o nico que existia na poca), este daemon httpd, foi desenvolvido por um tal de Rob McCool, que trabalhava numa tal de NCSA (uma empresa americana). Depois que Rob McCool deixou a NCSA o daemon httpd foi abandonado e ento webmasters que conheciam o daemon httpd comearam a trabalhar para melhor-lo, e assim nasceu o Apache. Concluindo, o Apache o daemon httpd, s que melhorado. O servidor Apache permite-nos que possamos criar sites em PHP ou qualquer outra tecnologia e disponibilizarmos essas pginas na rede local, ou seja, podemos com o Apache implementar um servidor Web, mas para isso temos que configura-lo para tal. Primeiramente verifique se o Apache est instalado, basta digitar: httpd v Se aparecer um monte de informao sobre o Apache porque ta instalado, seno voc dever instala-lo. Depois de instalado, entre no diretrio onde ficam os arquivos de configurao do Apache: /etc/apache/conf. Neste diretrio haver um arquivo com o nome hhtpd.conf, este o arquivo de configurao do Apache, ento edite-o utilizando o VI. Aps ter entrado no httpd.conf, procure as linhas: DocumentRoot /paginas DirectoryIndex index.html index.php Include /etc/apache/mod_php.conf Deixe o arquivo desta maneira, ser o suficiente para que j consigamos hospedar uma pgina em PHP no nosso servidor web. A primeira linha DocumentRoot diz para o Apache qual o diretrio que colocaremos nossos scripts PHP ou HTML, no caso o diretrio /paginas (certifique-se de ter criado o diretrio). A segunda linha DirectoryIndex especifica que os scripts index.html e index.php sero carregados automaticamente pelo servidor
20

Apache sem a necessidade de digitar seus nomes. A ltima linha Include diz para o Apache para incluir o mdulo do php o qual far que o Apache interprete corretamente os scripts php q criarmos, esta linha estar comentada, s descoment-la, no precisa alter-la. Dependendo da verso do kernel, pode ser que esta ltima linha esteja diferente, como por exemplo Include conf/conf.d/*.module, caso esteja assim s descomentar tambm, a funo a mesma. No diretrio definido como diretrio raiz dos scripts (no caso o diretrio /paginas) crie uma pgina simples s pra testar e salve-a como index.html, ou index.php, seno o Apache no conseguir encontra-la. Depois disso v ao modo grfico, abra o navegador de sua preferncia e digite localhost ou o endereo IP da sua placa, se aparecer a pgina que voc criou no diretrio raiz dos scripts porque voc acabou de configurar o Apache e ele ta rodando legal. Esta configurao feita a configurao bsica para o servidor Apache rodar. Vamos fazer algumas configuraes mais avanadas. Primeira configurao adicional que faremos para o servidor web hospedar mais de uma pgina (credo! At isso o Linux faz Jesus! Queima ele Senhor!). Entre novamente no httpd.conf e procure as seguintes linhas: ServerName www.tux.com.br:80 NameVirtualHost 192.168.10.1:80 A primeira linha diz para o Apache qual ser o nome do servidor web, no caso: www.tux.com.br o nmero 80 referenta a porta TCP que o servidor Web responde (todo servidor Web responde na porta 80) A segunda linha diz para o Apache de onde viro as requisies dos clientes para acessarem as pginas do servidor web, no caso tem que ser o IP do seu servidor Web, da sua mquina. Agora procure as seguintes linhas: <VirtualHost 192.168.10.1:80> ServerAdmin root@tux.com.br DocumentRoot /paginas #ServerName www.tux.com.br ErrorLog /paginas/log/erro.log CustomLog /paginas/log/acesso.log common </VirtualHost>

21

<VirtualHost 192.168.10.2:80> ServerAdmin root@sub.tux.com.br DocumentRoot /paginas/sub ServerName www.sub.tux.com.br ErrorLog /paginas/sub/log/erro.log CustomLog /paginas/sub/log/acesso.log common </VirtualHost> Deixe desta maneira as linhas, isto far com que nosso servidor web e pelo subdomnio responda pelo domnio www.tux.com.br www.sub.tux.com.br (se quiser mudar os nomes fique a vontade). Detalhe importante: certifique-se que cada diretrio especificado na configurao tenha sido criado. Pronto, o Apache t configurado beleza, s temos um problema, dizemos para o Apache responder pelos domnios www.tux.com.br e www.sub.tux.com.br, porm estes nomes no existem, ou seja, nosso servidor web no est configurado com estes nomes, e desta maneira vai dar pau! Ento vamos configurar o nosso servidor web para responder por estes nomes, porm o Apache no faz isso, teremos que utilizar o Bind (eita lasquera!). Servidor de Nomes - Bind Um servidor de nomes simplesmente um computador que responde pelo nome de um computador ou mais, sua funo atender requisies de resoluo de nomes de computadores para seus respectivos IPs, para conseguir resolver o nome do computador o servidor de nomes utiliza-se do protocolo DNS. Para entender melhor isso s voc se perguntar o que acontece quando voc vai no browser e digita www.brdteengal.com ou qualquer outro endereo de Internet. O que acontece o seguinte: primeiramente sabemos que todo site hospedado em um servidor web, um servidor web um computador que contm uma pgina, ou seja, quando eu vou no browser e digito www.brdteengal.com eu estou na verdade pedindo a pgina que est no computador chamado www.brdteengal.com. Bom, mas como um computador pode ter um nome? Pois , um computador pode ter nome sim, e no caso do servidor web eles sempre tm nome, j pensou se para acessar um endereo na Internet voc precisasse digitar o nmero IP do servidor web? Simplesmente voc teria que andar com uma caderneta com todos nmeros IPs de todos sites que voc costuma acessar. Diante disso, o

22

computador responsvel por resolver o nome de um computador para IP chamado de servidor de nomes. Agora devemos entender os seguintes termos: domnio, sub-domnio e zona. Abaixo as definies. Domnio nada mais do que o espao que um nome abrange, neste espao encontram-se vrias zonas, por exemplo, o domnio .br abrange a zona .com.br, a zona .edu.br. Sub-domnio um domnio abaixo de outro domnio (vixi Maria!), por exemplo observando a zona .com.br, o domnio .com um subdomnio do domnio .br, pois est abaixo do domnio .br. Zona uma parte do domnio, por exemplo, o domnio .br abrange as zonas .com.br e .edu.br. Para ficar mais fcil de entender eu fiz um desenho, se voc no entender a s Deus mesmo.

Agora que j entendemos o que um servidor de nomes, vamos entender como funciona a resoluo do nome de um site qualquer, porque na verdade no um nico servidor de nomes que resolve diretamente o nome requisitado, a resoluo do nome de um site envolve vrios servidores de nomes. Os servidores de nomes responsveis pela resoluo do nome de um site so organizados hierarquicamente, de modo que quando a requisio da resoluo do nome chega no servidor raiz, que sempre o primeiro servidor de nomes a ser consultado, ele vai repassando a consulta para os servidores de
23

nomes localizados hierarquicamente abaixo, como mostra a figura acima. Os servidores de nomes na verdade so responsveis por repassar a consulta adiante seguindo os domnios do endereo requisitado at que se chegue ao ltimo servidor de nomes que retornar o endereo IP do servidor Web que contm a pgina, a sim a pgina ser retornada para o cliente. Para provar isso, s voc acessar o diretrio /var/named e observar o arquivo named.ca, este arquivo contm uma lista de servidores razes responsveis por receber as requisies das resolues DNS. Se este arquivo for deletado, sua Internet vai pro pau! No altere o arquivo. Agora vamos ao que interessa, anteriormente tnhamos configurado o e Apache para responder pelos domnios www.tux.com.br www.sub.tux.com.br, ento vamos fazer as configuraes necessrias para que estes nomes existam, ou seja, vamos implementar um servidor de nomes. Acesse o diretrio /etc e procure por um arquivo chamado named.conf, esse arquivo responsvel pela especificao das zonas, como queremos criar a zona tux.com.br teremos que editar este arquivo e colocar nossa prpria zona. Observe que j h algumas zonas especificadas, como por exemplo a zona do domnio ., ou seja, do domnio raiz. Para criarmos nossa zona coloque as linhas abaixo ao final do arquivo named.conf: Zone tux.com.br { type master; file tux.ca; }; Com isto estaremos criando uma zona chamada tux.com.br, que no caso a zona referente ao primeiro domnio que configuramos no Apache. Nas linhas acima, o principal parmetro o file tux.ca;, este parmetro define o arquivo de registro de recurso de domnio, que o arquivo responsvel pela resoluo do nome tux.com.br para o respectivo IP do servidor Web, ou seja, no arquivo named.conf apenas configuramos a zona que existir no servidor de nomes, mas no propriamente configuramos como ser feita a resoluo do nome para IP, esta resoluo ser feita pelo arquivo tux.ca como especificado nas linhas acima. Ento este arquivo deve ser criado e configurado, vamos cri-lo: acesse o diretrio /var/named e crie o arquivo tux.ca, edite-o e coloque o seguinte:

24

$TTL 43200 @ IN SOA

@ IN nomepc www IN

NS IN A CNAME

nomepc.tux.com.br root.tux.com.br. ( 2005032802 3600 900 1209600 43200 ) nomepc.tux.com.br. 192.168.10.1 nomepc

Pronto, salve o arquivo e agora vamos fazer as configuraes finais. Entre no diretrio /etc e novamente entre no arquivo named.conf, procure a seguinte linha: listen-on {127.0.0.1/32; }; Comente esta linha para que o servidor de nomes funcione corretamente, para comentar s colocar // no incio da linha. Se esta linha no estiver comentada o servidor de nomes ficar atendendo as requisies pelo IP do localhost que no o IP de onde viro as requisies dos clientes. Agora edite o arquivo resolv.conf e faa a seguinte alterao: listen tux.com.br nameserver 192.168.10.1 O arquivo resolv.conf responsvel pela configurao do cliente DNS, ou seja, no resolv.conf voc coloca o IP do servidor de nomes responsvel pela resoluo do nome dos endereos que o cliente acessar, estamos configurando com o prprio IP do servidor de nomes para que consigamos no prprio servidor de nomes acessar a pgina do nosso servidor web, ou seja, nosso servidor web ser cliente DNS dele mesmo. Est pronto nosso servidor DNS, para ver se deu certo d um ping no domnio que criamos: www.tux.com.br, certamente retornar os pacotes do ping o que significa lgico que deu certo. Faa outro teste: abra o Mozilla e digite o endereo e veja o que acontece, simplesmente retornar a pgina que hospedamos no Apache, isso porque antes de configurarmos o servidor DNS j tnhamos configurado o Servidor Web para hospedar nossa pgina com o domnio www.tux.com.br, concluindo: implementamos um servidor web e servidor DNS, o servidor web hospedou a pgina e o servidor DNS deu um nome para acessar esta pgina.
25

Para configurar as estaes Windows da rede para acessarem nosso Servidor Web e DNS, basta coloc-las na mesma faixa de rede do servidor Web e DNS, configur-las como cliente DNS do Servidor DNS, ou seja, coloque o IP do servidor DNS na estao Windows e coloque o IP do gateway como sendo o IP do Servidor DNS e Web. Depois de ter feito isso voc acaba de montar uma Intranet, que simplesmente uma Internet local, pois todas as estaes Windows conseguiro acessar a pgina contida no Servidor Web e DNS, porm isso s funcionar na rede local, por isso o nome Intranet, que traduzindo significaria Internet Interna. Transferncia de arquivos - FTP A melhor forma de copiar arquivos atravs da rede sem dvidas usando o protocolo FTP, e o Linux j vem com ele instalado, ento vamos aprender a usa-lo. Para acessar uma mquina remota e transferir arquivos dela para a nossa mquina local primeiro devemos nos conectar a mquina remota, para fazer isso use o comando a seguir: ftp <IP_da_mquina_remota> ou ftp <nome_domnio> Depois de conectado, ser solicitados usurio e senha, caso a mquina remota aceite conexo annima, digite anonymous para usurio e para senha no precisar digitar nada. Se caso voc j tiver um usurio com uma senha j cadastrados na mquina remota, ento digite o nome de usurio e senha. Pronto, depois de conectar e digitar usurio e senha j estamos dentro da mquina remota, agora s pegarmos os arquivos que queremos, ento para isso use o comando get: get <nome_arquivo> Caso queira saber em qual diretrio da mquina remota voc se encontra use o comando pwd, se quiser ver os arquivos contidos nesse diretrio da mquina remota use o comand ls. Abaixo esto relacionados alguns dos comandos teis do ftp. Adicionar um arquivo local a um arquivo remoto: append <arquivo_local> <arquivo_remoto> Terminar a sesso FTP: bye Mudar o diretrio remoto:
26

cd <diretrio_remoto> Mudar permisses do arquivo remoto: chmod <permisso> <arquivo_remoto> Apagar arquivo remoto: delete <arquivo_remoto> Mudar o diretrio da mquina local: lcd <diretrio_local> Pegar vrios arquivos na mquina remota: mget <arquivos_remotos> Ex: mget *.txt Abrir uma conexo com uma mquina remota: open <IP_da mquina_remota> Ou open <nome_domnio_mquina_remota> Transferir um arquivo local para a mquina remota: put <arquivo_local> ou send <arquivo_local> Deletar um diretrio da mquina remota: rmdir <diretrio> Ver o SO da mquina remota: system Bom, caso voc queira configurar seu servidor FTP da sua mquina, utilize o Linuxconf. Dentro do Linuxconf entre em Configurao-RedeTarefas de servidor-Wu FTP-Servidor de FTP, neste local voc poder definir, por exemplo, se seu servidor FTP aceitar login annimo ou no, poder controlar tambm os usurios que podero acessar seu servidor FTP entre outras configuraes, s seguir os menus que no tem erro.

Firewall - IPTABLES O iptables um firewall assim como ipchains, a diferena que o ipchains s h em linux com kernel 2.4 ou inferior e o iptables em linux kernel acima de 2.4. Um firewall um software (ou pode ser um hardware tambm) que simplesmente filtra pacotes TCP-IP da rede, ele deixa pacotes passarem ou no, tudo depende de sua configurao, assim voc pode dizer que todos os pacotes que vierem do host 192.168.7.69 sejam negados, por exemplo.

27

No nosso exemplo de compartilhamento de internet via firewall utilizaremos tambm um gateway, mas que droga essa de gateway? Pois , gateway um negcio que simplesmente faz ligao de duas redes diferentes, por exemplo: se um computador tem duas placas de rede, sendo que uma conectada rede 192.168.5.0 e a outra rede 192.168.6.0 e este computador possibilita que as duas redes repassem pacotes entre si, este computador um gateway. Muito bem, vamos montar o compartilhamento de internet. Vamos partir do princpio que temos um computador com duas placas de rede: eth0 e eth1, lgico, sendo que a placa de rede eth1 est conectada a uma rede que no tem internet e a outra placa de rede eth0 est conectada a uma outra rede que j tem internet, nesse caso este computador ser o nosso gateway entre as duas redes, nosso objetivo compartilhar a internet da placa eth0 para a outra rede atravs da placa eth1. Vamos dar IP a estas redes: a rede que no tem internet vamos dar o IP 192.168.69.0 e a rede que tem internet vamos dar o IP 192.168.51.0. Vamos tambm atribuir o IP 192.168.69.1 para eth1 e 192.168.51.1 para eth0. Desenhando nosso esquema fica mais ou menos como descrito abaixo:

192.168.69.2

192.168.69.3

192.168.69.4

192.168.51.1 eth0

Internet

SWITCHE rede sem internet

192.168.69.1 eth1

GATEWAY

192.168.69.5

192.168.69.6

Ah! Voc no tem duas placas de rede? Seus problemas se acabaram-se! Chegou o Sistema Operacional Linux onde voc poder configurar sua nica placa de rede para ter dois IPs! (Linux no de Deus! Queima ele Jesus!). Para configurar sua placa de rede para ter um segundo IP s fazer o seguinte: ifconfig eth0:0 192.168.69.1 netmask 255.255.255.0 up Pronto, voc acaba de adicionar o IP 192.168.69.1 sua placa de rede, digite ifconfig e voc ver que ela aparecer logo abaixo do primeiro IP (Cruiz credo!). Antes de partirmos para a implementao do firewall temos que entender algumas particularidades do protocolo TCP/IP:

28

O protocolo TCP/IP o padro de comunicao da Internet, at a fcil, talvez o que voc no sabia ainda que na verdade o padro de comunicao da Internet composto por vrios protocolos (tcp, udp, http, ftp, dns, smpt, etc). O nome TCP/IP foi dado porque o TCP e o IP so os dois principais protocolos do padro de comunicao da Internet, porm agora sabemos que no so somente os dois que fazem parte do padro de comunicao das redes. Outro detalhe importante o que cada servio (ftp, http, dns, etc) tem uma porta de identificao especfica, esta porta simplesmente uma maneira de organizar cada servio, de identificar cada servio por um nmero (no v tentar achar uma porta atrs do seu gabinete, pelo amor de Deus!). Mais outro detalhe importantssimo que alm de cada servio ter sua porta especfica eles tambm tem um tipo que no caso TCP ou UDP, quando o protocolo do tipo TCP ele orientado conexo quando do tipo UDP no orientado conexo, se for orientado a conexo significa que a entrega do pacote (datagrama) ao seu destino garantida (como se fosse uma carta registrada) e se caso o protocolo for do tipo UDP significa que a entrega do datagrama no garatinda (como uma carta simples). Minha nossa sinhora da bicicreta! Agora lascou tudo n? Calma, no se desespere, vai ficar mais complicado ainda. Abaixo uma lista dos principais protocolos, suas portas e seu tipo: http:80/TCP dns:53/UDP ftp:21/UDP ssh:22/UDP telnet:23/UDP smtp:25/UDP pop3:UDP Ento, no esquea: O padro TCP/IP composto por vrios protocolos, cada protocolo tem sua porta especfica e tipo. Agora que entendemos o TCP/IP e suas particularidades, vamos ao trabalho ento, inicialmente vamos colocar as regras padro para o iptables fechar todas as portas, o que o correto, pois muito mais fcil fechar todas as portas, isolar o computador e depois ir abrindo as portas aos poucos. Entre no VI e digite o seguinte: # fechando tudo iptables -F iptables -P FORWARD DROP iptables -P INPUT DROP iptables -P OUTPUT DROP
29

Salve o arquivo com o nome firewall e depois d permisso de execuo e execute-o ( s digitar ./firewall). Pronto, seu firewall t rodando, o que ser que aconteceu? Faa o seguinte, pingue no seu prprio IP e veja o que acontece. Pois , operao no permitida, porqu? Bom, simplesmente porque as regras que acabamos de colocar no firewall vo fechar todas as portas, seu computador t super protegido, protegido at dele mesmo! Porque fizemos isso? exatamente por causa do que definimos anteriormente mais fcil fechar todas as portas e depois ir abrindo-as aos poucos. Vamos entender as regras digitadas: iptables F : limpa todas as regras de firewall anteriores; iptables P FORWARD DROP : adiciona uma regra padro para bloquear tudo que entra e sai (sem malcia) da placa de rede; iptables P INPUT DROP : adiciona uma regra para bloquear tudo que entra na placa de rede; iptables P OUTPUT DROP : adiciona uma regra que bloqueia tudo que sai da placa de rede; Mas no isso que queremos, queremos proteger nosso computador, mas tambm no queremos que ele se isole como se no tivesse placa de rede, queremos que ele pingue nele mesmo, nos computadores da sua prpria rede e claro, queremos que ele acesse a internet. Ento, vamos liberar os protocolos necessrios para que isso funcione, primeiramente vamos liberar os protocolos necessrios para que nosso prprio computador pingue nele mesmo. Os protocolos que temos que liberar para que o computador pingue nele mesmo o ICMP (Internet Control Message Protocol), este protocolo utilizado toda vez que voc d um pingue em algum computador, e este protocolo tem dois tipos: o tipo 8 e o tipo 0. O ICMP do tipo 8 utilizado para echo-request e o ICMP do tipo 0 utilizado para echo-reply, o echo request enviado pelo computador que est pingando para o computador que est sendo pingado como uma pergunta se o computador est ativo ou no e o echo-reply enviado pelo computador que est sendo pingado para o computador que enviou o echo-request como uma resposta se est ativo ou no. Desenhando mais ou menos o seguinte:

30

Diante disso, conclumos o seguinte: Dois pacotes ICMPs esto envolvidos no ping: um ICMP do tipo 8 e um ICMP do tipo 0; O PC que est pingando no outro PC envia um pacote ICMP do tipo 8; O PC que est sendo pingado recebe o pacote ICMP do tipo 8; O PC que est sendo pingado, em resposta ao pacote ICMP do tipo 8, envia um pacote ICMP do tipo 0 para o PC que est pingando nele; O PC que est pingando recebe o pacote ICMP do tipo 0; Agora, vamos raciocinar o seguinte: se queremos que nosso prprio PC pingue nele mesmo, ento ele enviar um pacote ICMP do tipo 8 para ele mesmo, ele mesmo receber o pacote ICMP do tipo 8, ele mesmo enviar o pacote ICMP do tipo 0 e ele mesmo receber o pacote ICMP do tipo 0. As regras que temos que colocar no nosso firewall tm que permitir que tudo isso acontea, ento vamos s regras:
iptables -A OUTPUT -p icmp -s 192.168.51.1 -d 192.168.51.0/24 --icmp-type 8 -j ACCEPT iptables -A INPUT -p icmp -s 192.168.51.1 -d 192.168.51.0/24 --icmp-type 8 -j ACCEPT iptables -A OUTPUT -p icmp -s 192.168.51.1 -d 192.168.51.0/24 --icmp-type 0 -j ACCEPT iptables -A INPUT -p icmp -s 192.168.51.1 -d 192.168.51.0/24 --icmp-type 0 -j ACCEPT

Beleza, salve e saia do arquivo e d um ping no seu IP para ver se deu certo. Agora faa o seguinte teste: tente acessar a Internet, com certeza no vai acessar, isso porque tambm temos que liberar a Internet via firewall. Antes de liberarmos a Internet vamos entender como funciona o processo de acessar a Internet no seu computador: No acesso a Internet trs protocolos esto envolvidos: DNS, ICMP e HTTP. O DNS um pacote UDP que responde na porta 53, o ICMP como j dito anteriormente do tipo 8 e 0 e o HTTP um pacote do tipo TCP que responde na porta 80. Vixi Maria! Complicou n? Ento eu desenho de novo:

31

Como mostra o desenho, primeiramente o computador que est acessando Internet envia um pacote do tipo UDP na porta 53:DNS para servidor DNS do site solicitando a resoluo do nome do site, depois a servidor DNS envia um pacote UDP na porta 53:DNS para o computador que est acessando a Internet com o nome resolvido, com o endereo IP do servidor Web que contm a pgina, depois disso o computador que est acessando a Internet envia um pacote ICMP do tipo 8 para o servidor Web para saber se ele est ativo e ento o servidor Web responde com pacote ICMP do tipo 0 dizendo que est ativo, por ltimo o computador que est acessando a Internet envia um pacote do tipo TCP na porta 80:HTTP para o servidor Web requisitando a pgina, ento o servidor Web responde com um pacote TCP na porta 80:HTTP contendo a pgina solicitada. Legal n? isso que acontece quando voc est simplesmente acessando uma pgina da Internet, e voc nem sabia. Diante disso, vamos liberar os protocolos necessrios para que a Internet ento funcione:
iptables -A OUTPUT -p udp -s 192.168.51.1 -d 0/0 --dport 53 -j ACCEPT iptables -A INPUT -p udp -s 0/0 -d 192.168.51.1 --sport 53 -j ACCEPT iptables -A OUTPUT -p icmp -s 192.168.51.1 -d 0/0 --icmp-type 8 -j ACCEPT iptables -A INPUT -p icmp -s 0/0 -d 192.168.51.1 --icmp-type 0 -j ACCEPT iptables -A OUTPUT -p tcp -s 192.168.51.1 -d 0/0 --dport 80 -j ACCEPT iptables -A INPUT -p tcp -s 0/0 -d 192.168.51.1 --sport 80 -j ACCEPT

Agora s salvar e sair e executar o firewall, depois acesse a Internet que vai estar funcinando legal. Vamos fazer um compartilhamento de Internet para uma rede interna:
iptables -A FORWARD -p udp -s 192.168.69.0/24 -d 0/0 --dport 53 -j ACCEPT

32

iptables -A FORWARD -p udp -s 0/0 -d 192.168.69.0/24 --sport 53 -j ACCEPT iptables -A FORWARD -p icmp -s 192.168.69.0/24 -d 0/0 --icmp-type 8 -j ACCEPT iptables -A FORWARD -p icmp -s 0/0 -d 192.168.69.0/24 --icmp-type 0 -j ACCEPT iptables -A FORWARD -p tcp -s 192.168.69.0/24 -d 0/0 --dport 80 -j ACCEPT iptables -A FORWARD -p tcp -s 0/0 -d 192.168.69.0/24 --sport 80 -j ACCEPT

Pronto, com isso estaremos compartilhando Internet para a rede 192.168.69.0. Implementamos um firewall que faz compartilhamento de Internet, para fazer as estaes acessarem Internet atravs do firewall s coloc-las na rede 192.168.69.0 e configur-las com gateway igual ao IP da placa de rede de onde sai o compartilhamento: 192.168.69.1. Servidor Proxy Squid Vamos a definio de proxy: segundo os conceitos do professor Jorgeley, proxy um maravilhoso software que faz compartilhamento de internet, mas no s isso, ele faz servio de cache de pginas e tambm tem controle de acesso, assim podemos definir quais usurios podero acessar a internet e quais sites sero permitidos, alm disso, como foi dito ele faz servio de cache que simplesmente uma maneira que o proxy armazena pginas acessadas pelos usurios no prprio servidor proxy, sendo assim da segunda vez que um usurio tente acessar uma pgina j visitada por outro usurio, esta pgina no ser novamente buscada na internet, ela ser entregue ao usurio rapidamente, pois a mesma se encontra no cache do servidor proxy. Imagine o ganho no desempenho da rede quando implementamos um servidor proxy, agora voc com certeza entende porque eu disse que o proxy uma maravilha! Agora que nos encantamos com o Squid, vamos implementa-lo. Certifique que o Squid esteja instalado, os pacotes a serem instalados so todos que iniciem com a palavra squid-, ento basta instalar usando o comando: rpm ivh squid-* Depois de instalado, vamos configura-lo. Configuraremos o squid de maneira que ele compartilhe internet para uma rede qualquer e faa bloqueio de pginas indesejveis atravs de palavras chave. O arquivo de configurao do Squid o /etc/squid/squid.conf, entre nesse arquivo e procure as seguintes linhas: cache_ram MEM 8 MB

33

esta linha est especificando a quantidade de RAM que o squid poder usar, bom aumentar, mas tome cuidado para no especificar toda a RAM da mquina, pois existem outros processos que tambm precisam de RAM. cache_dir ufs /var/spool/squid 100 16 256 esta linha especifica o diretrio que ser o diretrio de cache do Squid, ou seja, onde ele guardar as pginas acessadas pelos usurios, que no caso acima o diretrio /var/spool/squid. Especifica tambm a maneira que ser guardada as pginas no diretrio ufs. O nmero 100 especifica o tamanho mximo do cache. O nmero 16 indica a quantidade de diretrios que podero ser criados pelo cache do Squid e o nmero 256 indica a quantidade de subdiretrios que cada um dos 16 diretrios podero ter. Fique a vontade para mudar estes valor, mas sempre tome cuidado com essas alteraes. http_port 3128 Nessa linha est indicada qual porta o Squid utilizar, no necessrio mudar. Essas so as configuraes bsicas do Squid, agora vamos fazer as configuraes para que restrinjamos o acesso a alguns sites. Para fazermos isso teremos que criar algumas ACLs, ento procure no squid.conf as linhas onde ficam as ACLs e adicione a nossa prpria ACL: acl rede_permitida src 192.168.69.0/255.255.255.0 acl sites_proibidos url_regex i sexo Agora procure as linhas onde contem as regras de acesso e mude-as para o seguinte: http_access deny sites_proibidos http_access allow rede_permitida http_access deny all Pronto, o arquivo de configurao do Squid j est ok, agora vamos iniciar o Squid e ver se funciona. Para inicia-lo basta ir ao diretrio dos dispositivos inicializveis e digitar: squid z squid start Para ver se realmente funcionou, tente acessar no servidor Squid mesmo uma pgina porn, ou outra que tenha a palavra sexo que proibimos pelo squid, caso voc no consiga ver a pgina porque o Squid a bloqueou, ou seja, deu certo! Nas mquinas que voc quer compartilhar a internet do servidor Squid s configura-las com proxy=IP do servidor Squid e porta=3128 que foi a porta
34

especificada no squid.conf. Depois de fizer isso nas mquinas clientes do servidor Squid, certamente elas vo estar acessando a internet, porm com o detalhe de no conseguirem ver as pginas que contenham a palavra sexo. Vamos fazer uma configurao adicional agora, vamos fazer um controle de usurio, ou seja, para acessar Internet nas estaes Windows o usurio ter que digitar um nome de usurio e senha vlidos. Entre novamente no squid.conf e procure a seguinte linha: authenticate_program ... Deixe-a da seguinte maneira: authenticate_program /usr/bin/ncsa_auth /etc/squid/usuarios Desta maneira estamos configurando o squid para fazer o controle de usurios utilizando o programa de autenticao ncsa_auth (prprio do linux) e ainda configuramos dizendo que o arquivo com os usurios ser o usuarios e ficar no diretrio /etc/squid. Detalhe: ainda no colocamos o ncsa_auth no diretrio correto e muito menos criamos o arquivo com os usurios, faremos isso depois. Agora v at onde encontram-se as ACLs e coloque a seguinte ACL: acl autentica proxy_auth REQUIRED Depois v at a linha onde encontram-se as regras de acesso e coloque o seguinte: http_access allow autentica Pronto, o squid.conf ta configurado, agora s colocarmos o ncsa_auth no diretrio correto e adicionarmos os usurios. V at o diretrio /usr/doc/squid, neste diretrio voc encontrar o ncsa-auth, copie-o para o diretrio /usr/bin. Beleza, agora v at o diretrio /etc/squid e digite o seguinte comando: htpasswd c /etc/squid/usuarios Juliana Este comando ir criar o arquivo usuarios e j adicionar o usurio Juliana para poder acessar Internet. Depois se quiser adicionar mais usurios

35

no precisa mais colocar o parmetro c, apenas digite htpasswd /etc/squid/usuarios nomeusuario. Pronto, agora s reiniciar o squid, para isso digite ps aux para listar os processos que esto rodando, com certeza o squid estar na lista e a s matar os processos, digite killall squid que isto resolver. Depois s iniciar de novo o squid: squid start. Nas estaes tente acessar Internet, voc ver que quando abrir o browser ser solicitado usurio e senha, obrigatoriamente voc ter que informar um dos usurios cadastrados no servidor Proxy. Legal n, o squid tem outras configuraes adicionais, porm essas so as principais, no precisa mais que isso. Sendmail O sendmail um software do linux que envia e recebe mensagens usando a rede. Verifique se o mesmo est instalado, caso no estiver instale-o e siga os passos adiante para configura-lo. Alm de instalar o sendmail necessrio instalar tambm o POP3. 1 - entrar no /etc e editar o arquivo sendmail.cw curso.com.br RELAY 192.168.4 RELAY localhost.localdomain RELAY 2 - acessar o path /etc/mail e criar o arquivo relay-domains localdomain curso.com.br 192.168.4 3 - acessa o path /etc/services e confira as portas 25 e 110 4 - edita o arquivo /etc/inetd.conf e descomente a linha do pop3 5 - entre no ntsys e habilite o pop3 e sendmail 6 - acesse o path /etc/mail/sendmail.cf localize a linha DM e adicione -> DMcurso.com.br 7 - execute o linuxconf - REDE - SENDMAIL Para enviar uma mensagem o melhor a fazer utilizar o prprio software do sendmail, basta digitar sendmail na linha de comando. Caso preferir utilize o comando: mail <usurio> O arquivo /var/log/maillog contm todos os logs de e-mail
36

Para verificar as mensagens v ao diretrio /var/spool/mail ou ento utilize o comando: mail -f <usurio> IPTRAF IPTRAF um software que permite o gerenciamento do trfego em um servidor. Para usufru-lo, instale-o e digite na linha de comando apenas IPTRAF. Depois de digitar o comando s seguir os menus.

DIRETRIOS /bin: Armazena os binrios (executveis) dos comandos do Linux /boot: Os arquivos utilizados na inicializao esto nesse diretrio /dev: Armazena todos os arquivos de dispositivos, mouse, HD, portas, etc. /etc: Aqui se encontram todos os arquivos de configurao /home: Este o diretrio local, como se fosse a pasta Meus Documentos do Windows. /mnt: Neste diretrio esto os pontos de montagem de dispositivos de armazenamento /usr: A maioria dos softwares fica neste diretrio /var: Armazena informaes diversas, logs, variveis entre outros.

37

ANEXO I Autenticando Windows XP no LINUX PDC


Publicado em 28 de setembro de 2004 Neste tutorial o Carlos Gomes (carloshgomes@hotmail.com) mostra de forma simples e objetiva como autenticar um Windows XP no Samba visto que o mesmo requer uma configurao a mais que famlia Windows 98. Autenticando Windows XP no LINUX PDC Por Carlos Gomes (CH) (carloshgomes@hotmail.com). Primeiramente, verifique se ambas as mquinas (servidor e estao) esto corretamente configuradas para rede: Interface conectadas, configuradas corretamente com seus drivers, cabos conectados e funcionando, etc. Aps verificado, vamos ao servidor configurar o SAMBA. Certifique-se que seu arquivo smb.conf contm os seguintes parmetros: [global] encrypt passwords = Yes domain logons = yes logon drive = H: {aqui a pasta home do usurio conectado, ser mapeado na unidade H, dentro do seu explorer, somente usado para windows xp,200,nt} Configurando a mquina Windows XP para autenticar no Domnio Digamos que sua mquina seja chamada de cliente, sem as aspas duplas, claro :) Crie uma conta de mquina no arquivo /etc/passwd, basta executar o seguinte comando, como root: # useradd -g domainmac -c "Maquina de Dominio" -s /bin/false -d /dev/null cliente$ O comando acima cria uma conta para a mquina cliente$ e torna ela parte do grupo domainmac. necessrio especificar o caracter $ aps o nome da mquina para criar uma conta de mquina no domnio, caso contrrio o prximo passo ir falhar. Crie uma conta de mquina no arquivo /etc/samba/smbpasswd, basta executar o seguinte comando, como root:

38

# smbpasswd -m -a cliente Isto cria uma conta de mquina para o computador cliente no arquivo /etc/samba/smbpasswd. Note que a criao de uma conta de mquina muito semelhante a criao de um usurio apenas precisa adicionar a opo -m. Quando for criar uma conta com o smbpasswd no necessrio especificar $ no final do nome da mquina. Aps isso, vamos para o Windows XP 1) Logue-se como administrador ou com direitos de administrador. Primeiramente, vamos adicionar a mquina ao grupo de trabalho, seguindo estes passos: 2) Logue como administrador do sistemas local. 3) Entre no item Sistema dentro do painel de controle. A tela propriedades de sistema ser aberta. 4) No campo Descrio do Computador, coloque algo que descreva a mquina (opcional). 5) Clique na TAB Nome do Computador e no boto Alterar na parte de baixo da janela. 6) No campo nome do computador, coloque um nome de no mximo 15 caracteres para identificar a mquina na rede. Como exemplo criamos a mquina CLIENTE. 7) Clique em grupo de trabalho e digite o nome do grupo de trabalho na caixa de dilogo. Aquele que voc criou na seo [global] do SAMBA. 8) Clique em OK e aguarde a mensagem confirmando sua entrada no grupo de trabalho. Ser necessrio reiniciar a mquina. Aps, sucesso, vamos agora cadastrar para entrar no domnio, vejamos como 9) Atualize o registro para permitir a entrada no domnio. V em: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters e modifique os seguintes parmetros: "RequireSignOrSeal"=dword:00000000 "SignSecureChannel"=dword:00000000 10) Aps, v em painel de controle/ferramentas administrativas/diretiva de segurana local/diretivas locais/opes de segurana. Lembre-se de estar como administrador:

39

11) Desative os seguintes parmetros, para uma busca mais rpida identifique as linhas comeando com: Membro de domnio desativando as linhas seguintes: Membro de domnio: criptografar ou assinar digitalmente os dados de canal seguro (sempre) Membro de domnio: desativar alteraes de senha de conta da mquina Membro de domnio: requer uma chave de sesso de alta segurana (Windows 2000 ou posterior) aps feito isto feche a tela 12) Reinicie a mquina. 13) Aps reiniciar a mquina, volte na tela de alterao de identificao de mquina na rede. 14) Clique com o mouse em "Domnio" e digite o nome do domnio na caixa de dilogo. 15) Na tela seguinte, ser lhe pedido o nome de usurio e senha. Entre com o root e senha do root. Ah, lembre-se de cadastr-lo no samba: smbpasswd -a root 16) Clique em OK e aguarde a mensagem confirmando sua entrada no domnio. Ser necessrio reiniciar a mquina aps concluir este passo. 17) Pronto agora na tela de autenticao, clique em opes para escolher o domnio de sua rede. Escolha um usurio j cadastrado no Linux e no samba. :) Algumas observaes: 1 Tive que adicionar o usurio ao meu samba novamente, pois no estava funcionando sem fazer isso. Ex: smbpasswd -a usuario Aps isso funcionou perfeitamente :) 2 Criei o perfil alterando os formatos do windows xp e no prximo login tudo estava como antes :) , ou seja, carregou o perfil perfeitamente.

40

Alguns trechos aqui presentes, foram adaptados ou copiados: Guia Foca GNU/Linux Verso 6.38 - quinta, 19 de agosto de 2004 http://focalinux.cipsga.org.br/ by CH. :) Autor: Carlos Gomes (CH) Email: carloshgomes@hotmail.com Postado por fuji em setembro 28, 2004 10:57 AM

41

Você também pode gostar