Você está na página 1de 13

Prximo: Captulo 5: Compartilhando a conexo Um dos usos mais comuns e mais simples para um servidor Linux simplesmente compartilhar

r a conexo com a internet. A vantagem de usar um servidor dedicado ao invs de simplesmente compartilhar usando o prprio modem ADSL que voc pode incluir outros servios, como um cache de pginas (Squid), filtro de contedo (DansGuardian), firewall, servidor Samba (compartilhando arquivos com a rede interna), servidor de impresso (usando o prprio Cups) e assim por diante. Em uma rede pequena ou mdia, com de 10 a 50 micros, possvel usar um nico servidor, de configurao razovel para todas estas funes. Em redes maiores, com 100 micros ou mais, isso passa a depender muito do nvel de utilizao do servidor. Por exemplo, um simples Pentium 100, com 32 MB de RAM pode compartilhar a conexo com um link de 1 a 8 megabits para um nmero indefinido de clientes. O mesmo servidor pode compartilhar uma impressora e compartilhar arquivos (servios mais pesados que simplesmente compartilhar a conexo), desde que estes servios no sejam utilizados de forma intensiva. Porm, uma configurao modesta como esta j no adequada para rodar um servidor proxy para uma rede de 50 micros, por exemplo. Uma mquina mais atual, um Sempron 3000+ com 512 MB de RAM e um HD de 7200 RPM, j pode rodar o mesmo proxy para 100 ou 200 micros com folga. Adicione 2 GB de RAM e ele poder rodar tambm um servidor de arquivos para os mesmos 200 micros. Prximo: Uma reviso sobre gerenciamento de pacotes e servios Graas aos sistemas de gerenciamento de pacotes usados nas distribuies, instalar e remover cada servidor, assim como inicializar e reinicializar cada um, ativando mudanas na configurao, tornou-se uma tarefa bastante simples. Isso permite que voc se concentre na configurao propriamente dita, deixando as tarefas mecnicas a cargo dos mantenedores. Mas, para isso, necessrio ter uma boa noo de como usar as ferramentas de gerenciamento de pacotes usadas em cada distribuio. Se voc j um usurio antigo, j deve estar careca de saber como fazer tudo isso e pode pular para o prximo tpico. Caso contrrio, continue lendo ;). As distribuies derivadas do Debian, incluindo o Ubuntu, Kurumin, Knoppix e muitos outros, utilizam o apt-get como gerenciador de pacotes. O uso do apt-get bastante simples. Ele trabalha baixando pacotes a partir dos repositrios oficiais do Debian, de forma que voc obtm sempre a verso mais atualizada. Para que o sistema funcione, preciso baixar periodicamente uma lista com os pacotes disponveis em cada servidor, permitindo que o apt-get mantenha seu banco de dados local. Isso feito usando o comando: # apt-get update Ele deve ser executado regularmente, de preferncia antes de fazer cada instalao, j que num servidor crtico trabalhar com as verses mais atuais dos pacotes, devido questo das atualizaes de segurana. Para instalar qualquer pacote pelo apt-get, use o comando "apt-get install", como em: # apt-get install apache2 O apt-get instala automaticamente todas dependncias do pacote, pedindo sua confirmao. Leia tudo antes de confirmar, pois em alguns casos raros o apt-get pode propor solues um tanto quanto desastrosas para conflitos de pacotes. Pode acontecer dele propor remover todo o KDE para instalar uma biblioteca antiga, que conflite ou substitua algum dos pacotes base, por exemplo. Mesmo em casos extremos como este, voc sempre tem a chance de abortar a instalao, basta ficar atento s mensagens ;). Para remover um pacote, use o comando "apt-get remove", como em:

