Compartilhar conexão com FreeBSD

Introdução
Certamente, se você está começando a ir mais à fundo no mundo do nosso querido FreeBSD, e tem uma pequena rede local , com certeza tem interesse em compartilhar sua conexão de Internet para toda a rede, otimizando assim todo o tráfego.
Você vai aprender agora, uma forma prática e objetiva de compartilhar a Internet com o natd, e instalar um squid para cachear as páginas acessadas pela rede. Primeiramente, você deve compilar o kernel com estas configurações abaixo, para otimizar o diskd do Squid e habilitar o ipdivert e ipfirewall:

Parametros de compilação

options NETGRAPH
options NETGRAPH_PPPOE
options NETGRAPH_ETHER
options NETGRAPH_PPP
options NETGRAPH_ASYNC
options NMBCLUSTERS=65536
options MSGBUF_SIZE=1048576
options SYSVMSG
options MSGMNB=16384

options MSGMNI=41
options MSGSEG=2049
options MSGSSZ=64
options MSGTQL=512
options SHMSEG=16
options SHMMNI=32
options SHMMAX=2097152
options SHMALL=4096
options IPDIVERT
options IPSTEALTH

options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options DUMMYNET
options TCPDEBUG
Se você não sabe onde localiza-se o arquivo de configuração do kernel, é no diretório “/usr/src/sys/i386/conf”. Aqui no site há um artigo ensinando a compilar o kernel, siga-o para acertar esta etapa.
Reinicie o seu computador.

Configuração

Logo após seguir esta etapa, você precisa habilitar o natd , o repasse de pacotes e o seu firewall . Vá ao arquivo “/etc/rc.conf” e insira as seguintes linhas:
natd_enable=”YES”
natd_interface=”xy0″ #onde xy0 é a sua interface onde há a conexão com a internet.
gateway_enable=”YES”
firewall_enable=”YES”
firewall_type=”OPEN” #tipo do firewall

Feito isto, salve o seu “rc.conf” e reboote novamente. Se você inicialmente estiver com algum problema para navegar, digite como root o seguinte comando do ipfw:
ipfw add 65000 allow ip from any to any
Este comando irá repassar todos os pacotes, ignorando as regras de bloqueio, pode ser útil em algumas situações🙂.
Ok, teoricamente você já estará compartilhando o seu acesso à Internet.

Instalação do Proxy

Vamos à etapa posterior igualmente importante, que é a instalação do cache (proxy) Squid. A função do squid é a de fazer cache das páginas acessadas pela rede, bem como filtrar o acesso a determinada páginas, entre outras funções importantes mas que não serão vistas neste artigo.
Vá como root, ao diretório “/usr/ports/www/squid” e digite o comando “make install clean”. Deixe as opções padrões marcadas e espere a instalação se completar.
Agora, vamos dar uma pequena olhada no arquivo onde contém os parâmetros de configuração do mesmo, denominado “squid.conf” que está em “/usr/local/etc/squid/”.
Alguns parâmetros básicos devem ser vistos, conforme abaixo:
http_port 3128 #porta onde roda o seu squid
cache_mem 16 MB # quantidade de memória alocada pelo seu squid, quanto mais melhor🙂
dns_nameservers 200.215.1.35
200.202.30.1 200.202.17.1 #servidores dns
acl rede src 192.168.1.0/24

#esta ACL ou seja, regra, é para controlar o acesso ao seu squid. No caso, eu digo que a acl rede #possui a origem a rede
192.168.1.0/24.

http_access allow rede # este parâmetro libera a ACL rede para navegar.

httpd_accel_port 80 #aceleramento da porta
httpd_accel_host virtual
httpd_accel_with_proxy on

httpd_accel_uses_host_header on
Basicamente estes parâmetros já deixam o seu squid seguro e funcional.
Agora tem mais outro passo importante, que é fazer o proxy trabalhar de forma transparente, sem precisar configurar nada nas máquinas clientes. No meu firewall eu inseri a seguinte linha:
${fwcmd} add 60 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any 80 via rl0
Lembrando que a interface rl0 deve ser substituída pela interface da sua rede local. Insira esta linha, abaixo das regras que lêem o tipo do firewall , no nosso caso é open. Se você se perder, procure esta linha e insira a regra do firewall abaixo.
case ${firewall_type} in
[Oo][Pp][Ee][Nn])
Ok, está quase tudo pronto, faltando somente o parametro dentro do “rc.conf” no “/etc” para startar o squid automaticamente. Insira o seguinte parâmetro:
squid_enable=”YES”
Salve o arquivo, e reinicie o seu gateway. E teste, para ver se não houve algum problema.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: