Linux

Instalando Servidor DHCP no Ubuntu Com Duas Placas de Rede e Internet

Vamos falar de papo nerd? Se você tem um velho PC em casa e gostaria de controlar melhor sua rede de computadores, pode transforma-lo num servidor DHCP com o sistema operacional grátis Linux Ubuntu. Você precisa só colocar mais uma placa de rede nele pois precisamos de duas entradas de rede.

Instalar o Ubuntu no seu PC é fácil, basta baixar o arquivo imagem ISO de instalação grátis na internet, gravar para um CD e iniciar seu computador com ele dentro. Depois disso siga este guia para torna-lo seu servidor de rede dhcp. Para quem não sabe o servidor DHCP distribui os endereços de rede automaticamente quando você liga um computador na rede.

ubuntu logo

Cenário do PC Ubuntu com Servidor DHCP

Meu servidor é um PC com Ubuntu, com duas placas de rede, uma conectada ao modem DSL e a outra na subrede interna através de um switch que você pode comprar baratinho em qualquer loja de informática. Vamos checar as configurações das interfaces de rede:

Internet <<==>> eth1 <> Ubuntu gateway <> eth0 <<==>> Client PC

IP Interno Modem DSL – 192.168.0.1

Máquina Ubuntu Conectada ao Modem DSL com IP – 192.168.0.2 (eth1) –

Rede interna para distribuir os IPs na sub rede.

A segunda placa de rede (eth0) ficou com o IP fixo 10.100.254.54 (eth0)

Um cabo de rede liga o servidor Ubuntu da porta eth0 ao switch onde os computadores são conectados na subrede interna 10.100.254.0.

1. Configuração de Placas de Rede

Edite o arquivo interfaces

Você irá ter um conteúdo parecido com esse, altere para os seus valores de endereços IP.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.100.254.54
netmask 255.255.255.0
network 10.100.254.0
gateway 192.168.0.1
broadcast 10.100.254.255

auto eth1
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
broadcast 192.168.0.255

Para reiniciar as placas de rede e fazer as configurações valerem o comando é:

2. Instalando o DHCPD

Para instalar o servidor de DHCP entre o comando:

sudo apt-get install dhcp3-server

Altere o arquivo /etc/default/dhcp3-server para indicar a interface de rede que será usada na rede interna.

No meu caso foi a placa de rede eth0

Agora vamos as configurações do servidor de DHCP, editando o arquivo dhcpd.conf

Que deve conter somente a seguinte informação:

ddns-update-style none;
option domain-name "clnetwork";
default-lease-time 3600;
max-lease-time 7200;
log-facility local7;

subnet 10.100.254.0 netmask 255.255.255.0 {
range 10.100.254.2 10.100.254.210;
option domain-name-servers 200.196.48.20,200.196.48.21;
option routers 10.100.254.54;
option broadcast-address 10.100.254.54;
}

Reinicie o servidor DHCP

Ao reiniciar o seu computador, talvez o arquivo que contém os servidores DNS, que servem para principalmente navegar na internet, tenha seu conteúdo apagado. Conserte isso reinserindo estas informações:

# Generated by NetworkManager

nameserver 8.8.8.8
nameserver 8.8.4.4

Até aqui as máquinas que se conectarem na sua rede conseguem pegar seus endereços IPs através do seu servidor DHCP porém elas ainda não tem acesso a internet. Temos que programar um redirecionamento da placa de rede que acessa a internet para a que serve a rede dhcp.

Para ver os IPs liberados via dhcp, dê o seguinte comando no servidor:

Redirecionando o tráfego de eth1 para eth0 via iptables

Vamos configurar o servidor para redirecionar o tráfego das interfaces de rede e fazer as máquinas clientes conseguirem acessar a internet.

dentro do arquivo ip_forward deve haver o número 1 somente

altere os seguintes parâmetros dentro do arquivo sysctl.conf:

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1

Agora por último a configuração de iptables:

sudo iptables -P INPUT ACCEPT
sudo iptables -F INPUT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F OUTPUT
sudo iptables -P FORWARD DROP
sudo iptables -F FORWARD
sudo iptables -t nat -F

sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
sudo iptables -A FORWARD -j LOG

sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

OBS: Não se assuste, a internet só funciona nas máquinas clientes que pegam ip via seu servidor de dhcp após o último comando iptables “MASQUERADE”.

O comando “iptables -t nat -F” limpa a tabela de redirecionamento e depois que você digitou todos estes comandos, vamos salvar para um arquivo texto para quando a máquina reiniciar eles sejam automaticamentes reprogramados:

vamos criar um script de incialização chamado de “iptables”:

com o seguinte conteúdo:

#!/bin/sh
# script: iptables
/sbin/iptables-restore /etc/network/iptables.rules

Salve e depois altere as permissões para execução:

Análise de Tráfego nos IPs da rede DHCP

Para analisar o tráfego utilizado nos IPs da sua rede, você pode usar o tcptrack. Instale o tcptrack com o seguinte comando:

Usar o tcptrack é fácil, vamos por exemplo analisar o tráfego na porta 80:

Conclusões

Com um PC velho em casa e um sistema operacional como o Ubuntu você pode controlar sua rede interna através da instalação de um servidor DHCP. Seguindo este guia vimos como instalar o servidor DHCP no Ubuntu e configura-lo

Comments
To Top