# apt-get remove apache2 Para atualizar um pacote, rode o comando "apt-get update" e em seguida use o "apt-get install", como se estivesse instalando-o novamente. O apt-get sabe que o pacote j est instalado, por isso se limita a atualiz-lo, mantendo as configuraes. importante atualizar periodicamente os pacotes relacionados a servidores, por causa das atualizaes de segurana. possvel tambm atualizar de uma vez todos os pacotes do sistema. Isso s recomendvel se voc est utilizando uma distribuio baseada em uma verso estvel do Debian. Por exemplo, o Kurumin 5.0 baseado no Sarge, que foi finalizado em 2005, enquanto o Kurumin 6.2 ser baseado no Etch, cujo lanamento est planejado para o final de 2006. Para isso, use o comando: # apt-get upgrade Muitas distribuies (como o Kanotix e o Knoppix) so baseadas no Debian Sid (a verso instvel) e a maioria das verses do Kurumin so baseadas no Debian testing. Nestes casos, voc precisa tomar bastante cuidado ao rodar o "apt-get upgrade", pois as atualizaes viram um alvo em movimento. Para instalar um pacote .deb que voc baixou manualmente, use o comando "dpkg -i", como em: # dpkg -i sarg_2.0.5.dfsg-1_i386.deb Os pacotes instalados manualmente atravs do dpkg no passam pela verificao de dependncias do apt-get, abrindo margem para problemas diversos. Para que o apt-get verifique a instalao e coloque ordem na casa, recomendvel rodar logo em seguida o comando: # apt-get -f install O apt-get trabalha com dois arquivos de configurao. O principal o arquivo "/etc/apt/sources.list", onde vai a lista dos servidores utilizados. Imagine que na sua mquina o arquivo contm a linha: deb http://ftp.br.debian.org/debian etch main contrib non-free Por algum motivo, o servidor est inacessvel no momento, o que faz com que voc receba mensagens de erro ao rodar o "apt-get update" ou ao instalar pacotes. Para resolver o problema, voc precisaria apenas alterar o arquivo, especificando outro servidor, como em: deb http://ftp.us.debian.org/debian etch main contrib non-free Aqui substitumos o "br" por "us", fazendo com que passe a ser utilizado o mirror dos EUA. Os servidores disponveis so identificados pelos cdigos de pas, como "de", "uk", "es", "it", etc. No caso do Ubuntu, existe uma pegadinha. A maioria dos pacotes, incluindo quase todos os pacotes para servidores esto concentrados no "Universe", um repositrio extra que vem desabilitado por padro. Antes de mais nada, voc precisa editar o arquivo "/etc/apt/sources.list", descomentando a linha referente ao Universe, e rodar o "apt-get update". No Fedora usado por padro o "yum", que funciona de forma bem similar ao apt-get, baixando os pacotes da Internet, junto com as dependncias. Existem muitas diferenas entre o Fedora e o Debian, uma delas o formato dos pacotes utilizados: o Fedora utiliza pacotes .rpm, enquanto o debian utiliza pacotes .deb. Ambos tambm utilizam repositrios separados, com pacotes construdos especificamente para cada uma das duas distribuies, de forma que existem algumas diferenas nos nomes dos pacotes e arquivos de configurao usados, que aponto ao longo do livro. Voltando ao uso do yum, comece baixando as listas dos pacotes disponveis, usando o comando: # yum check-update

Ele funciona de forma anloga ao "apt-get update", com a diferena que de a lista dos servidores usados no vai no arquivo sources.list, mas dividida em diversos arquivos (um para cada servidor usado), organizados na pasta "/etc/yum.repos.d/". Para instalar um pacote, use o comando "yum install", como em: # yum install wpa_supplicant Para remov-lo posteriormente, use: # yum remove wpa_supplicant O yum possui tambm um recurso de busca, que bastante til quando voc est procurando por um pacote, mas no sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes em relao a outras distribuies. Use o comando "yum search", seguido por alguma palavra ou expresso, que faa parte do nome do pacote ou descrio, como em: # yum search apache Ele retorna um relatrio contendo todos os pacotes relacionados, incluindo o texto de descrio de cada um. Para atualizar um pacote, use o comando "yum update", como em: # yum update wpa_supplicant Se usado sem especificar um pacote, o "update" vai atualizar de uma vez s todos os pacotes do sistema, de forma similar ao "apt-get upgrade" do Debian: # yum update Existe ainda o comando "yum upgrade", que um pouco mais incisivo, incluindo tambm pacotes marcados como obsoletos (que no existem mais na verso atual). Ele til em casos em que necessrio atualizar uma verso antiga do Fedora: # yum upgrade O yum utilizado tambm em distribuies derivadas do Fedora, ou do Red Hat Enterprise, como o CentOS. Embora tambm seja derivado do Red Hat, o Mandriva utiliza um gerenciador prprio, o "urpmi", que tambm bastante simples de usar. Para instalar um pacote, voc usa o comando "urpmi pacote", como em: # urpmi samba Para remov-lo, use o comando "urpme", como em: # urpme samba Um dos pontos fortes do Mandriva que todo o gerenciamento de pacotes pode ser feito usando as opes dentro do Mandriva Control Center, o que permite dispensar a linha de comando para a maioria das operaes. Nas distribuies derivadas do Debian, voc tem algo similar usando o Synaptic, que (quando no vem instalado por padro) pode ser instalado via apt-get

Para instalar um pacote baixado manualmente, usado (tanto no Fedora, quanto no Mandriva) o comando "rpm -U", que tem uma funo anloga ao "dpkg -i" do Debian. Para us-lo, voc deve acessar a pasta onde foi baixado o arquivo, ou incluir o caminho completo at ele (lembre-se de que voc pode usar a tecla Tab para completar o nome do arquivo): # rpm -U webmin-1.270-1.noarch.rpm Se quiser ver uma barra de progresso e detalhes da instalao, adicione os parmetros "vh", como em: # rpm -Uvh webmin-1.270-1.noarch.rpm Temos, em seguida, a questo dos servios: Servidores como o Apache tambm so chamados de "daemons" ou "servios de sistema", traduo do termo "system services". Ambos os termos indicam um programa que fica residente, respondendo a requisies de outros micros ou executando tarefas de forma automatizada. o caso no apenas de servidores como o Squid, Samba, Postfix e tantos outros, mas tambm de programas, como o Cron, e de ferramentas de deteco de hardware, como o Udev e o Hotplug. A tarefa de iniciar, parar e reiniciar estes servios automatizada por um conjunto de scripts localizados na pasta "/etc/init.d" (ou "/etc/rc.d/init.d", dependendo da distribuio usada). Nas distribuies derivadas do Debian, voc inicia um servio usando o comando "/etc/init.d/nome start", como em: # /etc/init.d/apache2 start Para parar, usado o mesmo comando, com o parmetro "stop": # /etc/init.d/apache2 stop Muitos servios suportam tambm os parmetros "restart" e "reload" (ou "force-reload"), usados para ativar mudanas na configurao. A diferena entre os trs que o "restart" simplesmente uma combinao do "stop" e "start", enquanto o ""reload ou "force-reload" (quando disponveis) fazem com que o servio releia o arquivo de configurao, porm sem interromper sua atividade. Isso importante no caso de um servidor web com muitos acessos, por exemplo. Veremos os nomes de cada servio ao longo do livro. Por enquanto, preocupe-se apenas com os comandos de gerenciamento. Temos ainda o comando "update-rc.d", que permite definir se um servio vai ser ativado

