Instalando um servidor de Internet Básico

22 22UTC Dezembro 22UTC 2008

Instalando e configurando um servidor de Internet Simples

Bom dia, após vários meses sem postar artigos e dicas, devido a alguns problemas de conexão e até mesmo de mudanças de cidade, agora estou de volta, postando alguns novos artigos para facilitar a vida dos usuários de linux.
Neste artigo iremos instalar um servidor de Internet Simples, utilizando Debian GNU/Linux ou qualquer outra distro baseada em Debian como o Ubuntu, iremos utilizar os seguinte softwares para este servidor:
-> Iptables (Firewall)
-> Squid (Proxy)

Vamos começar a instalação….

Abra o shell e logue como root

Instalando os programas necessários

apt-get -y install squid sarg apache2

após o termino da instalação iremos fazer as configurações necessárias no servidor.

iremos editar o arquivo de configuração do Squid:

vi /etc/squid/squid.conf

na linha http_port 3128 adicione na frente a palavra transparent

http_port 3128 transparent

abaixo da linha no_cache deny QUERY adicione o seguinte comando:

error_directory /usr/share/squid/errors/Portuguese

esse comando faz com que os erros que o squid vai apresentar seja em portugues

na linha acl all src 0.0.0.0/0.0.0.0 você tera que por a faixa de IP que o proxy irá trabalhar, caso você deixe todos como default qualquer faixa de IP que usar o servidor como proxy irá funcionar

exemplos: 192.168.1.0/255.255.255.0

após essas linhas deixe irá mostrar todas as portas que o SQUID estará aceitando para navegação, não iremos mexer nelas, pois por padrão já esta todas as portas necessárias para navegação, após a linha
acl CONNECT method CONNECT apague tudo que iremos fazer algunas configurações diferentes……..

Adicionas seguintes linhas:

#Arquivo com extensões bloqueadas
acl extentions url_regex “/etc/squid/extentions”
#Arquivo com URLS bloqueadas (exemplo computa)
acl urls url_regex “/etc/squid/urls”

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access deny all extentions
http_access deny all urls

Após estas linhas adicione a linha com o nome do seu servidor que será visivel para os usuários, visible_hostname servidor no meu caso eu coloquei o nome dele como servidor, mas pode ser trocado por qualquer outro nome.

Feito isso o nosso squid já esta praticamente pronto, para sair e salver pressione a tecla ESC depois :wq! e pressione ENTER, feito isso vamos criar 2 arquivos que irão conter as extensões e URL’s que serão bloqueados:

extentions (Neste arquivo iremos bloquear download de arquivos por estensões, basta coloca-las aqui que automaticamente o proxy irá bloquear)
urls (adicone as urls dos sites que não poderão ser abertos, adicione sem o www. pois assim o proxy irá bloquear qualquer site que tem o texto no link. Ex.: orkut.com)

feito isso teremos que configurar algumas regras de iptables para que o firewall redirecione as conexões para os cliente, para isso teremos que ter 2 placas de rede, eth0 e eth1, neste caso a minha conexão com a internet
sera feita pela eth0 e a conexão local sera feita pela eth1, teremos que criar 1 arquivo chemado firewall.sh

vi /opt/firewall.sh

adicione as seguintes linhas dentro desses arquivos:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
echo “1″ >/proc/sys/net/ipv4/ip_forward

feche e salve o arquivo e feche, agora teremos que adicionar esta script do firewall automaticamente todas as vezes que o servidor for iniciado, para isso devemos editar o arquivo /etc/rc.local

vi /etc/rc.local

agora adicine a seguinte linha:

cd /opt
./firewall.sh

salve e feche o arquivo, agora temos que dar permissão de execução para o arquivo com o seguinte comando:

chmod +x /opt/firewall.sh

feito isso reinicie o servidor com algum dos seguintes comandos:

init 6 ou shutdown -r now

qualquer um dos 2 comandos irá funcinar, use o que você axar conveniente, após o servidor ser reiniciado, basta configurar os IPS nos clientes, colocando o IP da eth1 do servidor como GATEWAY nos clientes,
não esquecendo que será necessário colocar o DNS primario nos cliente para que os terminais naveguem normalmente, caso não coloque o DNS os clientes não irão navegar.
O DNS varia de acordo com o seu provedor, portanto você tera que entrar em contato como seu provedor para pegar o DNS dele.

Para testar, entre em algum site bloqueado e tente fazer download de algum arquivo com a estenção bloqueada.

Deixe uma resposta