Preparando o Kernel do FreeBSD 10.1 para CARP e ALTQ

E ai galera aqui vamos verificar como preparar o kernel do FreeBSD 10.1 para trabalhar com o CARP e o ALTQ.

Agora pense que você não mandou instalar os fontes do kernel na instalaço do FreeBSD. Então a gente precisamos obter ele, vamos fazer este processo com o svn, vamos mandar instalar ele.

Podemos mandar instalar ele com o pkg da seguinte forma

pkg install subversion

Podemos fazer a intalação também pelo ports

cd /usr/ports/devel/subversion
make install clean

Agora vamos obter os fontes da seguinte forma.

svn checkout https://svn0.us-west.FreeBSD.org/base/head/sys /usr/src/sys

Agora vamos criar um diretório que vai armazenar a configuração do kernel.

mkdir /root/kernels

Agora vamos criar o nosso arquivo de configuração para o nosso kernel.

vim /root/kernels/PFFIREWALL
### INCLUDE GENERIC CONFIGURATION
include GENERIC

### SET THE ID FOR KERNEL
ident PFFIREWALL

### CONFIGURATION FOR PF AND CARP
device pf
device pflog
device pfsync
device carp

### CONFIGURATION FOR ALTQ CAN BE USED WITH PF TO PROVIDE (QOS)
options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_PRIQ
options         ALTQ_NOPCC

### ENABLE QUOTA FOR FS
options QUOTA

A primeira linha do arquivo fazemos a importação da configuração do kernel GENERIC que é o padrão que vem com o FreeBSD, eu adicionei uma linha extra que é para quota caso precise caso não queira basta remover.

Agora vamos criar um link da configuração do nosso kernel para o diretório que contem o GENERIC kernel da nossa arquitetura.

ln -s  /root/kernels/PFFIREWALL /usr/src/sys/$(uname -m)/conf/PFFIREWALL

Agora vamos acessar o diretório /usr/src

cd /usr/src

Agora precisamos mandar compilar o kernel.

make buildkernel KERNCONF=PFFIREWALL

Agora precisamos mandar instalar o kernel.

make installkernel KERNCONF=PFFIREWALL

Agora precisamos só mandar reiniciar a máquina.

reboot

Depois que o sistema reinicializar vamos ter algo como.

uname -a
FreeBSD freebsd.douglasqsantos.com.br 10.1-RELEASE-p3 FreeBSD 10.1-RELEASE-p3 #0: Wed Jan  7 10:46:38 BRST 2015     root@freebsd.douglasqsantos.com.br:/usr/obj/usr/src/sys/PFFIREWALL  amd64

Referências