Ir para conteúdo
Fórum Script Brasil

Hayxonz

Membros
  • Total de itens

    19
  • Registro em

  • Última visita

Tudo que Hayxonz postou

  1. Plano Econômico: Configurações • 100 MB Espaço • 2 GB Tráfego • PHP, MySQL • Recursos Ilimitado • Cpanel XP R$ : 8,90 Plano Básico: Configurações • 200 MB Espaço • 5 GB Tráfego • PHP, MySQL • Recursos Ilimitado • Cpanel XP R$ : 13,90 Plano Avançado : Configurações • 300 MB Espaço • 12 GB Tráfego • PHP, MySQL • Recursos Ilimitado • Cpanel XP R$ : 17,90 www.navegahost.net < Se não gostar do Host devolvemos o dinheiro.
  2. Ficou bom.. mais faltou um pouco de harmonia e as fontes estão muito escandalosas.. tenta por algo mais discreto melhor e muito ;)
  3. e um tuto bem interessante dá uma ideia de profissional.. vlw.
  4. Hayxonz

    Screenshot

    Linux Ubuntu http://images3.orkut.com/images/album/1/564/6828564.jpg
  5. se não resolver tenta reinstalar deu IE pois aqui dava esse erro reinstalei voltou ao normal ;)
  6. webtutoriais e o melhor site para começar no photoshop. recomendo ;)
  7. Kurumin Linux 6.0 O Kurumin é talvez a distribuição Linux mais simpática e fácil de usar. Foi desenvolvida por Carlos E. Morimoto, é totalmente em português e roda direto do CD, não precisa de instalação. É claro que você precisa ter um gravador de CDs para gravar o Kurumim, caso contrário não adianta fazer o download. Se quiser, você também pode instalar o Kurumin no computador. A instalação no HD é muito simples, já que o Hardware é detectado automaticamente durante a inicialização do sistema. A cópia dos arquivos demora menos de 4 minutos num micro atual e depois de instalado o sistema de comporta exatamente da mesma maneira que ao rodar direto do CD, só que agora mais rápido. O Kurumin já inclui drivers para modems Lucent e Agere, PC-tel onboard e alguns outros modelos, suporte a vários formatos de vídeo, incluindo Divx e Windows Media e uma ferramenta para instalar suporte a Flash. Tudo isso é organizado de uma forma intuitiva, você não precisa ler o manual pra usar. Depois de instalar no HD você tem acesso a mais um recurso exclusivo, os ícones mágicos que permitem instalar aplicativos adicionais, como o OpenOffice, Gimp, Mozilla, Java, Evolution e até mesmo o Kazaa, rodando via Wine :-) Ao clicar num dos ícones os pacotes necessários são automaticamente baixados e instalados. Tamanho: 508,00 MB Licença: Gratuito (Opensource) Data: 22 de Abril de 2006 Link Direto: Download Área de Trabalho:
  8. Muita Gente posta um conteudo muito bom, e muitas pessoas nem passar por lá mesmo as pessoas da staff.. isso faz com que os uploaders de tutoriais,distribuições de linux.. desanimam.. e com isso faz sair do forum.. a 2 dias postei 10 tutorias e diversas Distribuições e ate hj nenhum comentario.. ou seja o pessoal e sange suga.. vem pega o conteudo e vaza :/ so to pedindo um pouco a mais de atenção. falou
  9. Versão Gratuita Com 4 CDs Para Usuários Mais Experientes Feito para usuários experientes, são 4 CDs com softwares puramente livres. Disponível em duas versões: (para processadores i586 e x86-64. Se você quer ver toda a potência da nossa distribuição, o Mandriva Linux Free é pra você! Ftp e Http Mirrors: Austria * o ftp://gd.tuwien.ac.at/pub/linux/Mandrakel...ial/iso/2007.0/ (Vienna) * o http://gd.tuwien.ac.at/pub/linux/Mandrakel...ial/iso/2007.0/ (Vienna) Brazil * o ftp://mirror.fis.unb.br/pub/linux/Mandrak...ial/iso/2007.0/ (Brasilia) Canada * o http://gulus.usherbrooke.ca/pub/distro/Man...ial/iso/2007.0/ (Sherbrooke) Czech Republic * o ftp://ftp.fi.muni.cz/pub/linux/mandrakeli...ial/iso/2007.0/ (Brno) * o ftp://ftp.linux.cz/pub/linux/mandrakelinu...ial/iso/2007.0/ (Brno) * o ftp://sunsite.mff.cuni.cz/OS/Linux/Dist/M...ial/iso/2007.0/ (Prague) * o http://ftp.fi.muni.cz/pub/linux/mandrakeli...ial/iso/2007.0/ (Brno) * o http://ftp.sh.cvut.cz/MIRRORS/Mandrake/man...ial/iso/2007.0/ (Prague) Denmark * o ftp://klid.dk/Mandrake/official/iso/2007.0/ (Danish only) * o http://klid.dk/homeftp/mandrakelinux/official/iso/2007.0/ (Danish only) Estonia * o ftp://ftp.aso.ee/pub/Mandrake/official/iso/2007.0/ Finland * o ftp://ftp.song.fi/pub/mirrors/Mandrake-li...ial/iso/2007.0/ (Espoo) France * o ftp://fr2.rpmfind.net/linux/Mandrakelinux...ial/iso/2007.0/ (Lyon) * o ftp://ftp.ciril.fr/pub/linux/mandrakelinu...ial/iso/2007.0/ (Nancy) * o ftp://ftp.club-internet.fr/pub/unix/linux...ial/iso/2007.0/ (Paris) * o ftp://ftp.cru.fr/pub/linux/Mandrakelinux/...ial/iso/2007.0/ (Rennes) * o ftp://ftp.free.fr/mirrors/ftp.mandriva.co...ial/iso/2007.0/ (Paris) * o ftp://ftp.lip6.fr/pub/linux/distributions...ial/iso/2007.0/ (Paris) * o ftp://ftp.mandrake.ikoula.com/Mandrakelin...ial/iso/2007.0/ (Courbevoie) * o ftp://ftp.univ-lille1.fr/pub/os/linux/dis...ial/iso/2007.0/ (Lille) * o ftp://ftp.uvsq.fr/pub/mandrake/official/iso/2007.0/ (Versailles) * o ftp://linux.ups-tlse.fr/Mandrakelinux/official/iso/2007.0/ (Toulouse) * o http://fr2.rpmfind.net/linux/Mandrakelinux...ial/iso/2007.0/ (Lyon) * o http://ftp.club-internet.fr/pub/linux/Mand...ial/iso/2007.0/ (Paris) Germany * o ftp://ftp-stud.fht-esslingen.de/pub/Mirro...ial/iso/2007.0/ (Esslingen) * o ftp://ftp.fh-wolfenbuettel.de/linux/mandr...ial/iso/2007.0/ (Wolfenbuettel) * o ftp://ftp.informatik.hu-berlin.de/pub/Lin...ial/iso/2007.0/ (Berlin) * o ftp://ftp.join.uni-muenster.de/pub/linux/...ial/iso/2007.0/ (Muenster) * o ftp://ftp.tu-chemnitz.de/pub/linux/mandra...ial/iso/2007.0/ (Chemnitz) * o ftp://ftp.uasw.edu/linux/mandrakelinux/official/iso/2007.0/ (Wolfenbuettel) * o ftp://ramses.wh2.tu-dresden.de/pub/mirror...ial/iso/2007.0/ (Dresden) * o http://wftp.tu-chemnitz.de/pub/linux/mandr...ial/iso/2007.0/ (Chemnitz) Greece * o ftp://ftp.ntua.gr/pub/linux/mandrake/official/iso/2007.0/ (Athens) Ireland * o ftp://ftp.esat.net/pub/linux/mandrakelinu...ial/iso/2007.0/ * o ftp://ftp.heanet.ie/pub/mandrake/Mandrake...ial/iso/2007.0/ * o http://ftp.esat.net/pub/linux/mandrakelinu...ial/iso/2007.0/ * o http://ftp.heanet.ie/pub/mandrake/Mandrake...ial/iso/2007.0/ Italy * o ftp://bo.mirror.garr.it/pub/mirrors/Mandr...ial/iso/2007.0/ (Bologna) Japan * o ftp://ftp.kddlabs.co.jp/Linux/packages/Ma...ial/iso/2007.0/ * o ftp://ftp.nara.wide.ad.jp/pub/Linux/Mandr...ial/iso/2007.0/ * o ftp://ftp.riken.go.jp/pub/Linux/mandrake/...ial/iso/2007.0/ * o http://ftp.kddlabs.co.jp/Linux/distributio...ial/iso/2007.0/ * o http://ftp.riken.go.jp/Linux/mandrake/official/iso/2007.0/ Netherlands * o ftp://ftp.nluug.nl/pub/os/Linux/distr/Man...ial/iso/2007.0/ (Amsterdam) * o ftp://ftp.surfnet.nl/pub/os/Linux/distr/M...ial/iso/2007.0/ (Amsterdam) * o http://ftp.nluug.nl/ftp/pub/os/Linux/distr...ial/iso/2007.0/ (Amsterdam) * o http://ftp.surfnet.nl/ftp/pub/os/Linux/dis...ial/iso/2007.0/ (Amsterdam) Poland * o ftp://ftp.icm.edu.pl/pub/linux/mandrakeli...ial/iso/2007.0/ * o ftp://ftp.pbone.net/pub/mandrakelinux/official/iso/2007.0/ * o ftp://ftp.ps.pl/mirrors/mandrake/official/iso/2007.0/ (Szczecin) * o ftp://ftp.task.gda.pl/pub/linux/Mandrakel...ial/iso/2007.0/ (Gdansk) * o ftp://ftp.tuniv.szczecin.pl/pub/linux/man...ial/iso/2007.0/ * o ftp://sunsite.icm.edu.pl/pub/Linux/mandra...ial/iso/2007.0/ (Warszawa) * o http://sunsite.icm.edu.pl/pub/Linux/mandra...ial/iso/2007.0/ Romania * o ftp://ftp.iasi.roedu.net/mirrors/ftp.mand...ial/iso/2007.0/ (Iasi) * o http://ftp.iasi.roedu.net/mirrors/ftp.mand...ial/iso/2007.0/ (Iasi) Slovakia * o ftp://ftp3.mandrake.sk/mirrors/Mandrakeli...ial/iso/2007.0/ South Africa * o ftp://ftp.is.co.za/linux/distributions/ma...ial/iso/2007.0/ (Johannesburg) Spain * o ftp://ftp.cica.es/pub/Linux/Mandrakelinux...ial/iso/2007.0/ (Sevilla) * o ftp://ftp.rediris.es/pub/linux/distributi...ial/iso/2007.0/ (Madrid) * o http://ftp.rediris.es/pub/linux/distributi...ial/iso/2007.0/ (Madrid) Switzerland * o ftp://mirror.switch.ch/mirror/mandrake/official/iso/2007.0/ * o ftp://sunsite.cnlab-switch.ch/mirror/mand...ial/iso/2007.0/ (Zurich) Taiwan * o ftp://ftp.isu.edu.tw/pub/Linux/Mandrakeli...ial/iso/2007.0/ * o ftp://linux.ntcu.net/dists/mandrake/official/iso/2007.0/ * o ftp://mdk.linux.org.tw/pub/mandrakelinux/...ial/iso/2007.0/ * o http://ftp.isu.edu.tw/pub/Linux/Mandrakeli...ial/iso/2007.0/ United Kingdom * o ftp://anorien.csc.warwick.ac.uk/Mandrakel...ial/iso/2007.0/ (Coventry) * o http://anorien.csc.warwick.ac.uk/mirrors/M...ial/iso/2007.0/ (Coventry) United States * o ftp://ftp.ale.org/pub/mirrors/mandrake/official/iso/2007.0/ (Georgia) * o ftp://ftp.cise.ufl.edu/pub/mirrors/mandra...ial/iso/2007.0/ (Florida) * o ftp://ftp.gtlib.cc.gatech.edu/pub/mandrak...ial/iso/2007.0/ * o ftp://ftp.uwsg.indiana.edu/linux/mandrake...ial/iso/2007.0/ (Indiana) * o ftp://mandrake.mirrors.pair.com/Mandrakel...ial/iso/2007.0/ (Pennsylvania) * o ftp://mirror.cs.wisc.edu/pub/mirrors/linu...ial/iso/2007.0/ (Wisconsin) * o ftp://mirror.mcs.anl.gov/pub/mandrake/official/iso/2007.0/ (Illinois) * o ftp://mirror.umr.edu/pub/linux/mandrake/M...ial/iso/2007.0/ (Missouri) * o ftp://mirrors.secsup.org/pub/linux/mandra...ial/iso/2007.0/ * o ftp://mirrors.usc.edu/pub/linux/distribut...ial/iso/2007.0/ * o http://ftp.ale.org/pub/mirrors/mandrake/official/iso/2007.0/ (Georgia) * o http://mandrake.mirrors.pair.com/Mandrakel...ial/iso/2007.0/ (Pennsylvania) * o http://mirror.mcs.anl.gov/pub/mandrake/official/iso/2007.0/ (Illinois) * o http://mirror.umr.edu/pub/linux/mandrake/M...ial/iso/2007.0/ (Missouri) * o http://www.gtlib.cc.gatech.edu/pub/mandrak...ial/iso/2007.0/ (Georgia) Fontes: Mandriva.com
  10. O Receitanet é o serviço eletrônico do Governo Brasileiro que valida e transmite, via Internet, as declarações de impostos e contribuições federais de pessoas físicas e jurídicas. Este serviço cria um canal interativo de comunicação, eficiente e seguro, entre o contribuinte e a Secretaria da Receita Federal - SRF para o cumprimento de suas obrigações tributárias, facilitando e incentivando o exercício da cidadania. Benefícios: * Segurança, facilidade e praticidade de uso * Redução de custos; * Atendimento mais eficiente, com a transmissão de declarações diretamente para a base de dados da SRF, pode ser feita da casa do contribuinte, do escritório, das estações de auto-atendimento na SRF ou de entidade autorizada. Comprovação de entrega: É obtida por meio da gravação de um arquivo, no disquete ou no disco rígido do computador, contendo o recibo de entrega com data e hora da recepção e assinatura eletrônica. Garantia de sigilo e integridade de dados: É assegurada por meio da utilização de técnicas de compressão e criptografia dos dados da declaração. Entrega de declarações assinadas com certificado digital Possibilidade de entrega de declarações assinadas com certificado digital garantido a autoria da entrega das declarações. Horário de funcionamento: As declarações podem ser transmitidas diariamente das 5:00 h a 1:00 h hora da manhã do dia seguinte (20 horas diárias). A recepção encerrar-se-á às 20 horas de Brasília do último dia do prazo de entrega estabelecido pela Secretaria da Receita Federal. Após esta data, as declarações em atraso poderão ser enviadas, mas sujeitar-se-ão às penalidades previstas em lei. Instalação: Para instalar, é necessário adicionar permissão de execução, por meio do comando "chmod +x ReceitanetJava2006_02linux.bin" ou conforme o Gerenciador de Janelas utilizado. Roda em Gerenciador de janelas do Linux, Ambiente gráfico do Linux Informações sobre compra Este software é um Freeware (gratuito) que, por definição, não perderá suas funcionalidades. Baixe aqui
  11. Vou postar alguns skins desse programinha tão útil pra quem usa Linux... Baixe Baixe Baixe Baixe Baixe Baixe Baixe Baixe Baixe Baixe Creditos : Nightm4re
  12. Half-Life - Counter-Strike é um dos jogos mais famosos do mundo, em qualquer lugar que você for, terá sempre uma LanHouse que tenha alguns viciados jogando. O Counter-Strike em si não é um jogo, ele é uma MODificação do jogo Half-Life, ou seja, uma equipe qualquer pegou o jogo Half-Life e usando o motor dele, criaram o Counter-Strike. Para que você consiga jogar o Counter-Strike, você precisa comprar o Half-Life, e poderá baixar o MOD Counter-Strike grátis. Na instalação do servidor Linux do jogo, o processo é o mesmo, precisamos do Half-Life para depois instalarmos o Counter-Strike, só que com uma vantagem, o servidor é totalmente FREE! Aconselho a você criar um usuário somente para rodar o servidor: # useradd cs Sendo o usuário 'cs', você irá fazer todo o resto: # su cs Costumo fazer a instalação no diretório do usuário 'cs': $ cd ~ Vamos baixar o Half-Life.. $ wget hlds_l_3111_full.bin Lista de alguns mirrors: * http://mirror.redphive.org/hlds_l_3111_full.bin * http://www.fileshack.com/file.x?fid=186 * http://download.boomtown.net/pacth_...ds_3111_full_uk * http://www.fileplanet.com/files/50000/58368.shtml Instalaremos o HL: $ ./hlds_l_3110_full.bin -> Siga as instruções de instalação.. Vamos baixar o Counter-Strike: $ cd ~/hlds_l $ wget cs_15_full.tar.gz Lista de alguns mirrors: * http://www.fileplanet.com/index.asp?sectio...&file=58481 * http://www.jetstreamgames.co.nz/files/...._15_full.tar.gz * http://www.heyphucker.com/cs.php * ftp://ftp.gamesdomain.co.uk/pub/....._15_full.tar.gz * http://www.adrenaline.com.br/downloads/...._15_full.tar.gz Iremos agora descompactar o MOD Counter-Strike: $ gunzip cs_15_full.tar.gz $ tar -xvf cs_15_full.tar Pronto! Você já possui todos os arquivos necessários para rodar o servidor. Vamos acrescentar o diretório do Half-Life ao ambiente: $ export LD_LIBRARY_PATH=/home/cs/hlds_l:$LD_LIBRARY_PATH Para executar o servidor, vai o sintaxe necessária: $ ./hlds_run -game cstrike +ip <IP> -port <Porta> +maxplayers <Máx de Jogadores> +map <mapa> Exemplo: $ ./hlds_run -game cstrike +ip 200.123.123.123 -port 27015 +maxplayers 16 +map de_aztec A porta padrão é a 27015, aqui iremos especificar para no caso de futuramente precisarmos abrir outro servidor. * Alguns arquivos de configuração importantes: * cstrike/server.cfg (Contém todas as configurações do servidor) * cstrike/mapcycle.txt (Contém a lista dos mapas que irão "rodar" no servidor) * cstrike/motd.txt (Message Of The Day) Bom, imagino que você esteja usando alguma regra de Firewall, pois bem, abaixo as regras necessárias para que os usuários consigam jogar em seu servidor. Não me recordo qual a finalidade de cada porta, só lembro que uma delas é para fazer a autenticação na Won.net. # iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 27015 -j ACCEPT # iptables -A OUTPUT -s 0.0.0.0/0 -p udp --sport 27012 -j ACCEPT # iptables -A OUTPUT -s 0.0.0.0/0 -p udp --sport 27010 -j ACCEPT # iptables -A OUTPUT -s 0.0.0.0/0 -p udp --sport 27005 -j ACCEPT # iptables -A OUTPUT -s 0.0.0.0/0 -p tcp --sport 7002 -j ACCEPT # iptables -A OUTPUT -s 0.0.0.0/0 -p tcp --sport 5273 -j ACCEPT # iptables -A OUTPUT -s 0.0.0.0/0 -p tcp --sport 27040 -j ACCEPT Dica Para uma boa diversão é extremamente aconselhável que se tenha um administrador no server. Essa administração pode ser feita através do comando 'rcon' (Remote Control). Basta especificar no 'server.cfg' uma senha, por exemplo: rcon_password "vivaolinuX" Agora, quem irá administrar o server, terá antes que mais nada digitar no Console (") o mesmo comando: $ rcon_password "vivaolinuX" Assim, você identificou a senha, agora basta digitar o comando do servidor, com o "rcon " na frente. Exemplo: // Trocar de mapa $ rcon changelevel de_dust // Reiniciar o jogo $ rcon sv_restart 1 E assim por diante... Créditos: Carlos Marcelo
  13. Todo administrador de rede que se preze tem um bom firewall implementado no seu servidor, não é?? Espero que sim, mas se não tiver, aqui vai o exemplo de um simples e bom firewall. Vou começar explicando algumas regras que deverão ser seguidas na configuração do seu firewall. Quando começar a colocar as regras, você deverá começar pelas que habilitam as conexões desejadas e por final bloquear as conexões indesejáveis. ACCEPT, REJECT e DROP: quando colocar um, e quando colocar o outro? Você colocará ACCEPT quando quiser aceitar a conexão. REJECT quando quiser rejeitar a conexão, e DROP você estará rejeitando a conexão. Em seguida coloquei um modelo de um firewall no qual você poderá escolher as regras que mais se adaptam com o que você precisa. Compartilhamento via modem ou ADSL Para compartilhar a conexão do modem com a rede local: # modprobe iptable_nat # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE Para compartilhar uma conexão via ADSL ou cabo instalada na eth0: # modprobe iptable_nat # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Habilitando localhost: # iptables -A INPUT -p tcp --syn -s 127.0.0.1 -j ACCEPT Habilitando conexões vindas da rede local (usando a seguinte faixa de IP e máscara de rede): # iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT Habilitando outras conexões na seguinte porta do micro (adicionei estas linhas como exemplo para habilitar outras conexões): # iptables -A INPUT -p tcp --destination-port XXX -j ACCEPT # iptables -A INPUT -p tcp --destination-port XXX -j ACCEPT # iptables -A INPUT -p tcp --destination-port XXX -j ACCEPT # iptables -A INPUT -p tcp --destination-port XXX -j ACCEPT Bloqueando conexão via SSH: # iptables -A INPUT -p tcp --destination-port 22 -j DROP Evitando scans do tipo "porta origem=porta destino": # iptables -A INPUT -p tcp --sport $i --dport $i -j DROP Bloqueando AIM: # iptables -A FORWARD -d login.oscar.aol.com -j REJECT Bloqueando ICQ: # iptables -A FORWARD -p TCP --dport 5190 -j REJECT # iptables -A FORWARD -d login.icq.com -j REJECT Bloqueando MSN: # iptables -A FORWARD -p TCP --dport 1863 -j REJECT # iptables -A FORWARD -d 64.4.13.0/24 -j REJECT Bloqueando Yahoo Messenger: # iptables -A FORWARD -d cs.yahoo.com -j REJECT # iptables -A FORWARD -d scsa.yahoo.com -j REJECT Bloqueando os -:P2P:- (se você deseja utilizar um desses softwares, apenas retire o comentário # e substitua a condição de: REJECT, para ACCEPT). Bittorrent: # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6881:6889 -j DNAT --to-dest 192.168.0.2 # iptables -A FORWARD -p tcp -i eth0 --dport 6881:6889 -d 192.168.0.2 -j REJECT iMesh: # iptables -A FORWARD -d 216.35.208.0/24 -j REJECT BearShare: # iptables -A FORWARD -p TCP --dport 6346 -j REJECT ToadNode: # iptables -A FORWARD -p TCP --dport 6346 -j REJECT WinMX: # iptables -A FORWARD -d 209.61.186.0/24 -j REJECT # iptables -A FORWARD -d 64.49.201.0/24 -j REJECT Napigator: # iptables -A FORWARD -d 209.25.178.0/24 -j REJECT Morpheus: # iptables -A FORWARD -d 206.142.53.0/24 -j REJECT # iptables -A FORWARD -p TCP --dport 1214 -j REJECT KaZaA: # iptables -A FORWARD -d 213.248.112.0/24 -j REJECT # iptables -A FORWARD -p TCP --dport 1214 -j REJECT Limewire: # iptables -A FORWARD -p TCP --dport 6346 -j REJECT Audiogalaxy: # iptables -A FORWARD -d 64.245.58.0/23 -j REJECT Mais uma linha interessante de se adicionar, que protege contra pacotes danificados (usados em ataques DoS por exemplo) é: # iptables -A FORWARD -m unclean -j DROP Bloqueando conexões vindas em qualquer porta tcp do seu micro: # iptables -A INPUT -p tcp --syn -j DROP Se você quiser que o PC também não responda a pings, adicione a seguinte linha: # echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all Agora chegou a vez das portas UDP (para jogar Unreal Tournament na NET): # iptables -t nat -A PREROUTING -i eth0 -p udp --dport 7777:7779 -j DNAT --to-dest 192.168.0.2 # iptables -A FORWARD -p udp -i eth0 --dport 7777:7779 -d 192.168.0.2 -j ACCEPT Bloqueando parte das portas udp: # iptables -A INPUT -i ppp0 -p udp --dport 0:30000 -j DROP Com esse exemplo de firewall que fiz, você poderá copiá-lo e salvá-lo dentro de um arquivo de texto, como exemplo /usr/local/bin/firewall. Em seguida dê permissão de execução para esse arquivo digitando "chmod +x /usr/local/bin/firewall" e com essa "receitinha de bolo" você acaba de criar um shell script, que poderá ser chamado por você a qualquer momento apenas digitando num terminal: firewall. E para facilitar ainda mais a sua vida aqui vai uma dica: Coloque uma cópia desse arquivo em um dos diretórios de inicialização do sistema, como /etc/init.d/. Pronto, agora toda vez que você reinicializar a sua máquina, o seu firewall será iniciado junto com o sistema. Se quiser limpar as regras estabelecidas por você no firewall, digite no terminal: # iptables -F Créditos: Bruno Farias
  14. Nesse artigo mostrarei como configurar, iniciar e autenticar 2 (dois) links ADSL em um mesmo servidor, além de fazermos um balanceamento nesses links aliviando muito o tráfego de nossa rede. Falaremos também um pouco sobre roteamento avançado em Linux, pois iremos usar esse incrível recurso disponível para fazer o balanceamento. Quando tive meu primeiro problema de alto tráfego em uma empresa que presto serviço, observei que precisaria usar algum recurso disponível no Linux para que eu pudesse contratar um segundo link de conexão com a internet, bem como utilizar os dois simultaneamente. Tal empresa possuía um link ADSL (velox) de 1MB, porém o link estava ficando saturado em grande parte do dia (e isso porque já fazia controle de banda e cache de HTTP também!), dando para perceber a dimensão da rede. Meu objetivo era contratar mais um velox de 1MB, configurá-lo no mesmo servidor e construir um Advanced Router em Linux. O Kernel do Linux pode nos proporcionar a utilizar os recursos de roteamento dinâmico e roteamento estático. * Característica de um Advanced Router fazendo roteamento dinâmico 1. Com o servidor tendo duas saídas de internet, o kernel iria utilizar as duas, porém para a primeira requisição que chegasse da LAN ele utilizaria a saida1 de internet, para a segunda requisição ele utilizaria a saida2, para a terceira requisição ele utilizaria a saida1 e assim por diante. Eu teria uma desvantagem com esse recurso, pois suponhamos que se um IP fizesse uma requisição de download de um arquivo de 600MB e o mesmo fosse um IP de propriedade do dono da empresa, onde a sua velocidade de link configurada fosse de 512Kbps com prioridade máxima para esse IP. Quando o download fosse se estabelecer, ele obrigatoriamente teria que sair por um link, consumindo assim quase todo o recurso desse link. Porém, quando uma outra requisição fosse passar por esse link já saturado pela conexão do dono da empresa, a conexão ficaria lenta e quem desse a sorte de sair pela as outras iria se dar bem. Podemos observar nesse hipotético exemplo onde temos 2Links de 1MB cada, onde jamais iremos conseguir fazer um download com a taxa de 2MB e sim fazer 2 downloads com a taxa de 1MB cada. Mesmo com essa desvantagem, eu queria utilizar esse recurso na empresa, pois não iria me preocupar com a queda de qualquer um dos links, pois o kernel já se encarrega de fazer os ajustes em suas rotas automaticamente. Mas depois de muito estudo e pesquisa, pude comprovar que esse recurso não funciona com NAT. Ou seja, ele funciona muito bem em uma rede com IP válido, onde o servidor faria realmente um papel de roteador. Não irei abordar nesse artigo por quê esse recurso não funciona com NAT, pois é um problema difícil de ser explicado e melhor entendido na prática (eu mesmo só fui entender vendo esse problema acontecer). * Característica de um Advanced Router fazendo roteamento estático 1. Com o servidor tendo duas saídas de internet, o kernel poderia utilizar algumas classes ou IP's para sair especificamente pela saida1 ou saida2. Isso seria um roteamento feito por origem de IP's ou classes de uma rede. Por exemplo: os IP's de origem sendo 10.12.0.10 e 10.12.0.11 teriam como rota específica a saida2 de internet ou as classes de origem sendo 10.13.0.0/24 e/ou 10.14.0.0/24 também teriam como rota específica a saida2 de internet. 2. Também poderia usar um excelente recurso de marcação de pacotes para fazermos o roteamento. Com isso, podemos marcar todos os pacotes com destino aos serviços http, pop, smtp, etc.... Sendo assim, podemos rotear esses pacotes marcados com um número qualquer pela saida2. Com isso podemos definir o seguinte esquema de roteamento: Pacotes com destino aos serviços de http e https vão sair pela saida2 de internet e o restante irá sair pela saida1. A pergunta que deve está na cabeça dos leitores que estão lendo artigo nesse exato momento é a seguinte: E se um dos links cair? O kernel irá fazer a mudança de rota automaticamente? R.: Não. Se um dos links cair, teremos que fazer a mudança de rota na mão mesmo. No final desse artigo iremos ver tudo isso na prática, onde as coisas irão ficar mais claras. No meu caso, eu já sabia que o maior vilão de consumo de link era o protocolo http e em virtudes disso elaborei uma saída específica para esse serviço, sendo o link2. Os demais protocolos seriam roteados a saírem pelo link1. O recurso de roteamento estático no kernel do Linux é extremamente estável, podendo ser adaptado para diferentes situações. Nota: Estes recursos encontram-se disponíveis a partir da série de kernel 2.4.20 ou superior. Antes de começar, gostaria de dizer que a distribuição usada para fazer a estrutura de um Advanced Router foi um Slackware 10.1 (instalação full), tendo como hardware um Pentium MMX com 64MB. Você pode construir seu servidor em qualquer distro, bastando apenas ter os seguintes pacotes instalados: * iptables 1.2.7 ou superior * iproute2 * rp-pppoe-3.x (para configurarmos nossa conexão ADSL) Tabelas de roteamento No Linux pode-se ter múltiplas tabelas de roteamento no kernel. Estas tabelas são identificadas por um número variando de 1 a 255 ou por um nome de acordo com o arquivo /etc/iproute2/rt_tables. Com novas tabelas pode-se criar uma flexível estrutura para implementar uma Política de Roteamento. Abaixo temos o conteúdo do arquivo /etc/iproute2/rt_tables: # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep * 255 local: A tabela "local" contém rotas para endereços locais, esses endereços locais estão localizados no próprio computador, como os endereços que ele possui, a rede dele mesmo e seus broadcast. NUNCA, nunca manipule essa tabela ou retire-a da ordem nas regras. Ela não é útil para o roteamento de uma rede, só para o próprio computador. * 254 main: Tabela de roteamento principal. É nela que que ficam as rotas quando adicionamos com o comando route ou ip route. Essa tabela armazena as rotas das redes disponíveis localmente, bem como a rota padrão adicionada com o comando route ou ip route. * 253 default: A tabela "default" é uma tabela solitária, quase nunca é usada se você tem um "default gateway" na tabela "main". Normalmente, quando existe um "default gateway" na tabela "main", um pacote nunca chega a tabela "default". NOTA: NUNCA, nunca, nunca confunda tabela "default" com "default gateway". "default gateway" é uma rota dentro de uma tabela, "default" é uma tabela. Nome parecido para coisas diferentes. Veremos agora a saída do comando ip route show table main: # ip route show table main 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link default via 200.217.72.1 dev ppp0 Podemos ver que existem diferentes rotas dentro da tabela de roteamento main. Como já disse, essa é a tabela principal de roteamento do kernel e tem como default gateway o ip do roteador que é o 200.217.72.1, além de rotas para a rede local como a rede 10.12.0.0/24 que tem como destino de saída a interface eth0. Agora vamos às regras: Elas definem em que ordem as tabelas serão consultadas. A prioridade vai de 0 até 32767 em ordem crescente, o menor número tem maior prioridade. As regras não tem nomes, apenas números de prioridade. Já as tabelas têm números e podem ser referenciadas por nomes no arquivo /etc/iproute2/rt_tables. Por curiosidade iremos ver a saída do seguinte comando: # ip rule show 0: from all lookup local 32766: from all lookup main 32767: from all lookup default Temos que ficar atentos que números de tabelas nada têm a ver com número de regras. A regra 200 nada tem a ver com a tabela 200. Podemos observar também que podemos ver a prioridade das tabelas onde a tabela main possui uma prioridade maior que a tabela default (por ser a tabela principal de roteamento). Nota: Quanto menor for o número, maior a prioridade de roteamento. Nesse caso a tabela "main" possui o número 32766, que é menor que 32767 e como conseqüência a tabela main tem prioridade maior que a tabela default. O valor máximo de prioridade é 32767, que por padrão já se encontra em uso, bastando apenas utilizarmos prioridades menores que 32766. Para começarmos a brincar, vamos agora criar uma tabela de roteamento. Mas lembre-se que por enquanto nada vai acontecer com essa tabela, pois ainda não inserimos uma rota nela. Para criarmos uma tabela de roteamento, basta abrir o arquivo /etc/iproute2/rt_tables inserindo a seguinte linha em seu final: 200 velox2 O arquivo ficaria da seguinte forma: # cat /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep 200 velox2 Pronto, criamos uma tabela de roteamento chamada velox2. Agora vamos ver o conteúdo dessa tabela com o seguinte comando: # ip route show table velox2 Como vimos, esse comando não resultou em nada. Isso porque a tabela que acabamos de criar não possui rotas inseridas dentro dela. Para frisar, vamos rever a conteúdo da tabela de roteamento chamada main, que por sinal possui rotas e regras dentro dela: # ip route show table main 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link default via 200.217.72.1 dev ppp0 Bom, já criamos nossa primeira tabela de roteamento. Espero que todos que estão lendo esse artigo consigam diferenciar tabelas de roteamento sobre rotas ou regras dentro de uma tabela de roteamento. Também tentei explicar a função da tabela de roteamento main e as rotas contidas dentro dela, mas que ficarão claras no final do artigo, onde faremos isso tudo na prática. No próximo capítulo, iremos configurar as duas conexões ADSL no mesmo servidor e inserir uma rota na tabela de roteamento que criamos. Primeiramente vamos configurar apenas uma conexão para ficar mais fácil de entender. Iremos assumir também que o tipo de velox a ser configurado é empresarial e vamos baixar um autenticador configurado para autenticar no empresarial. Você só deve ajustá-lo caso não seja do Rio de Janeiro, pois esse se encontra configurado para se autenticar pelo Rio. Baixe o autenticador em: * http://www.guilherme.eti.br/velox.pl Assumirei nesse exemplo as seguintes configurações: * eth0 --> LAN (10.12.0.0/16); * eth1 --> Ligada ao Modem ADSL 1; * eth2 --> Ligada ao Modem ADSL 2. Iremos digitar o seguinte comando para configurar a primeira conexão ADSL: # adsl-setup Welcome to the Roaring Penguin ADSL client setup. First, I will run some checks on your system to make sure the PPPoE client is installed properly... Looks good! Now, please enter some information: USER NAME >>> Enter your PPPoE user name: Nesse ponto colocamos o número do telefone como login. Ex: 2126xxxxxx >>> Enter the Ethernet interface connected to the ADSL modem For Solaris, this is likely to be something like /dev/hme0. For Linux, it will be ethn, where 'n' is a number. (default eth1): Nesse ponto dizemos que o modem1 está com sua conexão de rede ligada em eth1. >>> Enter the demand value (default no): Só pressionar <enter> >>> Enter the DNS information here: Digite a palavra 'server', assim dizemos que iremos receber via DHCP um servidor DNS. >>> Please enter your PPPoE password: Número do telefone como senha. >>> Please re-enter your PPPoE password: Redigite o numero do telefone. >>> Choose a type of firewall (0-2): Escolha a opção 0 (zero). >>> Accept these settings and adjust configuration files (y/n)? Digite 'y' para salvar suas configurações. Pronto. Nosso primeiro velox já está configurado. Repare que ele gerou um arquivo /etc/ppp/pppoe.conf e um outro arquivo chamado /etc/ppp/pap-secrets. O arquivo /etc/ppp/pppoe.conf trata da configuração da conexão ADSL. O arquivo /etc/ppp/pap-secrets armazena os logins e senhas da conexão ADSL. Dê uma olhada no conteúdo dos dois arquivos. Abaixo eu resumi o meu arquivo pppoe.conf com as opções que iremos utilizar e pap-secrets: # vim /etc/ppp/pppoe.conf ETH='eth1' USER='212xxxxxx' DEMAND=no DNSTYPE=SERVER PEERDNS=yes DNS1= DNS2= DEFAULTROUTE=yes CONNECT_TIMEOUT=30 CONNECT_POLL=2 ACNAME= SERVICENAME= PING="." CF_BASE=`basename $CONFIG` PIDFILE="/var/run/$CF_BASE-adsl.pid" SYNCHRONOUS=no CLAMPMSS=1412 LCP_INTERVAL=20 LCP_FAILURE=3 PPPOE_TIMEOUT=80 FIREWALL=NONE LINUX_PLUGIN= PPPOE_EXTRA="" PPPD_EXTRA="" # vim /etc/ppp/pap-secrets # PAP authentication file: /etc/ppp/pap-secrets # This file should have a permission of 600. # ~# chmod 600 /etc/ppp/pap-secrets # Username Server Password IP addresses "216xxxxxx" * "216xxxxxx" Nota: Ainda estamos na configuração do primeiro link ADSL. Por hora está tudo configurado para subir o primeiro link ADSL, porém estou fazendo questão em dar ênfase no conteúdo desses dois arquivos porque iremos trabalhar somente com esses dois para configurarmos o segundo link ADSL. Agora iremos subir o link ADSL com o comando adsl-start e depois veremos se tudo ocorreu bem com o comando ifconfig ppp0: # adsl-start # ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr: 200.164.113.232 P-t-P:200.217.72.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:8330 errors:0 dropped:0 overruns:0 frame:0 TX packets:9678 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:3204411 (3.0 Mb) TX bytes:1071164 (1.0 Mb) Pronto. Se aparecer algo assim, sua primeira conexão ADSL já subiu e está pronta para ser autenticada. Agora iremos autenticar a conexão com o script que citei no início desse capítulo. Autentique com o seguinte comando: # ./velox.pl Se tudo ocorrer bem, sua conexão foi autenticada corretamente e seu Linux já está pronto para navegar na internet, porém ainda não irá compartilhar a conexão com a rede local porque ainda não fizemos o NAT. Agora partiremos para a configuração do segundo link ADSL. Nesse ponto eu já sei que o primeiro link ADSL (ppp0) está levantado e autenticado. Falta então subir o segundo link ADSL (ppp1) e autenticá-lo. Defini que a rota padrão seria a ppp0 e ppp1 seria uma segunda rota, porém eu iria utilizar o link ppp1 como saída do protocolo http. É importante dizer, que todo o pacote gerado no próprio servidor ou localhost, vai sair especificamente pelo ppp0, pois eu falei no início desse artigo que os pacotes gerados pelo localhost não entram na tabela que criamos e porque o script de autenticação vai ser executado no próprio servidor. Por isso, todo pacote gerado no localhost sairá pelo primeiro link ADSL(ppp0). A maior dificuldade nessas horas é com a maldita autenticação que a telemar exige no seu serviço ADSL (velox). Com isso, só iremos conseguir autenticar o link ppp1 excluindo a rota padrão ppp0 e incluindo a rota padrão com ppp1. Em seguida rodamos o script de autenticação para autenticar ppp1 e depois excluímos a rota padrão ppp1 e adicionamos novamente a rota padrão ppp0. Você vai entender melhor isso na prática, onde iremos fazer com um exemplo. Por hora vamos nos encarregar de subir o segundo link ADSL (ppp1). Primeiro faça uma cópia do seu arquivo pppoe.conf, pois iremos subir o segundo link ADSL(ppp1) em cima do arquivo de configuração que iremos criar agora. # cp /etc/ppp/pppoe.conf /etc/ppp/pppoe2.conf Mostrarei agora como ficaria o conteúdo desse segundo arquivo e aí você faz uma comparação com o primeiro e veja o que mudou (basicamente muda muito pouco). # vim /etc/ppp/pppoe2.conf #(aqui eu digo que modem2 está ligado na eth2 'muito lógico') ETH='eth2' #(boto o número do telefone da segunda linha) USER='212yyyyyyy' DEMAND=no DNSTYPE=SERVER PEERDNS=yes DNS1= DNS2= #abaixo digo para o roteador não me passar # uma rota padrão, pois defini em minhas políticas que a # rota padrão é o da ppp0. Por isso não quero que o roteador # me passe um gateway padrão. DEFAULTROUTE=no CONNECT_TIMEOUT=30 CONNECT_POLL=2 ACNAME= SERVICENAME= PING="." CF_BASE=`basename $CONFIG` PIDFILE="/var/run/$CF_BASE-adsl.pid" SYNCHRONOUS=no CLAMPMSS=1412 LCP_INTERVAL=20 LCP_FAILURE=3 PPPOE_TIMEOUT=80 FIREWALL=NONE LINUX_PLUGIN= PPPOE_EXTRA="" PPPD_EXTRA="" Feito isso, basta apenas adicionar em /etc/ppp/pap-secrets o segundo login e senha (que é o número do segundo telefone). Veja como ficou meu pap-secrets: # vim /etc/ppp/pap-secrets # PAP authentication file: /etc/ppp/pap-secrets # This file should have a permission of 600. # ~# chmod 600 /etc/ppp/pap-secrets # Username Server Password IP addresses "216xxxxxx" * "216xxxxxx" "216yyyyyy" * "216yyyyyy" Nosso segundo velox já possui arquivo de configuração para ele, faltando apenas um último passo. Execute os seguintes comandos: # cp /usr/sbin/adsl-connect /usr/sbin/adsl-connect2 # cp /usr/sbin/adsl-start /usr/sbin/adsl-start2 # cp /usr/sbin/adsl-stop /usr/sbin/adsl-stop2 # cp /usr/sbin/adsl-status /usr/sbin/adsl-status2 Em seguida abra o script adsl-start2 e modifique dentro dele as seguintes linhas: * Onde estiver setado para usar o arquivo pppoe.conf, mude para pppoe2.conf; * Onde estiver setado para usar o arquivo adsl-connect, mude para adsl-connect2; * Onde estiver setado para usar o arquivo adsl-status, mude para adsl-status2. Agora abra o script adsl-status2 e modifique dentro dele a única linha: * Onde estiver setado para usar o arquivo pppoe.conf, mude para pppoe2.conf. Agora abra o script adsl-connect2 e modifique dentro dele a única linha: * Onde estiver setado para usar o arquivo pppoe.conf, mude para pppoe2.conf. Agora abra o script adsl-stop2 e modifique dentro dele a única linha: * Onde estiver setado para usar o arquivo pppoe.conf, mude para pppoe2.conf. Feito isso, já estamos prontos para subirmos nosso segundo link ADSL (ppp1). Vai ter que ficar da seguinte maneira: * O script adsl-start levantará o primeiro link ADSL(ppp0); * O script adsl-stop derrubará ppp0; * O script adsl-start2 levantará o segundo link ADSL(ppp1); * O script adsl-stop2 derrubará ppp1. Antes de subir o segundo link ADSL(ppp1), vamos dar uma olhada na nossa tabela principal de roteamento (tabela main), pois no momento iremos nos concentrar somente nela para que podemos autenticar nossos dois links ADSL. No momento vamos ver como se encontra a tabela de roteamento main antes de subimos o segundo velox e depois subiremos o segundo link ADSL (ppp1), onde veremos novamente o conteúdo dessa mesma tabela: # ip route show table main 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link default via 200.217.72.1 dev ppp0 # adsl-start2 # ifconfig ppp0 Link encap:Point-to-Point Protocol inet addr:200.164.113.232 P-t-P:200.217.72.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:11686943 errors:0 dropped:0 overruns:0 frame:0 TX packets:13171560 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:4148304848 (3956.1 Mb) TX bytes:1847128396 (1761.5 Mb) ppp1 Link encap:Point-to-Point Protocol inet addr:200.141.102.240 P-t-P:200.217.72.56 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:13784549 errors:0 dropped:0 overruns:0 frame:0 TX packets:11222948 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:2845088039 (2713.2 Mb) TX bytes:3448333476 (3288.5 Mb) # ip route show table main 200.217.72.56 dev ppp1 proto kernel scope link src 200.141.102.240 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link default via 200.217.72.1 dev ppp0 Como podemos observar no novo conteúdo da tabela de roteamento main, o segundo link ADSL (ppp1) se encontra como uma rota de saída dentro da tabela main, mas não é a rota padrão dessa tabela, afinal a rota padrão dessa tabela ainda pertence ao primeiro link ADSL (ppp0). Também temos que autenticar o segundo link ADSL (ppp1) para que o mesmo esteja disponível para tráfego. Para executarmos essa tarefa, temos que primeiro excluir a rota padrão da tabela main. Observe a seguinte seqüência de comandos que se encarrega de fazer isso. Assim, você vai se adaptar às suas necessidades: # ip route del default dev ppp0 via 200.217.72.1 table main # ip route show table main 200.217.72.56 dev ppp1 proto kernel scope link src 200.141.102.240 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link # ip route add default dev ppp1 via 200.217.72.56 table main # ip route show table main 200.217.72.56 dev ppp1 proto kernel scope link src 200.141.102.240 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link default via 200.217.72.56 dev ppp1 # ./velox.pl # ip route del default dev ppp1 via 200.217.72.56 table main # ip route show table main 200.217.72.56 dev ppp1 proto kernel scope link src 200.141.102.240 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link # ip route add default dev ppp0 via 200.217.72.1 table main # ip route show table main 200.217.72.56 dev ppp1 proto kernel scope link src 200.141.102.240 200.217.72.1 dev ppp0 proto kernel scope link src 200.164.113.232 10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.1 127.0.0.0/8 dev lo scope link default via 200.217.72.1 dev ppp0 No exemplo acima fiz um passo a passo para vermos como funciona o processo de autenticação de 2 velox. Já que agora estamos com os 2 velox configurados e autenticados, vamos adicionar uma rota na tabela de roteamento que criamos chamada "velox2". O procedimento acima é necessário ser feito toda vez que seu link ADSL cair (independente se for ppp0 ou ppp1). A solução para isso é que o daemon pppd invoca toda vez que ele consegue estabelecer uma conexão o script /etc/ppp/ip-up e /etc/ppp/ip-down caso a conexão caia. Ele também passa parâmetros para esse script como ip do gateway, se conexão é ppp0 ou ppp1, ip da interface ppp0 ou ppp1, dentre outros. O mais interessante nisso tudo é que quando subimos uma conexão ADSL no Linux, ficam residentes 3 processos referentes à ela. São eles: * adsl-connect * pppd * pppoe Muitos já devem ter ouvido falar que o velox funciona muito melhor no Linux do que no Windows, mas a minoria sabe explicar o por quê? Depois de muitos dias pesquisando, fui descobrir que o protocolo PPP instalado no Linux possui algoritmos internamente para checar se existe algum problema no meio físico de uma conexão assíncrona. Podem acreditar, pois mesmo sem passar um byte qualquer no canal estabelecido, esse protocolo consegue identificar se existe problema no meio físico. Sendo assim, os processos pppd e pppoe caem caso exista algum erro no meio físico ou coisas parecidas como um problema no modem ADSL. Porém, o processo adsl-connect fica tentando de tempos em tempos subir a conexão ppp e quando essa se estabelece, automaticamente o pppd passa os parâmetros já citados para o script /etc/ppp/ip-up. Por isso é só você fazer seus scripts para reautenticação caso um deles caiam. Eu já fiz os meus, onde se um cair ele muda de rota automaticamente para o link que ficar de pé e vice versa, além de também serem feitas as reautenticações. No próximo capítulo faremos o NAT e iremos mexer com a nossa tabela de roteamento que criamos. Primeiramente devemos mexer em algumas variáveis de kernel. O seguinte comando ativa o roteamento no kernel: # echo 1 > /proc/sys/net/ipv4/ip_forward O procedimento abaixo desliga o rp_filter, que é um filtro contra pacotes IP "marcianos". Esses pacotes são aqueles que deveriam ter chegado por uma interface, porém chegam por outra. O rp_filter visa detectar pacotes spoofados, o que é uma boa idéia. Porém, no nosso caso, os pacotes podem ir e voltar por mais de uma interface, a filtragem do "cartesiana" do rp_filter falha. Portanto, temos que desligá-lo e reforçarmos as segurança das interface privadas com regras de firewall criadas por nós. Iremos fazer esse desligamento criando um script chamado "rc.marcianos" com o seguinte conteúdo e sem seguida execute esse script: NOTA: Nada vai acontecer quando você executar esse script, por isso não se assuste. #!/bin/bash # liberar marcianos for i in /proc/sys/net/ipv4/conf/*/rp_filter; do /usr/bin/echo 0 > $i done Inserindo uma rota na nova tabela de roteamento Lembra que lá no início nós criamos uma tabela de roteamento chamada "velox2"?! Agora nós vamos inserir um rota nessa tabela, para depois então inserirmos uma regra nela. Mas antes vamos listar o conteúdo dela: # ip route show table velox2 Como vimos, não existe nenhuma rota na tabela de roteamento velox2. Agora vamos inserir uma rota default nessa tabela e em seguida visualizar novamente o conteúdo dessa tabela de roteamento: # ip route add default dev ppp1 via 200.217.76.56 table velox2 # ip route show table velox2 default via 200.217.72.56 dev ppp1 Pronto, a rota já foi criada nessa tabela. Falta apenas inserirmos uma regra para essa rota que acabamos de criar na tabela de roteamento velox2. Inserindo uma regra na nova tabela de roteamento Primeiramente, vamos marcar todos os pacotes provenientes da LAN com destino aos serviços http com a seguinte regra de iptables e logo em seguida irei inserir uma regra nessa tabela de roteamento. Observe a seqüência de comandos: # iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport 80 -j MARK --set-mark 1 Bom, a tabela tem uma rota, os pacotes já estão marcados, mas nenhum pacote vai cair nela, pois não há regras para isso, então temos que colocá-la: # ip rule add fwmark 1 lookup velox2 Depois de qualquer mudança nas tabelas de roteamento, e necessário digitarmos o comando abaixo para as novas regras vigorarem. # ip route flush cached Tudo pronto, agora só falta fazer o NAT para que as máquinas da LAN possam acessar a internet, sendo que os pacotes com destino a porta 80 sairão pela interface ppp1 e os demais sairão pela interface ppp0. # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE Da forma que fizemos agora, todos os pacotes com destino a serviços http sairão pelo segundo link (ppp1) e o restante irá sair pelo primeiro link (ppp0). A rota padrão na tabela main é ppp0 e a rota padrão da tabela "velox2" é ppp1. Suponhamos que eu quero retirar a regra que incluirmos na tabela "velox2" fazendo com que todo o tráfego saia pelo primeiro link (ppp0). Observem a seguinte seqüência de comandos: # ip rule del fwmark 1 lookup velox2 # ip route flush cached Pronto. Todo o tráfego já está saindo nesse momento pelo primeiro link (ppp0). Repare que só excluindo a regra que inserimos na tabela "velox2" deixa a rota default na tabela "velox1". Ou seja, podemos inserir quantas rotas quisermos, mas de nada adianta se não existirem regras para utilização dessas rotas. Agora irei fazer diferente. Como excluir a regra que tinha colocado na tabela "velox2", terei que criá-la novamente, porém irei fazer um roteamento por ip de origem para flexibilizar um pouco mais o artigo. Observe a seguinte seqüência de comandos: # ip rule add from 10.12.0.20 lookup velox2 # ip rule add from 10.12.0.21 lookup velox2 # ip rule add from 10.12.0.22 lookup velox2 # ip route flush cached Como podemos observar, inseri regras na tabela "velox2" dizendo que todos os pacotes cujo ip de origem seja 10.12.0.20, 10.12.0.21 e 10.12.0.22 devem sair pelo segundo link de internet (ppp1). Posso também atribuir uma regra para uma rede inteira. NOTA: Eu não precisaria excluir a primeira regra referente a marcação de pacotes que criei pela primeira vez. Poderia muito bem deixar saindo pelo segundo link (ppp1) todos os pacotes com destino aos serviços de http além dos ip´s 10.12.0.20, 10.12.0.21 e 10.12.0.22. Nesse capítulo pretendi abordar o básico sobre Advanced Router. Todos sabemos que a documentação sobre o pacote iproute2 é bastante escassa. Falta falar sobre prioridades de regras, custo de roteamento dentre outros. Mas quem quiser aprender mais sobre esses recursos, é só da uma pesquisada na internet que irá achar bastante. Também decidi escrever aqui em cima do velox, pois tive uma certa dificuldade para configurar e autenticar 2 velox em um mesmo servidor, mas nada impede de você usar esses recursos em links dedicados mesmo (o que funcionaria melhor devido a não necessidade de autenticação). Espero que ao lerem esse artigo, consigam visualizar com um pouco mais de clareza esse recurso fantástico disponível no kernel do Linux, podendo adaptar as suas necessidades de implementação. Créditos: Guilherme Rezende de Almeida
  15. Autor: Jonymz Baseado no tutorial de: Felipe Tonello Introdução Muitas pessoas gostariam de ter um localhost, para testar seus scripts PHP, rodar fórums phpBB para testes, e fazer inúmeras outras atividades Devido à complexidade da instalação do LAMPP (Linux, Apache, MySQL, PHP e PERL), os programadores de plantão inventaram o XAMPP for Linux. Ele já existe à algum tempo na vesão Windows, e trata-se de um pacote de programas Opensource que inclue: Apache, MySQL, PHP, Perl, ProFTPD, phpMyAdmin, OpenSSL, Freetype, libjpeg, libpng, gdbm, zlib, expat, ming, Sablotron, libxml2, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, IMAP C-Client, OpenLDAP (client lib), eAccelerator, mcrypt, mhash, SQLite, cURL, ZZIPlib, libxslt, phpSQLiteAdmin, FPDF , tendo como principais componentes o Apache, MySQL, PHP, PERL, os quais, se juntarmos as iniciais, teremos o nome do pacote Instalando Bem. A instalaçãodo XAMPP é muito simples. Vejamos: Baixe a última versão do XAMPP: http://prdownloads.sourceforge.net/xampp/x...tar.gz?download Abra o terminal e digite: $ sudo tar xvfz xampp-linux-1.5.4a.tar.gz -C /opt Pronto! Seu XAMPP está instalado na pasta /opt/lampp... Basta algumas configurações de segurança Wink Starte o XAMPP (inicie) No terminal: $ sudo /opt/lampp/lampp start Deverá aparecer o seguinte: Starting XAMPP 1.5.4a… LAMPP: Starting Apache… LAMPP: Starting MySQL… LAMPP started. Abra seu navegador (browser) e digite na barra de endereços: http://localhost Imagem 1 = Tela de Boas Vindas do XAMPP Você deverá arrumar alguns quesitos de segurança, tais como: 1. O administrador MySQL (root) não contém senhas. 2. O MySQL pode ser acessado via network normal. 3. ProFTPD usa a senha “lampp” para o usuário “nobody”. 4. PhpMyAdmin é acessivel via network. 5. Examples são acessiveis via network. 6. MySQL e o Apache estão rodando sob o mesmo usuário (nobody). Para resolver isso, execute o seguinte comando no terminal: $ sudo /opt/lampp/lampp security E siga os passos. PHP4 ou PHP5 ? Você pode estar se perguntando: Eu tenho uma aplicação PHP que funciona apenas em PHP4, mas o XAMPP traz o PHP5, como vou fazer? A resposta é simples: A partir da versão 1.4.7 do XAMPP, é possível mudar PHP 5.x e PHP 4.x Mudando para a versõa 4: $ sudo /opt/lampp/lampp php4 Mudando para a versõa 5: $ sudo /opt/lampp/lampp php5 Vendo a versão: $ sudo /opt/lampp/lampp phpstatus Parametros Avançados: start Starta o XAMPP. stop Para o XAMPP. restart Para e starta o XAMPP. startapache Starta apenas o Apache. startssl Starta o suporte SSL para o apache. Esse comando é permanente, exemplo: se você restartar o XAMPP esse parâmetro continua. startmysql Starta só o MySQL. startftp Starta o ProFTPD server. Via FTP você consegue dar upload para seu server (usuário “nobody”, senha “lampp”). Esse comando é permanente, exemplo: se você restartar o XAMPP esse parâmetro continua. stopapache Para o Apache. stopssl Para o suporte SSL do apache. Esse comando é permanente, exemplo: se você restartar o XAMPP esse parâmetro continua. stopmysql Para o MySQL. stopftp Para o ProFTPD. Esse comando é permanente, exemplo: se você restartar o XAMPP esse parâmetro continua. security Starta um programa de segurança. exemplo: $ sudo /opt/lampp/lampp startssl Parando o XAMPP: $ sudo /opt/lampp/lampp stop Irá aparecer o seguinte: Stopping LAMPP 1.5.4a… LAMPP: Stopping Apache… LAMPP: Stopping MySQL… LAMPP stopped. O XAMPP Parou. Desinstalando: Apenas o comando: $ sudo rm -rf /opt/lampp o XAMPP foi desinstalado completamente. Fontes: Nettutos.com
  16. Postado por redhate Fonte: http://www.slacklife.com.br Para usuários que estão iniciando no mundo Linux que possuem algumas dúvidas sobre instalações de pacotes. Por isso, resolvi escrever este artigo para ajudar a todos que ainda possuem dúvidas sobre este tópico. Introdução: Em algumas distribuições os sistemas de atualização e instalação de pacotes são comuns, por exemplo: (.rpm) -> usados pelo Red Hat, Mandrake, Conectiva e outras distribuições; (.deb) -> usados no Debian; (.tgz) -> são muito menos comuns, porém, você os encontrará na distribuição Slackware. Que é bastante comum encontrar fontes para compilar, à moda antiga. Source ou codigo fonte não compilado Este formato significa que o arquivo em questão está empacotado pelo software 'tar' e compactado pelo software gzip. Partin do desse ponto o primeiro passo então ao desempacotar e descompactar este arquivo, para então termos acesso ao código-fonte que posteriormente compilaremos. # tar -xvzf nomedopacote.tar.gz -> (com o parâmetro [-C "PastaDestino"] para descompactar em um local que você queira) # tar -xvjf nomedopacote.tar.bz2 -> (se for um arquivo .bz2) A compilação segue desta forma: # ./configure # make # make install Algumas dicas deverão ser passadas para pacotes mais complexos. 1) Antes de compilar um pacote sempre verifique o conteúdo dos arquivos README e INSTALL localizados na pasta do código-fonte. Estes arquivos são de grande importância pois falam das características do software e dicas de instalação em muitos sistemas operacionais e etc. 2) Após verificar estes arquivos, eu pessoalmente, aconselho a verificação do "help" do comando "configure", através do comando: # ./configure --help Este dará a possibilidade de escolher características gerais para a compilação como por exemplo: diretório de instalação, bibliotecas e seus diretórios, habilitação/desabilitação de características do pacote e etc. Para remover(geralmente, os códigos-fontes vem com um ...): # make unistall Pacotes (.tgz) do Slackware A instalação destes pacotes pré-compilados do Slackware ocorre da seguinte forma: # installpkg nomedopacote.tgz Para remoção de arquivos instalados, vale apena passar algumas dicas. No diretório "/var/log/packages" existe uma lista de todos os pacotes instalados no Slackware pelo comando "installpkg". Você pode conseguir o nome do seu pacote a ser removido com um comando básico: # ls /var/log/packages | grep nomedopacote Após isso basta utilizar este nome para remover o pacote desejado com o comando: # removepkg nomedopacote Pacotes (.rpm)do Red Hat Packet Manager Legenda: i -> install v -> version h -> hash (exibe a % do andamento da instalação). e -> erase Instalar um RPM é muito simples, digite: # rpm -ivh nomedopacote.rpm Remover é mais simples ainda: # rpm -e nomedopacote Pacotes (.deb) do Debian No caso do (.deb), somente o Debian utiliza esse tipo de arquivo, é mais simples ainda, use um utilitário de instalação muito bom, o apt-get: Para instalar: # apt-get install nomedopacote Para Remover: # apt-get remove nomedopacote Deve-se lembrar que no Slackware não existe a opção de instalação de binários (.rpm) e (.deb) nativamente. Há uma opção de instalação do (.rpm), mas não é recomendada. Escrito por MaRuJo – Márcio Araújo Lopes Modificado por: Jorge Luiz Gomes de Souza (jlgomessouza@ig.com.br) g00nie ---------------------------------------------------------------------------------------------------------------------------------------- Observações feitas por mim (vuln): Inicialmente, geralmente é utilizado os seguintes parâmetros para o ./configure: --prefix=/usr --sysconfdir=/etc O que eles fazem? Que o diretório padrão para instalação de arquivos é no /usr diferente do padrão utilizado /usr/local. O segundo indica o diretório de configuração do sistema que é o etc e as vezes alguns programas criam diretórios próprios deixando o sistema BASTANTE desorganizado. Lembrando que utilizei o . antes da barra na execução do configure (./configure) porque o configure é um arquivo local do diretório e não um binário contido nos diretórios: /bin, /usr/bin, /usr/sbin, /usr/local/bin, etc. Apesar de existirem diversos repositórios de pacotes Slackware (.TGZ) na internet é inteligente da parte de todos admitir que o maior dentre todos é o RPM (RedHat e seus derivados). Então gostaria de apresentar um binário próprio do Slackware, ou seja, não sendo preciso instalar. O rpm2tgz: vuln@localhost:~$ rpm2tgz /usr/bin/rpm2tgz: Converts RPM format to standard GNU tar + GNU zip format. (view converted packages with "less", install and remove with "installpkg", "removepkg", "pkgtool", or manually with "tar") Usage: /usr/bin/rpm2tgz <file.rpm> (Outputs "file.tgz") vuln@localhost:~$ Exemplo: rpm2tgz arquivo.rpm Será gerado um arquivo com o nome arquivo.tgz. Até mais, espero que tenha deixado bem clara a explicação.
  17. fonte: http://www.vivaolinux.com.br/artigos/verAr...02&pagina=1 Já ocorreu de lhe dar um branco ao tentar lembrar a senha do root? Este artigo é um passo-a-passo para a recuperação da senha do super usuário através do LILO, que é o software de gerenciamento de boot responsável pela carga do sistema operacional. Por: Ricardo Rodrigues Lucca Existem duas formas de se recuperar a senha do root: boot; lilo (ou grub). Neste artigo vou mostrar como recuperar a senha do root através lilo (com o grub fica parecido, com apenas alguns detalhes a alterar). O método utilizado foi testado nas distribuições Conectiva e Slackware, porém seu resultado não deve ser diferente em outras distribuições, visto que o software de gerenciamento de boot é o mesmo, mas pelo menos fica a deixa. Ao inicializar a máquina e aparecer o prompt do LILO (LILO:), digite: linux init=/bin/bash Se o seu lilo estiver protegido por senha (através da opção restricted1) você irá precisar lembrar da senha que definiu no arquivo lilo.conf. Caso não se lembre, a recuperação da senha de root será possível somente através de boot por disquete ou CDROM. Caso contrário, o LILO carregará o kernel normalmente e te trará o prompt do shell do super usuário sem a necessidade de login. Uma vez no shell, digite: mount -o remount -rw / passwd Digite a nova senha para o root e pronto, "recuperamos" a senha do root! veja como proteger seu LILO através da dica: Protegendo seu sistema de invasões pelo LILO. A proteção de seu LILO é um fator determinante na segurança de todo seu sistema e configuração de sua máquina. Caso seu /etc/lilo.conf não esteja protegido, qualquer usuário que conheça o comando usado no caso do esquecimento da senha de root poderá utilizá-la para entrar em modo console como super usuário, através do seguinte comando na linha de prompt de boot do LILO: LILO boot: linux single init=/bin/bash rw E com isso, alterar a senha de root e resetar a máquina. Portanto, barre a opção do possível invasor, adicionando as duas seguintes linhas em seu /etc/lilo.conf: restricted password=senhaquevocequiser Além disso, execute um "chmod 600 lilo.conf", para que nenhum usuário da sua rede possa ler o arquivo de configuração e conseqüentemente sua senha. Por fim, rode o lilo para atualizar seu MBR (Master Boot Record), basta digitar "lilo". Dessa forma, seu LILO ficará protegido de usuários espertinhos!!!
×
×
  • Criar Novo...