Servidor Fedora 11 de maneira fácil e funcional

Neste artigo mostro como configurar um servidor Fedora oferecendo os principais serviços para sua rede: firewall, servidor DHCP, web cache (Squid), DNS cache (bind), controle de banda (cbq), servidor web (Apache), controle de acesso, limite de conexões simultâneas, acesso remoto (SSH), relatório de acesso (Sarg). Ao final você deverá ter um servidor confiável.

[ Hits: 93.776 ]

Por: Andrio Prestes Jasper em 11/10/2009


10. Limite de conexão (connlimit)



O objetivo principal do uso do connlimit é sobre a limitação de softwares p2p. Analisando o tráfego desse tipo de software percebemos que tinha que atacar diretamente o fato deles abrirem muitas conexões simultâneas, mas em alguns casos não é interessante limitar todas as portas, principalmente se parte de seus clientes são empresas e precisam de acesso full, o que é necessário então é limitar somente o P2P.

Faremos 2 tipo de limitação: somente para as portas nativas e outra para as portas não nativas.

10.1. Limitando portas nativas

Crie uma tabela chamada CONNLIMIT. Coloque nessa tabela as principais portas: 20, 21, 23, 25, 53, 110, 443, 1863, 2210, 3128, 5600, 8080, 8081.

No final, ative o limite de 96 conexões simultâneas (--connlimit-above 96) para cada IP na rede (--connlimit-mask 32).

Obs.:
  • Limite pode ser alterado a seu gosto.
  • Alterando o "--connlimit-mask 32" para "--connlimit-mask 24" você irá limitar uma rede ao todo, ao total de conexões configuradas. Aqui eu deixei em 32, pois assim eu limito IP por IP.

# Connlimit
# Controle de conexão
iptables -t mangle -N CONNLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 -m multiport --destination-port 20,21,23,25,53,110,443 -j CONNLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 -m multiport --destination-port 1863,2210,3128,5600,8080,8081 -j CONNLIMIT
iptables -t mangle -A CONNLIMIT -p TCP -m state ! --state RELATED -m connlimit --connlimit-above 96 --connlimit-mask 32 -j DROP
echo " Connlimit porta nativa iniciado...............[ OK ]"

10.2. Limitando portas não nativas

Aqui criei uma outra tabela chamada CONLIMIT e limitei todas as outras portas para um total de 45 conexões simultâneas.

iptables -t mangle -N CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 1:19 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 -m multiport --destination-port 22,24 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 26:52 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 54:79 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 81:109 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 111:442 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 444:1862 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 1864:2209 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 2211:3127 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 3129:5599 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 5601:8079 -j CONLIMIT
iptables -t mangle -A FORWARD -p TCP -d 0/0 --dport 8082:65535 -j CONLIMIT
iptables -t mangle -A CONLIMIT -p TCP -m state ! --state RELATED -m connlimit --connlimit-above 45 --connlimit-mask 32 -j DROP
echo " Connlimit portas não nativa iniciado..........[ OK ]"

Obs.: Adicione essas regras antes da regra de controle de acesso.

10.3. Links extras


Página anterior    

Páginas do artigo
   1. Início
   2. 1 - Introdução
   3. 2. SELinux, IPTABLES (introdução, NAT)
   5. 4. DNS cache (Bind)
   6. 5. Web cache (Squid)
   7. 6. Acesso remoto (SSH)
   8. 7. Controle de acesso (MAC x IP)
   9. 8. Controle de banda (CBQ)
   10. 9. Outras regras
   11. 10. Limite de conexão (connlimit)
Outros artigos deste autor

PPoE Mikrotik - QoS Dinâmico e Individual

Integração do Hotspot Mikrotik com AD Windows Server 2012

Instalando o Fedora 10

Entendendo redes wireless

Leitura recomendada

Criando wallpapers animados para o Enlightenment 17

FTP com autenticação LDAP

Configurando Linux para Desenvolvimento de Sites

Sabayon 5.0 - Transformando Sabayon 4.0r1 em Sabayon 5.0 "Full" (parte 2)

Servidor de backup Bacula 7 + Webacula 5.5 no Debian Wheezy

  
Comentários
[1] Comentário enviado por dtux em 11/10/2009 - 17:23h

Muito bom artigo várias rotinas interessantes, que me ajudaram muito!!

[2] Comentário enviado por andriopj em 11/10/2009 - 23:19h

estou dando continuação nesse material... pretendo montar um Guia com varias rotinas de trabalho.
Se alguem estiver interessado em acompanhar ou ate mesmo em adicionar alguma rotina... sera bem vindo: (http://under-linux.org/f132192-servidor-fedora-de-maneira-facil-e-funcional-2)

[3] Comentário enviado por lele_1997 em 12/10/2009 - 19:16h

Muito bom artigo!!! Parabéns !!
Vc poderia ampliar o leque desse artigo, fazendo implementação do Mysql com os dados dos cliente e os scripts para pegar do banco as informações e registrar no sistema. No Iptables, CBQ e DHCP ..
Ai iria matar a pau!!!
Valeu pela ajuda

[4] Comentário enviado por nps em 12/10/2009 - 19:22h

Muito bom,excelente continue assim ajudando a todos nós.

[5] Comentário enviado por andriopj em 16/10/2009 - 21:23h

bom amigos, estou ampliando o assunto... e ate melhorando o mesmo. Lembrando que estou tentando descrever o metodo mais facil, nao sendo esses as unicas maneiras de se produzir o mesmo... mas enfim, espero que gostem.

[6] Comentário enviado por alotus em 03/11/2009 - 10:47h

Bom Artigo.

Eu estou tentando implementar um postfix num servidor com Banda larga GVT. Já fizeram o DNS Reverson na operadora, cadastrei o domínio no Registro BR com o serviço do SUPERDNS, e redirecionei para o IP Fixo do Modem da operadora no SUPERDNS. Pinga sem problema algum. Como faria para implementar o POSTFIX nele. Poderia dar alguma dica????


[7] Comentário enviado por deuz em 19/11/2009 - 12:23h

Muito bom, pelo menos até onde li, que foi somente o Bind. Meu caro, fiz conforme vc falou, e tudo funciona correto, navego, o serviço sobe normalmente sem erros, ocorre que com isso nao consigo enviar e nem receber e-mails, o que poderia estar faltando, eu apenas configurei o bind, nao uso dhcp (pelo que vi no artigo, tem uma ligação ambos).

se voce ou alguem puder me dar umas dicas, pretendo fazer isso na minha rede sem configurar o dhcp.

[8] Comentário enviado por andriopj em 04/04/2010 - 19:26h

@deuz
a ligacao entre o dhcp e o dns é somente para enviar as informacoes aos hosts clientes...

nessa maquina que vc nao esta conseguindo enviar nen receber emails, qual o dns que esta configurado ai?
tente colocar outro dns... apenas de eu achar que nao seria esse o erro.

[9] Comentário enviado por cdcanalli em 07/03/2012 - 16:25h

Estava pesquisando sobre firewall e cheguei ao seu artigo....
Parabéns...
Materia muito bem detalhado, bem comentado...
Me Ajudou Muito...
Meu servidor Debian tá ficando Ninja... :p

Obrigado...

Abraço...

[10] Comentário enviado por llbranco em 20/03/2012 - 13:11h

olá, tenho uma grande duvida em relação ao squid:

como faço para o squid tornar disponivel um objeto em cache caso o site da qual está o verdadeiro objeto esteja offline???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts