Servidor Debian 6 DHCP + Squid + IPtables
Nesse artigo vamos configurar um servidor com os seguintes serviços: DHCP - atribuição de IP para os hosts da rede local. Squid - liberações e restrições de sites e palavras. IPtables - firewall do GNU/Linux, vamos criar algumas regras básicas e necessárias para o nosso servidor navegar na Internet e trabalhar junto ao Squid.
Instalando o serviço DHCP
Bom, neste artigo vamos configurar três serviços:
Obs.: Vou usar meu editor preferido, o Vim, quando eu pedir para editar um arquivo, usem o editor de arquivo de sua escolha.
Começando com as atualizações dos pacotes e também, atualizar o sistema com os seguintes comandos:
# apt-get update
# apt-get upgrade
Vamos começar configurando nossas interfaces de rede.
Nosso servidor precisa de duas placas de rede, uma para Internet e outra para rede local. Supondo que temos estas duas placas de rede, vamos determinar que:
Vamos editar o arquivo responsável pelas placas de rede:
# vim /etc/network/interfaces
O arquivo "interfaces" deverá ficar assim:
Agora vamos reiniciar o serviço das placas de rede:
# /etc/init.d/networking restart
Verificar se as placas de rede estão com os IPs corretos, com o comando:
# ifconfig
Agora vamos instalar o serviço DHCP com o comando:
# apt-get install dhcp3-server
Acessar o diretório:
# cd /etc/dhcp/
Mover o arquivo para que possamos criar um próprio nosso:
# mv dhcpd.conf dhcpd.conf.bkp
Agora vamos criar um arquivo novo:
# vim dhcpd.conf
No arquivo novo, vamos adicionar estas configurações:
Editar o arquivo:
# vim /etc/default/dhcp3-server
Vamos adicionar nossa placa de rede local:
Feito estas configurações, podemos salvar o arquivo e reiniciar o serviço:
# /etc/init.d/isc-dhcp-server restart
Se tudo tiver correto, o serviço vai subir. Se apresentar alguma falha, temos que ver os arquivos de configuração novamente para procurar o problema.
Vamos para o Squid.
- DHCP → Atribui IPs para os computadores clientes da rede local,
- Squid → Responsável por bloquear e liberar palavras e sites,
- IPtables → É o firewall do GNU/Linux, vamos configurar algumas regras básicas.
Obs.: Vou usar meu editor preferido, o Vim, quando eu pedir para editar um arquivo, usem o editor de arquivo de sua escolha.
Começando com as atualizações dos pacotes e também, atualizar o sistema com os seguintes comandos:
# apt-get update
# apt-get upgrade
Vamos começar configurando nossas interfaces de rede.
Nosso servidor precisa de duas placas de rede, uma para Internet e outra para rede local. Supondo que temos estas duas placas de rede, vamos determinar que:
- eth0 → Placa conectada com a Internet.
- eth1 → Placa com endereço fixo compatível com a rede local.
Vamos editar o arquivo responsável pelas placas de rede:
# vim /etc/network/interfaces
O arquivo "interfaces" deverá ficar assim:
The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
#NetworkManager
#iface eth0 inet dhcp #a placa eth0 tem que ta conectada com a internet
#Lan eth1
allow-hotplug eth1 #quando subi o sistema ele já carrega com essas configurações como padrão
iface eth1 inet static #setando IP na mão
address 192.168.100.1 #IP da placa de rede
netmask 255.255.255.0 #mascara da sub rede
network 192.168.100.0 #endereço da rede
broadcast 192.168.100.255 #broadcast da rede
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
#NetworkManager
#iface eth0 inet dhcp #a placa eth0 tem que ta conectada com a internet
#Lan eth1
allow-hotplug eth1 #quando subi o sistema ele já carrega com essas configurações como padrão
iface eth1 inet static #setando IP na mão
address 192.168.100.1 #IP da placa de rede
netmask 255.255.255.0 #mascara da sub rede
network 192.168.100.0 #endereço da rede
broadcast 192.168.100.255 #broadcast da rede
Agora vamos reiniciar o serviço das placas de rede:
# /etc/init.d/networking restart
Verificar se as placas de rede estão com os IPs corretos, com o comando:
# ifconfig
- Na placa eth0 → Tem que estar o IP do seu modem ou roteador.
- Na placa eth1 → Tem que estar o IP que atribuímos no arquivo interfaces, o IP da nossa rede local.
Agora vamos instalar o serviço DHCP com o comando:
# apt-get install dhcp3-server
Acessar o diretório:
# cd /etc/dhcp/
Mover o arquivo para que possamos criar um próprio nosso:
# mv dhcpd.conf dhcpd.conf.bkp
Agora vamos criar um arquivo novo:
# vim dhcpd.conf
No arquivo novo, vamos adicionar estas configurações:
ddns-update-style none;
default-lease-time 86400; #com esses valores, os IPs ficaram emprestados durante 8 horas e após 8 horas vai ter uma nova requisição de IP
max-lease-time 604800;
authoritative; #nosso servidor vai ser o principal na rede, ele vai atender todas requisições de IPs
subnet 192.168.100.0 netmask 255.255.255.0 { #aqui vamos colocar o IP da nossa rede local, e a mascara de sub rede
range 192.168.100.5 192.168.100.10; #aqui vamos colocar o range de IPs do nosso servidor, vamos entregar 5 IPs para testes
option domain-name-servers 8.8.4.4, 8.8.8.8; #aqui vamos colocar o nosso servidor DNS, tem que ser o mesmo que esta configurado em nosso modem ou roteador, ou pode ser o do Google mesmo
option domain-name "dominio.local"; #aqui vamos colocar um domínio de DNS, se você tiver um AD ou servidor BIND 9 rorando na empresa, podemos usar o dominio local da empresa
option routers 192.168.100.1; #esse IP é o que vai fazer o roteamento dos pacotes, é o IP do nosso servidor DHCP
option broadcast-address 192.168.100.255; #broadcast da rede
}
#nessa parte podemos configurar o servidor para entrega o mesmo IP para um determinado cliente da rede local:
#host TESTE { #nome do host
#hardware ethernet 1c:4b:d6:f9:09:42; #adiciona o MAC do computador da rede
#fixed-address 192.168.100.2; #escolha um IP valido para o host
#}
default-lease-time 86400; #com esses valores, os IPs ficaram emprestados durante 8 horas e após 8 horas vai ter uma nova requisição de IP
max-lease-time 604800;
authoritative; #nosso servidor vai ser o principal na rede, ele vai atender todas requisições de IPs
subnet 192.168.100.0 netmask 255.255.255.0 { #aqui vamos colocar o IP da nossa rede local, e a mascara de sub rede
range 192.168.100.5 192.168.100.10; #aqui vamos colocar o range de IPs do nosso servidor, vamos entregar 5 IPs para testes
option domain-name-servers 8.8.4.4, 8.8.8.8; #aqui vamos colocar o nosso servidor DNS, tem que ser o mesmo que esta configurado em nosso modem ou roteador, ou pode ser o do Google mesmo
option domain-name "dominio.local"; #aqui vamos colocar um domínio de DNS, se você tiver um AD ou servidor BIND 9 rorando na empresa, podemos usar o dominio local da empresa
option routers 192.168.100.1; #esse IP é o que vai fazer o roteamento dos pacotes, é o IP do nosso servidor DHCP
option broadcast-address 192.168.100.255; #broadcast da rede
}
#nessa parte podemos configurar o servidor para entrega o mesmo IP para um determinado cliente da rede local:
#host TESTE { #nome do host
#hardware ethernet 1c:4b:d6:f9:09:42; #adiciona o MAC do computador da rede
#fixed-address 192.168.100.2; #escolha um IP valido para o host
#}
Editar o arquivo:
# vim /etc/default/dhcp3-server
Vamos adicionar nossa placa de rede local:
INTERFACES="eth1"
Feito estas configurações, podemos salvar o arquivo e reiniciar o serviço:
# /etc/init.d/isc-dhcp-server restart
Se tudo tiver correto, o serviço vai subir. Se apresentar alguma falha, temos que ver os arquivos de configuração novamente para procurar o problema.
Vamos para o Squid.
Instalei uma VM de teste com CENTOS 6.3, as configuraçoes servem para ele tambem?
Estou iniciando no Linux.
Abraço e parabéns!