INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE CAMPUS SOMBRIO RONALDO BORGES DE QUADROS SERVIÇOS DE REDE Sombrio (SC) 2011
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE CAMPUS SOMBRIO RONALDO BORGES DE QUADROS SERVIÇOS DE REDE Trabalho apresentado à disciplina de Serviços de Redes do Curso Superior de Tecnologia em Redes de Computadores, do Instituto Federal de Educação, Ciência e Tecnologia Catarinense - Campus Sombrio. Prof: Jéferson Mendonça de Limas Sombrio (SC) 2011
RESUMO A fim de exercitar o conhecimento adquirido durante o semestre na disciplina de Serviços de Rede e ainda adquirir novos conhecimentos através de pesquisa, neste trabalho se descreve a instalação de uma distribuição Ubuntu para servidores, mas exatamente o Ubuntu Server 10.04 e ainda a instalação dos serviços de rede. Os serviços de rede aos quais se descreve a instalação e configuração são: servidor de DHCP, Samba como servidor de domínio, proxy com o squid, com autenticação através do Samba e ainda um servidor de DNS.
SUMÁRIO 1 INTRODUÇÃO...4 2 INFORMAÇÕES INICIAIS...5 3 INSTALAÇÃO UBUNTU SERVER 10.04...5 3 COFIGURAÇÃO DAS PLACAS DE REDE...6 4 CONFIGURAR SERVIDOR DHCP...6 5 CONFIGURANDO O SAMBA PDC...7 6 CONFIGURANDO PROXY COM SQUID...10 7 SERVIDOR DNS COM BIND...12 8 CONCLUSÃO...15
4 1 INTRODUÇÃO Quando uma pessoa liga um computador e abre o navegador de internet para acessar um site qualquer, muitas vezes não tem a menor ideia do acontece por trás de tudo isso, o volume de dados, a quantidade de processos e até mesmo a quantidade de máquinas que estão envolvidas, para permitir a abertura do site. Neste trabalho apresenta-se a instalação de um sistema operacional de servidor e vários serviços diretamente envolvidos com o funcionamento de uma rede de computadores. O sistema operacional neste caso é o Ubuntu Server 10.04, e os serviços são: servidor DHCP, Samba como controlador de domínio, serviço de proxy com Squid, autenticando no Samba e ainda um servidor DNS com o Bind. O objetivo deste trabalho é colocar em prática o que foi estudado durante o semestre.
5 2 INFORMAÇÕES INICIAIS MAC adaptador 1: 0800276F2E77 MAC adaptador 2: 0800274C57C4 Senha usuário root: root Nome da máquina: servidor Nome do usuário: user01 Senha do usuário: 123 Nome da máquina windows adicionada no samba = virtual 3 INSTALAÇÃO UBUNTU SERVER 10.04 Instalação do Ubuntu Server 10.04 no VirtualBox com configurações padrão. HD 8GB e 512MB de memória RAM. Foi habilitada duas placas de rede sendo configurado o adaptador 1 no modo NAT como o endereço MAC 0800276F2E77 e o adaptador 2 como rede interna com o endereço MAC 0800274C57C4. Os passos foram os seguintes: depois de iniciar pelo CD, vem a escolha do idioma, no caso português do Brasil, o teclado foi escolhido o Generic 105 teclas. O próximo passo digitar um nome para a máquina, no caso foi escolhido server, configurar horário e escolha do tipo de particionamento, neste caso foi escolhido o particionamento manual. As partições criadas foram as seguintes: Partição Tamanho Sist. Arquivos Tipo swap 512MB swap primária /boot 512MB ext3 primária / 3GB reiserfs primária /home 3.6GB ext3 lógica /var ~1GB ext3 lógica
6 No /boot foi ligada a flag de inicialização. No /var foi criada a partição utilizando o restante do disco, aproximadamente 1GB. Depois da instalação é pedido o nome completo do usuário, o nome escolhido foi user01. O nome para login também foi user01 e a senha 123, o sistema avisa que a senha é fraca. Tem-se a opção de encriptar ou não a pasta pessoal, foi escolhida a opção não. Tem-se a opção de colocar informações sobre o proxy, se houver, que neste caso foi deixado em braco, depois pode-se escolher se as atualizações serão ou não automáticas, a opção escolhida foi sem atualizações automáticas, para que se possa ter um maior controle sobre o que é instalado no sistema. Depois pode-se escolher quais pacotes serão instalados para os vários serviços disponíveis, foram deixados todos em branco para se ter uma instalação básica do sistema. Por último vem a instalação do Grub que foi deixado o padrão e está finalizada a instalação. 3 COFIGURAÇÃO DAS PLACAS DE REDE cd /etc/network vim interfaces Configuração do arquivo interfaces #loopback auto lo iface lo inet loopback #Placa de rede primária auto eth0 iface eth0 inet dhcp #Placa de rede interna auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 4 CONFIGURAR SERVIDOR DHCP Instalar o DHCP apt-get install dhcp3-server
7 Configurar placa que o servidor vai usar para distribuir IPs. cd /etc/default vim dhcp3-server Configuração do arquivo dhcp3-server INTERFACES eth1 Configurar dhcpd.conf cd /etc/dhcp3 rm dhcpd.conf vim dhcpd.conf Configuração do arquivo dhcpd.conf #Atualização do DNS ddns-update-style none; #Tempo padrão de renovação dos endereços Ips em segundos default-lease-time 600; #Tempo máximo de utilização de um endereço IP por uma estação max-lease-time 7200; #Indica que é o DHCP principal, caso haja outro na rede authoritative; #Contém as informações da rede subnet 192.168.0.0 netmask 255.255.255.0 { #Faixa de endereços que será usada pelo servidor range 192.168.0.100 192.168.0.200; #Configuração do gateway padrão option routers 192.168.0.254; #Configuração do DNS option domain-name-servers 192.168.0.1; #Configuração do broadcast option broadcast-address 192.168.0.255; } Comandos para inicia parar ou reiniciar o servidor /etc/init.d/dhcp3-server start /etc/init.d/dhcp3-server stop /etc/init.d/dhcp3-server restart 5 CONFIGURANDO O SAMBA PDC Instalar o Samba apt-get install samba smbclient smbfs
8 Configurar smb.conf cd /etc/samba rm smb.conf vim smb.conf Configuração do arquivo smb.conf #Configurações globais do servidor [global] #Nome do domínio ou grupo de trabalho workgroup = IFC #Nome que será visível na rede netbios name = servidor #Descrição do servidor server string = samba PDC #Definição como controlador do domínio domain master = yes #Logon no domínio domain logons = yes #Indica que os usuários vão utilizar script de logon logon script = netlogon.bat #%L indica o nome do servidor, %U o nome do usuário que fez o logon e mapeia o usuário # \\nomeservidor\profiles\usuario logon home = \\%L\%U\.profiles #Essa linha abaixo mapeia \\nomeservidor\profiles\usuario logon path = \\%L\profiles\%U #Exige autenticação para acesso ao domínio e compartilhamentos security = user #As senhas serão criptografadas encrypt passwords = yes #Permite armazenar senhas encriptadas e outras informações referentes aos usuários passdb backend = tdbsam #Primeiro servidor a responder na rede preferred master = yes #Informa se o host será o master browser da rede local local master = yes #Quanto maior for o valor, maior será o servidor na rede os level = 100 #Permite que o samba seja o servidor wins da rede wins support = yes #Configurações de login dos usuários [net logon] #Comentário do compartilhamento comment = Serviço de logon #Local onde estão os scripts dos usuários path = /var/samba/netlogon
9 #Define permissão apenas de leitura read only = yes #Define se o compartilhamento será visível ou não no ambiente de rede browseable = no #Configurações das pastas pessoais dos usuários [homes] #Comentário sobre o compartilhamento comment = pasta pessoal #Válido somente para usuários cadastrados valid users = %S #Permissão apenas para o dono create mask = 0700 #Permissão apenas para o dono directory mask = 0700 #Não acessível via browser browseable = no #Configuração da pasta de perfis [profiles] #Caminho da pasta path = /var/profiles #Permissão de escrita writeable = yes #Não acessível via browser browseable = no #Permissão apenas para o dono create mask = 0600 #Permissão apenas para o dono directory mask = 0700 Testar o arquivo testparm Cadastro do usuário root passwd root (senha = root) smbpasswd a root (senha = root) Cadastro do usuário user01 no samba smbpasswd a user01 (senha = 123)
10 Criação das pasta e configurações das permissões mkdir -p /var/samba/netlogon chmod 775 /var/samba/netlogon mkdir /home/user01/profile.pds chown -R user01:user01 /home/user01/profile.pds mkdir /var/profiles chmod 1777 /var/profiles #Criar e configurar o netlogon.bat cd /var/samba/netlogon vim netlogon.bat #Configuração do arquivo netlogon.bat net use h: /HOME net use x:\\servidor\arquivos /yes Adicionando clientes Windows ao Samba useradd -d /dev/null -s /bin/false virtual$ passwd -l virtual$ smbpasswd -a -m virtual Parando, iniciando ou reiniciando o Samba /etc/init.d/smbd start /etc/init.d/smbd stop /etc/init.d/smbd restart 6 CONFIGURANDO PROXY COM SQUID Instalar o Squid apt-get install squid Configurar squid.conf cd /etc/squid rm squid.conf vim squid.conf Configuração do squid.conf #Especifica a porta em que o squid vai trabalhar 3128 é a porta padrão http_port 3128
11 #Aqui vai o nome do servidor visible_hostname servidor #Adicionando esta linha as mensagens de erros aparecerão em português error_directory /usr/share/squid/errors/pt-br #Quantidade de memória RAM dedicada ao cache cache_mem 20MB #Tamanho máximo dos arquivos que podem se guardados no cache da memória maximum_object_size_in_memory 32KB #Tamanho máximo dos aquivos que podem ser guardados em disco maximum_object_size 512 MB #Tamanho mínimo dos aquivos que podem ser guardados em disco minimum_object_size 0 KB #Quando os arquivos no cache alcançarem 95% serão descartados até ficarem abaixo de 90% cache_swap_low 90 cache_swap_high 95 #A linha abaixo indica a pasta onde o squid armazena os arquivos do cache. O primeiro valor é a quantidade de espaço no HD, os dois valores seguintes são o número de pastas, sendo no caso 16 pastas com 256 subpastas. cache_dir ufs /var/spool/squid 1024 16 256 #Arquivo onde o squid guardará os logs de acesso cache_access_log /var/log/squid/access.log #Permite qualquer IP com qualquer máscara acl all src 0.0.0.0/0.0.0.0 #Gerenciar cache das portas das portas que podem ser acessadas acl manager proto cache_object #Permite usar o proxy localmente (navegar usando o prórpio servidor). acl localhost src 127.0.0.1/255.255.255.255 #As duas próximas linhas limitam as portas que podem ser utilizadas através do proxy acl SSL_ports port 443 563 acl Safe_ports port 21 80 443 563 70 210 488 59 777 901 1025-65535 #Exclui os objetos que foram armazenados no cache do squid acl purge method PURGE #Acl para conexões acl CONNECT method CONNECT #Nega acesso http para manager http_access allow manager localhost #Nega acesso ao manager http_access deny manager #Permite a exclusão de objetos do cache do squid http_access allow purge localhost http_access deny purge #Nega acesso a todas as portas que não estão listadas em safe ports http_access deny!safe_ports #Nega acesso a todas as portas SSL diferente das declaradas http_access deny CONNECT!SSL_ports
#Estas linha tratam do bloqueio por url. Todas as urls listadas no arquivo bloqueio, serão bloqueadas acl bloqueio url_regex -i /etc/squid/bloqueio http_access deny bloqueio #Nega acesso de fora da rede local acl redelocal src 192.168.0.0/24 http_access deny!redelocal #Autentica os usuários no samba auth_param basic realm servidor autenticate_ip_ttl 5 minutes auth_param basic program /usr/lib/squid/smb_auth -W IFC -U 192.168.0.1 acl autenticados proxy_auth REQUIRED http_access allow autenticados #Permite o host local http_access allow localhost #Permissão para a rede local http_access allow redelocal #Nega qualquer acesso não declarado nas regras acima http_access deny all Criar sistema de cache squid -z Configurar proxyauth cd /var/samba/netlogon vim proxyauth Configuração do arquivo proxyauth allow Criação do arquivo com sites bloqueados cd /etc/squid vim bloqueio Conteúdo do arquivo bloqueio www.mercadolivre.com.br www.comprafacil.com.br www.redefurnas.com.br redefurnas.com.br www.antracnose.com.br antracnose.com.br www.vagalume.com.br 12
13 www.superdownloads.com.br superdownloads.com.br www.baixaki.com.br www.orkut.com orkut.com www.filehippo.com filehippo.com youtube.com 4shared.com Iniciar, para ou reiniciar o Squid /etc/init.d/squid stop /etc/init.d/squid start /etc/init.d/squid restart 7 SERVIDOR DNS COM BIND Instalar servidor Bind apt-get install bind9 configurar o arquivo named.conf.local cd /etc/bind vim named.conf.local Configuração do arquivo named.conf.local #Nesta linha vai o domínio que está sendo configurado zone "ronaldo.com.br" IN { #Esta linha indica que este é o servidor responsável pelo domínio type master; #Esta linha indica o arquivo onde vais as configurações do domínio file "/etc/bind/zonas/db.ronaldo"; #Esta linha indica quais servidores terão permissão para fazer transferência de zona allow-transfer {192.168.0.1; }; }; zone "0.168.192. in-addr.arp" {: type master; file "/etc/bind/zonas/rev.ronaldo"; }; Pasta zonas mkdir /etc/bind/zonas cd /zonas Cópia de arquivo de configuração
14 cp /etc/bind/db.empty /etc/bind/zonas/db.ronaldo Configurar db.ronaldo vim db.ronaldo Configuração do arquivo db.ronaldo $ 86400 #A @ indica a origem do domínio e o inicio da configuração, IN é abreviação de internet e SOA é abreviação de start of autority. Depois vem o nome do servidor e o e-mail do administrador @ IN SOA servidor.ronaldo.com.br. email.ronaldo.com.br. ( #Indica a versão do mapa que está sendo utilizada 2 ; Serial #Tempo que o servidor secundário deve aguardar para se atualizar no servidor primário 604800 ; Refresh #Caso o servidor principal esteja fora do ar este é o tempo que o servidor secundário aguarda antes de tentar atualizar novamente 86400 ; Retry #Indica depois de quanto tempo o servidor secundário deve desistir de tentar uma sincronização 2419200 ; Expire #O cache negativo armazena informações sobre recursos que não existem 86400 ) ; Negative Cache TTL ; #O NS indica que é um servidor autoritativo @ IN NS servidor.ronaldo.com.br. #O MX indica servidor de correio (mail exchanger) IN MX 10 servidor.ronaldo.com.br. ronaldo.com.br A 192.168.0.1 servidor A 192.168.0.1 www A 192.168.0.1 Configurar rev.ronaldo vim rev.ronaldo Configuração do arquivo rev.ronaldo @ IN SOA servidor.ronaldo.com.br. e-mail.ronaldo.com.br. ( 20111118011; 3H; 15M; 1W; 1D) NS servidor.ronaldo.com.br. 1 PTR ronaldo.com.br.
15 1 PTR servidor Configurar arquivo hosts cd /etc vim hosts Configuração do arquivo hosts 127.0.0.1 localhost 127.0.1.1 servidor 192.168.0.1 servidor.ronaldo.com.br servidor Configurar o arquivo hostaname cd /etc vim hostname Configuração do arquivo hostname servidor Iniciar para ou reiniciar o serviço /etc/init.d/bind9 stop /etc/init.d/bind9 start /etc/init.d/bind9 restart Testar o DNS No servidor --> dig ronaldo.com.br No windows --> nslookup ronaldo.com.br
16 8 CONCLUSÃO Para a realização do trabalho foram necessários além do conhecimento adquirido, alguma pesquisa, o que consolidou o que já se tinha aprendido e ainda acrescentou novos conhecimentos. Ao final do trabalho, feitos todos os testes pode-se verificar que todos funcionaram conforme o esperado.
17 REFERÊNCIAS MORIMOTO C. E. Servidores linux guia prático. Porto Alegre. Sul Editores, 2011. FELIX. Instalar e configurar o Squid. F2. Disponível em: <http://blog.ffelix.eti.br/servidores/instalar-e-configurar-o-squid/>. Acesso em: 27 nov. 2011. WILSON. Configuração do Samba como controlador de domínio. Infowrs consultoria e treinamento em informática. Disponível em: <http://profwilson.orgfree.com/docs/smb.conf>. Acesso em: 27 nov. 2011. DHCP.CONF. Viva o Linux. Disponível em: <http://www.vivaolinux.com.br/etc/dhcpd.confpinguimnegro>. Acesso em: 27 nov. 2011. DNS. FreeBSD Handbook. Disponível em: <http://doc.fug.com.br/handbook/networkdns.html>. Acesso em: 27 nov. 2011. ALMEIDA, R. Q. Resolução de problemas em servidores DNS. Disponível em: <http://dicas-l.com.br/sysadmin/sysadmin_20070603.php#.ttkt2vkrxxh>. Acesso em: 27 nov. 2011. SQUID.CONF. Viva o Linux. Disponível em: <http://www.vivaolinux.com.br/etc/squid.conf- 5>. Acesso em: 27 nov. 2011.