Configurando Gateway e DHCP no FreeBSD


Bom, neste post irei explicar os passos necessários de como configurar um gateway na rede com serviço DHCP no FreeBSD 8.2

Nota: em0=(interface de rede externa) e em1=(interface de rede local)

Instalação:

via ports -> /usr/ports/net/isc-dhcp31-server
/usr/ports/net/isc-dhcp31-server: make install clean

Fazendo backup do arquivo exemplo e criando um arquivo novo

mv /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf

Usando o editor de texto ee (padrão do sistema)

ee /usr/local/etc/dhcpd.conf
option domain-name-servers "208.67.222.222,208.67.220.220"; #OpenDNS
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.11 192.168.10.90; #range de IPs
option routers 192.168.10.10; #gateway
}

Iniciar serviço dhcpd

# /usr/local/etc/rc.d/isc-dhcpd start

Ativar roteamento

# sysctl -w net.inet.ip.forwarding=1

(net.inet.ip.forwarding: 0 -> 1)

Habilitando os serviços necessários

ee /etc/rc.conf
ifconfig_em0="DHCP"
ifconfig_em1="inet 192.168.10.10 netmask 255.255.255.0"
dhcpd_enable="YES"
natd_enable="YES"
natd_interface="em0" #em0=placa1(conexão com Internet) em1=placa2(rede local)
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"

ee /boot/loader.conf
ipfw_load="YES"
ipdivert_load="YES"
net.inet.ip.fw.default_to_accept="1"
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE

Para poder usar o NAT, IPFIREWAL, IPDIVERT é necessário compilar o kernel

Compilando kernel FreeBSD

Então adicionaremos os parâmetros necessários para o funcionamento como gateway. No nosso exemplo copiaremos o arquivo GENERIC (este é apenas uma arquivo modelo) com outro nome (KERNCUSTOM). Teremos então dois arquivos, o modelo base (GENERIC) e o outro ao qual iremos modificar (KERNCUSTOM). Para realizar a cópia faça

# cp –p /usr/src/sysi386/conf/GENERIC /usr/src/sysi386/conf/KERNCUSTOM.

Manter o mesmo nome do arquivo de configuração e do próprio kernel (ident) ajuda a manter a organização.
Então adicionamos os seguintes parâmetros (as linhas que iniciam com # são comentários):

ident KERNCUSTOM #Nome de identificação do kernel. Não há relação com o nome do arquivo, é apenas uma boa prática para identificar e/ou versionar e organizar as possíveis variações de kernel;
options IPFIREWALL # Habilitando o módulo do IPFW (firewall);
options IPFIREWALL_FORWARD # Habilita o repasse de pacotes entre interfaces de rede interna e externa;
options IPFIREWALL_DEFAULT_TO_ACCEPT # Comportamento padrão para o firewall, definido como aberto (caso essa linha seja omitida o padrão será fechado, portanto as regras no arquivo de rc.firewall deverão ser alteradas);
options IPFIREWALL_VERBOSE #Habilitando o log do firewall no syslogd;
options IPFIREWALL_VERBOSE_LIMIT=1000 – #Limite do log em Mb;
options IPDIVERT #Habilitando o uso de socket divert por padrão na porta 8668.

Editado o arquivo KERNCUSTOM, devemos então retornar ao diretório /usr/src para que consigamos executar os comandos para construção e instalação do novo kernel.
A construção do kernel usando o arquivo de configuração que foi editado, a depender do microcomputador, pode ser demorada. Para isso, execute:

# make buildkernel KERNCONF=KERNCUSTOM

Se nenhum erro foi encontrado, instale o novo kernel usando o make:

# make installkernel KERNCONF=KERNCUSTOM

Se tudo ocorreu bem, teremos então o FreeBSD pronto para atuar como gateway. Assim, basta reiniciar o computador e ligar suas conexões de rede (interna e externa) nas interfaces corretas. Lembre-se das configurações do rc.conf, devemos nos atentar em ligar as conexões de rede às placas corretas.

Caso o cliente tiver problemas para navegar
# ipfw add 65000 allow ip from any to any #libera os pacotes que tava bloqueando

Feito!

Referências:
http://www.devmedia.com.br/articles/viewcomp_forprint.asp?comp=20814
http://www.kodiva.com/post/freebsd-as-an-internet-gateway-with-dhcp-services
http://blog.clickgratis.com.br/mauricio/

Conte-nos o que achou...

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: