Escolar Documentos
Profissional Documentos
Cultura Documentos
Redes Linux PDF
Redes Linux PDF
Comandos gerais e
Servidores de redes
1
Instalao do Linux.......................................................................................3
Particionamento .................................................................................................................. 3
Iniciando a instalao ......................................................................................................... 3
Editor VI......................................................................................................10
Redes ............................................................................................................11
Configurar placa de rede................................................................................................... 11
Firewall - IPTABLES..................................................................................27
Sendmail ......................................................................................................36
IPTRAF .......................................................................................................37
DIRETRIOS .............................................................................................37
2
Instalao do Linux
Particionamento
Iniciando a instalao
3
Iniciando o uso do Linux
Comandos bsicos
man <comando>
4
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, edite-
o com o VI para visualizar. O arquivo /etc/group possui os grupos cadastrados
no sistema.
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)
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:
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
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
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.
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.
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
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.
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 inicie-
os 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
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
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
responda pelo domnio www.tux.com.br e pelo subdomnio
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!).
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.
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
Apache para responder pelos domnios www.tux.com.br e
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;
};
24
$TTL 43200
@ IN SOA nomepc.tux.com.br root.tux.com.br. (
2005032802
3600
900
1209600
43200
)
@ IN NS nomepc.tux.com.br.
nomepc IN A 192.168.10.1
www IN CNAME nomepc
listen tux.com.br
nameserver 192.168.10.1
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.
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-Rede-
Tarefas 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
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.51.1
eth0
192.168.69.2 192.168.69.3 192.168.69.4 Internet
SWITCHE 192.168.69.1
eth1
rede sem
internet GATEWAY
192.168.69.5 192.168.69.6
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:
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:
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
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:
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 ...
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
36
Para verificar as mensagens v ao diretrio /var/spool/mail ou ento
utilize o comando:
mail -f <usurio>
IPTRAF
DIRETRIOS
37
ANEXO I
Autenticando Windows XP no LINUX PDC
Publicado em 28 de setembro de 2004
[global]
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:
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.
38
# smbpasswd -m -a cliente
3) Entre no item Sistema dentro do painel de controle. A tela propriedades de sistema ser
aberta.
Aps, sucesso, vamos agora cadastrar para entrar no domnio, vejamos como
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters
"RequireSignOrSeal"=dword:00000000
"SignSecureChannel"=dword:00000000
39
11) Desative os seguintes parmetros, para uma busca mais rpida identifique as linhas
comeando com:
Membro de domnio
Membro de domnio: requer uma chave de sesso de alta segurana (Windows 2000 ou
posterior)
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
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 :)
40
Alguns trechos aqui presentes, foram adaptados ou copiados:
http://focalinux.cipsga.org.br/
by CH. :)
41