quinta-feira, 23 de maio de 2013

Configurando Servidor Debian Part 1

Servidor Debian – Parte 1

Esse é um tutorial, de como montar um servidor em Debian, que forneça vários serviços. Nesse caso específico, um serviço de Proxy, Firewall, Nat e Servidor de Arquivos. Esse tutorial mostra também como sou preguiçoso, já que nele coloco vários links que servem de referência para algumas tarefas!
Esse tutorial utiliza uma instalação limpa, e bem seca do debian, que é a Netinst mais detalhes sobre ela você pode conferir aqui: http://www.debian.org/distrib/netinst
Faça o Download de acordo com a sua arquitetura:
32Bits: http://cdimage.debian.org/debian-cd/6.0.2.1/i386/iso-cd/debian-6.0.2.1-i386-netinst.iso
64bits: http://cdimage.debian.org/debian-cd/6.0.2.1/amd64/iso-cd/debian-6.0.2.1-amd64-netinst.iso
Inicialize o computador pelo CD, sem o cabo de rede conectado. Durante a instalação serão feitas algumas perguntas, como Idioma e Layout de Teclado, Esquema de Particionamento, e Senhas de root e usuario. Caso tenha duvidas consulte esse excelente tutorial em: http://www.vivaolinux.com.br/artigo/Instalacao-do-Debian-GNU-Linux-Passo-a-passo
Depois disso o primeiro passo e configurar os dispositivos de Rede. Pois eles não terão sido configurados na Instalação já que iniciamos sem conexão a rede:
Para isso vamos conferir se as placas foram detectadas em /proc/net/dev
$ cat /proc/net/dev
Vai retornar algo como:
face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
lo:     240       4    0    0    0     0          0         0      240       4    0    0    0     0       0          0
eth0:616534700  453480    0    0    0     0          0         0 31123320  258867    0    0    0 40738     174          0
O importante aqui são as ethX, sedo que x é o numero da interface de rede. No exemplo acima, só existe a eth0, mas para esse tutorial e necessário que hajam 2 placas de rede instaladas no servidor. Uma vai ser a interface de rede externa e a outra a interface de rede interna.
Agora vamos a configuração:
Vou considerar que a placa de Rede Interna e a eth1 e a externa e a Eth0, e que você está usando um modem roteado, que é o mais comum por aqui.
#vi /etc/network/interfaces
no vi digite dd (duas vezes a letra d), para excluir as linhas que estão incluídas no arquivo.
depois digite a letra i, para poder começar a inserir um texto no arquivo.
#configuração da interface de loopback
auto lo
iface lo inet loopback
#configuração da interface externa
allow-hotplug eth0
auto eth0
iface eth0 inet dhcp
#configuração da interface interna
allow-hotplug eth1
auto eth1
iface eth1 inet static
address 192.168.25.254
net 192.168.25.0
netmask 255.255.255.0
Depois de digitar isso, pressione a tecla “esc”  para sair do modo de edição e digite “:wq” (write and quit) para sair e salvar.
Agora temos que configurar o sources.list, com os repositorios do debian, já que eles foram comentados durante a instalação.
# vi /etc/apt/sources.list
Ele deve ficar desse jeito:
deb http://debian.las.ic.unicamp.br/debian/ squeeze main
deb-src http://debian.las.ic.unicamp.br/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb http://volatile.debian.org/debian-volatile squeeze/volatile main
deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main
dai, vamos atualizar tudo:
#apt-get update
#apt-get upgrade
Agora vamos instalar o ssh, pra facilitar a vida da gente:
#apt-get install ssh
E vamos aproveitar e instalar o “vim” que e o Vi Improved, muito mais facil de mecher!
#apt-get install vim
Agora vamos começar a compartilha a Internet via Iptables.
Para isso vamos criar um arquivo em /etc/init.d chamado firewall.sh, o nome não importa muito mas é bom usar um nome criativo desses pois facilita na hora de dar manutenção!
#touch /etc/init.d/firewall.sh
Vamos Fazer ele executar, e limitar as permissões:
#chmod 755 /etc/init.d/firewall.sh
#chmod +X /etc/init.d/firewall.sh
agora vamos edita-lo
vim /etc/init.d/firewall.sh
e insira isso:
#!/bin/bash
echo “Parando o forward pelo kernel”
echo 0 > /proc/sys/net/ipv4/ip_forward
echo “Limpando todas as tabelas”
iptables -F
iptables -t nat -F
iptables -t mangle -F
echo “criando liberacoes”
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
echo “liberando o loopback”
iptables -A OUTPUT -p tcp –syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
echo “Criando a regra de NAT”
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo “Redirecionando para o Squid”
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp –dport 80 -j REDIRECT –to-port 3128
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p udp –dport 80 -j REDIRECT –to-port 3128
echo “Iniciando o forward pelo kernel”
echo 1 > /proc/sys/net/ipv4/ip_forward
echo ‘firewall MSTRADING ok’
exit 0
Vamos adicionar o script ao cron, para que assim que o computador iniciar, ele ser executado.
update-rc.d firewall.sh defaults
Agora vamos configurar o Bind9 + Dhcp3-server, eles irão fornecer os endereços ips,  e responder os nomes dos hosts na rede.

Nenhum comentário:

Postar um comentário