ou no durante o boot. Imagine o caso de um servidor onde voc utiliza um servidor FTP para disponibilizar arquivos esporadicamente, ativando-o e desativando-o manualmente. Ao instalar o Proftpd (o servidor FTP que aprenderemos a configurar mais adiante) ele configurado para subir automaticamente durante o boot. Para desativar a inicializao automtica, voc usaria o comando: # update-rc.d -f proftpd remove Se mudar de idia e quiser que ele volte a ser inicializado durante o boot, use: # update rc.d -f proftpd defaults No caso das distribuies derivadas do Fedora (e tambm no Mandriva), usamos os comandos "service" e "chkconfig". O primeiro permite ativar, desativar e reiniciar um servio, como em: # service sshd start # service ssh stop # service ssh restart ... enquanto o segundo permite definir se ele vai ser inicializado ou no durante o boot, de forma anloga ao "update-rc.d" do Debian. Para fazer com que o SSH seja ativado durante o boot, voc usaria: # chkconfig sshd on E para desativ-lo, usaria: # chkconfig sshd off A maioria das distribuies se enquadra em um desses dois sistemas. A principal exceo o Slackware. Ele usa uma estrutura simplificada, na qual, para ativar ou desativar a inicializao de um servio, voc simplesmente adiciona ou retira a permisso de execuo do script correspondente, dentro da pasta "/etc/rc.d". Para ativar o SSH voc usaria: # chmod +x /etc/rc.d/rc.ssh E para desativ-lo, usaria: # chmod -x /etc/rc.d/rc.ssh Para iniciar ou parar o servio, voc executa o mesmo script, usando os parmetros "start" ou "stop", como em: # /etc/rc.d/rc.ssh start # /etc/rc.d/rc.ssh stop Prximo: Compartilhando Do ponto de vista da segurana e at mesmo da facilidade de configurao, sempre recomendvel usar um servidor com duas placas de rede, separando o trfego proveniente da internet do trfego da rede local. Com duas placas separadas, fica mais fcil criar as regras de firewall adequadas para bloquear acessos provenientes da internet e, ao mesmo tempo, permitir o trfego vindo da rede local. Se voc acessa via ADSL, recomendvel manter o modem configurado como bridge ao invs de configur-lo como roteador. Dessa forma, o servidor recebe todas as portas de entrada, permitindo que voc acesse o servidor remotamente via SSH (muito til para prestar suporte remoto em servidores instalados por voc) ou disponibilize um servidor web ou FTP. Embora acabe sendo mais trabalhoso, nada impede que voc configure o modem como roteador e use o servidor para novamente compartilhar a conexo recebida do modem, acrescentando os demais servios. Nestes casos, voc vai precisar configurar o modem para direcionar ao servidor as portas que devem ficar abertas para a internet, como a porta 22, usada pelo SSH (caso voc pretenda administrar o servidor remotamente), por exemplo, o que configurado na interface de administrao do modem. Comece configurando a rede local, usando uma das faixas de endereos IP reservadas a redes locais, como, por exemplo, 192.168.0.x, onde o servidor fica com o IP 192.168.0.1 e os micros da rede interna recebem endereos IP seqenciais, de 192.168.0.2 em diante. No

se esquea de colocar o endereo IP do servidor (192.168.0.1 no exemplo) como gateway padro na configurao dos clientes. A configurao de gateway padro no servidor fica em branco, pois o gateway padro do servidor vai ser definido ao configurar a conexo com a internet.

Verifique se possvel dar ping nos PCs da rede interna (ex: ping 192.168.0.2) a partir do servidor. Se estiver usando Linux nas estaes, experimente ativar o servidor SSH em uma

das estaes e tentar se conectar a ela a partir do servidor.Da primeira vez que configurar a rede, use endereos IP estticos para todas as estaes, pois assim mais fcil detectar problemas diversos. Depois de tudo funcionando, mude para configurao via DHCP se preferir. Se alguma das estaes estiver inacessvel, verifique se no existe um firewall ativo, verifique o cabo, troque a porta usada no hub, etc. Com a rede local funcionando, o prximo passo conectar o servidor internet. prefervel deixar para configurar a placa da internet depois da placa da rede local, pois isso evita alguns erros comuns. Por exemplo, se voc configurar a conexo com a web e depois configurar a rede local, colocando um endereo qualquer no campo "default gateway", o gateway informado na configurao da rede local vai substituir o gateway do provedor (definido ao conectar na internet), fazendo com que a conexo deixe de funcionar. Rode o comando "ifconfig" para verificar qual a Interface ligada internet. Lembre-se de

que ao conectar via ADSL com autenticao ou acesso discado, a interface eth0 ou eth1 substituda pela interface virtual ppp0. Em seguida, temos os comandos que compartilham a conexo. No Linux, o compartilhamento feito usando o Iptables, o firewall integrado ao Kernel. Na verdade, o Iptables expandido atravs de mdulos, por isso suas funes vo muito alm das de um firewall tradicional. Para ativar o compartilhamento, so necessrios apenas trs comandos: # modprobe iptable_nat # echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Substitua o "eth0" pela placa da internet. Este comando simplesmente compartilha a conexo proveniente da placa da internet com todas as demais placas de rede espetadas no servidor, por isso no necessrio especificar a placa de rede local. O primeiro comando ativa o "iptable_nat", o mdulo do Iptables responsvel por oferecer suporte ao roteamento de pacotes via NAT. O segundo ativa o "ip_forward", o mdulo responsvel pelo encaminhamento de pacotes, utilizado pelo mdulo iptable_nat. Finalmente, o terceiro cria uma regra de roteamento, que orienta o servidor a direcionar para a internet todos os pacotes (recebidos dos clientes) que se destinarem a endereos que no faam parte da rede local (ou seja, qualquer coisa fora da faixa 192.168.0.x). A partir da, o servidor passa a ser o gateway da rede. Nem todas as distribuies instalam o executvel do Iptables por padro. No Mandriva, por exemplo, ele instalado ao marcar a categoria "firewall" durante a instalao. Para instal-lo posteriormente, use o comando "urpmi iptables". Em muitas distribuies com o Kernel 2.6, necessrio usar um quarto comando ao compartilhar uma conexo ADSL. Este comando ajusta os tamanhos dos pacotes recebidos do modem ao MTU usado na rede local. Note que, apesar da diagramao do livro quebrar o comando em duas linhas, trata-se de um nico comando: # iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m \ tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu A barra invertida ("\") faz com que o shell no interprete o caractere seguinte (no caso, a quebra de linha), permitindo quebrar o comando em duas linhas, sem causar um erro. Ele um truque que permite incluir comandos longos demais para caberem na pgina, divididos em duas linhas ou mais. Na verdade, o comando forma uma nica linha. Adicione os comandos em um dos scripts de inicializao do sistema, para que eles sejam executados automaticamente durante o boot. No Debian e derivados, coloque-os no final do arquivo "/etc/init.d/bootmisc.sh".No Fedora, Mandriva e outros derivados do Red Hat, use o arquivo "/etc/rc.d/rc.local". Esta receita genrica, deve funcionar em qualquer distribuio. Lembre-se de substituir "eth0" no comando por "ppp0", caso voc conecte via ADSL com autenticao (PPPoE) e precise usar o pppoeconf ou o adsl-setup para estabelecer a conexo. Em caso de dvida, cheque qual a interface usando o comando "ifconfig". Uma segunda opo, mais elegante, porm mais complicada, criar um servio de sistema, que pode ser ativado e desativado. Neste caso, crie o arquivo de texto "/etc/init.d/compartilhar". Dentro dele vo as linhas abaixo. Observe que, novamente, o comando para ajustar o MTU dos pacotes em conexes via ADSL forma uma nica linha:
#!/bin/bash iniciar(){ modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss \ 1400:1536 -j TCPMSS --clamp-mss-to-pmtu } parar(){ iptables -F -t nat }

case "$1" in "start") iniciar ;; "stop") parar ;; "restart") parar; iniciar ;; *) echo "Use os parmetros start ou stop" esac

Este um shell script que aceita trs funes: start, stop e restart, executando dentro de cada uma os comandos que compartilham e param o compartilhamento da conexo. Esta estrutura similar usada nos demais scripts de inicializao do sistema, como os do Apache, Samba, Squid e outros servios. Transforme-o em um arquivo executvel, usando o comando: # chmod +x /etc/init.d/compartilhar A partir da, voc pode iniciar e parar o compartilhamento usando os comandos: # /etc/init.d/compartilhar start # /etc/init.d/compartilhar stop Em muitas distribuies voc pode usar o comando "service", que simplifica o comando. Neste caso, voc poderia digitar apenas "service compartilhar start". Para que a conexo seja ativada durante o boot, adicione o comando "/etc/init.d/compartilhar start" dentro do arquivo "/etc/init.d/bootmisc.sh" ou "/etc/rc.d/rc.local", de acordo com a distribuio usada. Se preferir, voc pode compartilhar usando uma das ferramentas disponveis nas distribuies. No Kurumin use o "Iniciar > Internet > Compartilhar conexo e firewall > Compartilhar conexo via modem ou ADSL PPPoE". No Mandriva voc pode usar o DrakGw, encontrado na seo "Rede e Internet" do Mandriva Control Center.

Prximo: Configurando um servidor DHCP

