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/

Anúncios

Bloqueando o Ultrasurf

Bloqueando o Ultrasurf através do Netfilter/Iptables – versão 10.08

Creio que o UltraSurf é a maior dor de cabeça para qualquer administrador de rede e security officer na atualidade! Após várias análises em artigos, pesquisas e tentativas sem sucesso, decidi estudar melhor esta aplicação, onde consegui o bloqueio sem ter que fechar as conexões 443 nas redes dos clientes.

Leia mais deste post

Debian: servidor de arquivos, antivirus, lixeira e auditoria

  • Ambiente:
    • Sistema básico + Categoria Servidor de Arquivos
    • Disco de instalação (netinst-amd64)
  • Softwares utilizados: Samba+Clamav+Scannedonly
    • Samba: 3.2.5
    • Clamav: 0.95.2
    • Scannedonly: 0.15

Leia mais deste post

Controlando 2 links de internet (roteados) em um gateway Linux com SQUID

Há algum tempo atrás um amigo meu precisou ativar 2 links dedicados e de fornecedores diferentes. Quando o segundo link foi ativado, começou a dor de cabeça. Não é simplesmente colocar o ip da nova operadora e ponto. Deve-se fazer muitas configurações para que isso funcione. E através de pesquisas consegui colocar essa solução para funcionar perfeitamente, veja aqui como ficou e espero que lhe ajude!

Leia mais deste post

Instalando e Configurando DansGuardian no Debian 5.0.3

Utilizando o Debian 5.03, a última versão de instalação via apt-get do DansGuardian é 2.10.1.1 e do Squid é 3.0.STABLE25. Quando fiz as atualizações desses aplicativos verifiquei muitas mudanças, principalmente no Dansguardian, que melhoraram muito o sistema.

Leia mais deste post

Bloqueando o chat do Gmail via firewall (iptables) e proxy (Squid) no Linux

Bloqueando o chat do Gmail via firewall (iptables) e proxy (Squid) no Linux

Para bloquear o chat do Gmail você deve restringir o acesso à seguinte URL: chatenabled.mail.google.com. Leia mais deste post

Filtrando porcarias com o Dansguardian

Assim como você pode fazer bloqueios eficientes no Squid, impedindo acesso não autorizado a endereços web, você também pode fazê-lo com o Dansguardian, filtro de conteúdo para a web que funciona junto com aquele.

Leia mais deste post

Redirecionamento de portas com Iptables

Nessa dica eu gostaria de apresentar o modo de redirecionamento de porta usando o Iptables. Leia mais deste post

Criando firewalls dinâmicos com Iptables Recent

Não seria interessante montar um firewall com regras dinâmicas que permitisse por exemplo, bloquear algum IP por ter tentado acessar o serviço de SSH mais de 3 vezes em menos de 1 minuto? Ou ainda criar alguma logística de batidas de porta e só assim permitir a entrada da conexão ao IP que acertou a combinação de portas!? Tudo isso e muito mais é possível com o módulo recent do Netfilter.

Leia mais deste post

Configurando NO-IP no Debian 5.0.3

Manual baseado em um servidor Linux com Debian 5.0.3 e no-ip 2.1.9. Leia mais deste post