Hoje em dia quase todas as redes utilizam algum tipo de servidor DHCP. Em geral, eles so ativados automaticamente ao compartilhar a conexo ou junto com algum outro servio, de forma que voc acaba no aprendendo muita coisa sobre a sua configurao. De um modo geral, o trabalho de um servidor DHCP bastante simples. Ele responde aos pacotes de broadcast das estaes, enviando um pacote com um dos endereos IP disponveis e os demais dados da rede. Os pacotes de broadcast so enviados para o ltimo endereo da rede, como em 192.168.1.255 ou 255.255.255.255, e so recebidos por todos os micros da rede. Periodicamente o servidor DHCP verifica se as estaes ainda esto l, exigindo uma renovao do "aluguel" do endereo IP (opo "lease time"). Isso permite que os endereos IP sejam gastos apenas com quem realmente estiver online, evitando que os endereos disponveis se esgotem. No Linux o servio de DHCP exercido pelo dhcp3-server, que nas distribuies baseadas no Debian pode ser instalado atravs do comando: # apt-get install dhcp3-server Os comandos "/etc/init.d/dhcp3-server start" e "/etc/init.d/dhcp3-server stop" gerenciam a atividade do servio. No Fedora o pacote com o servidor dhcp se chama simplesmente "dhcp" e pode ser instalado atravs do yum. Uma vez instalado, use os comandos "service dhcpd start" e "service dhcpd stop". No caso do Mandriva, o pacote se chama "dhcpd". Em qualquer um dos trs casos, o arquivo de configurao o dhcpd.conf. No Debian, o caminho completo para ele "/etc/dhcp3/dhcpd.conf" e no Mandriva e Fedora apenas "/etc/dhcpd.conf". Apesar dessas diferenas nos nomes, o que interessa mesmo a configurao do arquivo e esta sim igual, independentemente da distribuio. Este um exemplo de arquivo de configurao bsico:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.201; option routers 192.168.0.10; option domain-name-servers 200.177.250.10,200.204.0.10; option broadcast-address 192.168.0.255; }

A opo " default-lease-time" controla o tempo de renovao dos endereos IP. O "600" indica que o servidor verifica a cada dez minutos se as estaes ainda esto ativas. Se voc tiver mais endereos IP do que mquinas, os endereos IP das estaes raramente vo precisar mudar. Mas, no caso de uma rede congestionada, o "max-lease-time" determina o tempo mximo que uma estao pode usar um determinado endereo IP. Isso foi planejado para ambientes onde haja escassez de endereos IP, como, por exemplo, em um provedor de acesso, onde sempre existem mais clientes do que endereos IP disponveis e se trabalha contando que nem todos vo ficar conectados simultaneamente. Em condies normais, essas duas opes no so muito importantes. O que interessa mesmo o bloco que vai abaixo, onde ficam as configuraes da rede. A opo "range" determina a faixa de endereos IP que ser usada pelo servidor. Se voc utiliza a faixa de endereos 192.168.0.1 at 192.168.0.254, por exemplo, pode reservar os endereos de 192.168.0.1 a 192.168.0.100 para estaes configuradas com IP fixo e usar os demais para o DHCP, ou ento reservar uma faixa especfica para ele, de 192.168.0.100 a 192.168.0.201, por exemplo. O importante usar faixas separadas para o DHCP e os micros configurados com IP fixo. Na "option routers" vai o endereo do default gateway da rede, ou seja, o endereo do servidor que est compartilhando a conexo. No necessrio que o mesmo micro que est compartilhando a conexo rode tambm o servidor DHCP. Pode ser, por exemplo, que na sua rede o gateway seja o prprio modem ADSL que est compartilhando a conexo e o DHCP seja um dos PCs.

A opo "option domain-name-servers" contm os servidores DNS que sero usados pelas estaes. Ao usar dois ou mais endereos, eles devem ser separados por vrgula, sem espaos. Em geral voc vai usar os prprios endereos DNS do provedor, a menos que voc configure um servidor DNS interno na sua rede, que pode ser instalado no prprio micro que est compartilhando a conexo e rodando o DHCP. Estes servios consomem poucos recursos da mquina. O servidor DNS mais usado no Linux o Bind. No Kurumin ou Debian em geral, voc mata o coelho com um "apt-get install bind". Este servidor DNS pode ser configurado para implementar um sistema de domnios e subdomnios na sua rede, mas o uso mais comum simplesmente fazer um "cache", onde o servidor DNS simplesmente repassa as requisies para um dos 13 root servers da internet e vai armazenando os endereos que j foram acessados. Voc pode substituir o arquivo de configurao padro por este modelo, ou edit-lo conforme a necessidade. Ao fazer qualquer alterao no arquivo, voc deve reiniciar o servidor DHCP usando o comando: # /etc/init.d/dhcp3-server restart (ou "service dhcp restart" no Fedora) Sempre que configurar um servidor com duas placas de rede, importante que o servidor DHCP seja configurado para escutar apenas na placa da rede local. No Debian, esta configurao vai no arquivo "/etc/default/dhcp3-server". Procure pela linha: INTERFACES="" ... e adicione a placa que o servidor DHCP deve escutar, como em: INTERFACES="eth0" Para que a configurao entre em vigor, basta reiniciar o servio novamente. Prximo: DHCP com IP fixo Mais uma opo interessante no servidor DHCP a possibilidade de relacionar um determinado endereo IP com o endereo MAC de certo micro da rede. Isso faz com que ele sempre obtenha o mesmo endereo a partir do servidor DHCP, como se tivesse sido configurado para usar IP fixo. Esse recurso usado em redes de terminais leves, para que o servidor "reconhea" os terminais e possa enviar a configurao adequada a cada um, mas pode ser usado em outras situaes, como, por exemplo, em uma pequena rede, onde alguns micros compartilham impressoras e arquivos e, por isso, no podem ficar mudando de endereo IP a cada reboot. Configurar o servidor DHCP para dar a eles sempre o mesmo IP pode ser mais prtico que configur-los para usar IP fixo manualmente, pois eles continuaro recebendo o mesmo IP mesmo que voc reinstale o sistema (pois, apesar da mudana de sistema operacional, a placa de rede continuar a mesma). Veja o caso de quem usa live-CDs como o Kurumin, por exemplo. Para usar este recurso, adicione uma seo como esta para cada host, no final do arquivo dhcpd.conf, depois de todas as linhas de configurao, mas antes de fechar a chave (}): host kurumin { hardware ethernet 00:0F:B0:55:EA:13; fixed-address 192.168.0.202; } Veja que a seo comea com o nome da mquina, "kurumin" no exemplo. Em seguida vo, entre chaves, o endereo MAC da placa de rede (que voc pode verificar atravs do comando "ifconfig") e o endereo IP que a estao deve usar. Um exemplo de arquivo completo, incluindo a configurao de IP fixo para duas mquinas seria: ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.100 192.168.0.201; option routers 192.168.0.10; option domain-name-servers 200.177.250.10,200.204.0.10; option broadcast-address 192.168.0.255; host kurumin { hardware ethernet 00:0F:B0:55:EA:13; fixed-address 192.168.0.202; } host mandriva { hardware ethernet 00:0F:B0:45:BC:17; fixed-address 192.168.0.203; } } Em situaes normais, voc nunca deve manter mais de um servidor DHCP ativo ao mesmo tempo, principalmente se ambos estiverem configurados para dar endereos dentro da mesma faixa. Caso contrrio, comeam a surgir problemas com micros configurados com o mesmo IP (cada um dado por um DHCP diferente) e assim por diante. Mas, em algumas situaes, uma configurao com dois servidores DHCP pode funcionar, naturalmente depois de bem testada. O dhcp3-server usado no Linux bastante rpido, por isso (desde que a configurao no seja muito complexa) costuma responder antes dos servidores DHCP usados nos servidores Windows e na maioria dos modems ADSL, o que pode ser usado a seu favor. Imagine um caso comum: uma rede de 10 ou 20 micros, com um ADSL de 1 megabit, compartilhado pelo prprio modem. Para melhorar o desempenho da rede, voc resolve implantar um servidor com o Squid configurado para trabalhar como um proxy transparente, alm de um servidor DNS prprio e DHCP. Como este "servidor" o seu prprio micro, que precisa ser desligado de vez em quando, voc decide manter a rede da forma que est, com o modem compartilhando a conexo e o seu micro funcionando como um segundo gateway, dentro da rede local. Voc quer que a rede continue funcionando mesmo quando seu micro precisar ser desligado por um certo tempo, por isso mantm o servidor DHCP do modem ativo, junto com o servidor DHCP instalado no seu micro. No seu caso, o Bind mais rpido que o DHCP do modem. Por isso, enquanto ele est ligado, os micros da rede local so configurados para acessar atravs dele, passando pelo proxy transparente. Quando ele desligado, o modem ADSL passa a responder as chamadas e os micros passam a ser configurados para acessar diretamente atravs dele ( preciso reconfigurar os clientes via DHCP para que eles obtenham a configurao a partir do modem e passem a utiliz-lo como gateway). A rede continua funcionando mesmo que seu micro seja desconectado definitivamente. Note que isso tecnicamente errado e s funciona em redes pequenas, onde todos os micros so ligados ao mesmo hub ou switch. Quanto maior a rede, mais imprevisvel se torna o comportamento dos servidores DHCP e mais importante torna-se manter apenas um ativo. Prximo: Compartilhar a conexo usando uma nica placa de rede Se voc est usando um notebook ou barebone, com uma placa onboard e sem slots de expanso, existe a possibilidade de compartilhar a conexo usando uma nica placa de rede, utilizando uma placa de rede virtual. Normalmente, a topologia para compartilhar a conexo ligar o modem ADSL/Cabo na placa eth0 do servidor, conectar a placa eth1 do mesmo servidor no hub/switch, juntamente com as demais estaes. Ao compartilhar usando uma nica placa, todo mundo passa a ser conectado diretamente ao hub/switch, inclusive o modem. O servidor configurado para ter duas placas de rede "lgicas", uma para se conectar na internet e outra para a rede local.

Uma dica que os modems ADSL geralmente utilizam um cabo de rede cross-over, j que so feitos para serem conectados diretamente a um PC e no ao hub. Nestes casos, voc precisa ligar o modem na porta up-link do hub. Isso normalmente no necessrio ao usar um switch, pois eles so capazes de detectar o cabo cruzado e corrigir o sinal via software. O primeiro passo se conectar normalmente internet no servidor, usando as configuraes de sempre. A partir do momento em que ele estiver acessando, crie o alias para a placa de rede "lgica" que o conectar aos micros da rede local, usando o comando: # ifconfig eth0:1 192.168.0.1/24 Isso far com que o servidor passe a se comportar como se tivesse duas placas de rede, uma ligada ao modem ADSL e outra ligada rede local, respondendo no endereo 192.168.0.1 (voc pode trocar por outro se preferir). O "/24" indica a configurao da mscara de subrede, equivale a digitar "255.255.255.0". Para que isso funcione no Debian e algumas distribuies derivadas dele, preciso instalar o pacote "net-tools" (apt-get install nettools). Compartilhe a conexo da forma usual, configure os clientes da rede e eles j sero capazes de navegar. Lembre-se de que um alias para a placa de rede no o mesmo que uma placa de rede fsica espetada na placa-me. Por isso, o utilitrio para compartilhar a conexo includo na sua distribuio pode ter problemas para trabalhar desta forma. Se por acaso ele falhar, use os quatro comandos para compartilhar diretamente atravs do Iptables que j vimos. Compartilhar a conexo usando uma nica placa de rede relaxa um pouco a segurana da rede. Embora o modem ADSL fique conectado diretamente ao hub, ningum na internet ser capaz de enxergar os micros da rede local, pois eles utilizaro uma faixa de IPs invlida, como 192.168.0.x ou 10.0.0.x. Voc ainda pode adicionar um firewall "fecha tudo" no servidor, para que ele no responda a pings, feche todas as portas, etc. O problema que com o modem ADSL ligado diretamente ao hub, algum que consiga obter acesso configurao do modem poderia ganhar acesso aos micros da rede local atravs dele. Os modems ADSL no so apenas dispositivos burros que fazem a converso analgico/digital, eles possuem vrios recursos para rotear pacotes, criar vrios tipos de filtros e, em muitos casos, at tneis VPN. As empresas de telefonia e provedores geralmente protegem as configuraes do modem com um a senha para que o usurio no possa ficar brincando com elas, mas em geral usam a mesma senha em milhares de modems. Em alguns casos, o modem vem aberto para aceitar conexes da web, protegido apenas pela senha, sem falar que por terem tantos recursos sempre existe a possibilidade de surgirem bugs diversos de segurana. Pense no

modem ADSL como um PC vulnervel, que nunca recebe atualizaes de segurana. Se algum consegue obter acesso configurao do modem, pode ganhar acesso aos micros da rede local que estaro conectados diretamente a ele. Este o grande problema. Usando duas placas de rede ainda seria preciso passar pelo servidor de compartilhamento, que pode ser protegido com um bom firewall. Ao conectar o modem diretamente ao hub, esta linha de proteo perdida.

Você também pode gostar