FreeBSD - Instalação, atualização e gerência

FreeBSD - The Power to Serve {O Poder de servir}
http://www.freebsd.org/
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/

O FreeBSD é um sistema operacional livre do tipo Unix descendente do BSD desenvolvido pela Universidade de Berkeley.

Está disponível para as plataformas Intel x86, DEC Alpha, Sparc, PowerPC e PC98 assim como para as arquiteturas baseadas em processadores de 64bits IA-64 e AMD64.

Robusto e estável, é bastante utilizado em servidores como firewall, proxies etc, mas também pode ser utilizado como estação de trabalho.

Este tutorial tem como objetivo fazer uma passo a passo da instalação, atualização e comandos básicos de gerência do FreeBSD para um servidor de produção. Para este tutorial foi utilizado o FreeBSD-8.2-RELEASE-i386.


Instalação:
É possível realizar a instalação do FreeBSD através de diferentes fontes, para nosso tutorial vamos utilizar a instalação através do CD baixado do site http://www.freebsd.org ficando para um tutorial futuro a instalação através de outras fontes (ftp, nas entre outras).

Realize o boot pelo CD e siga os passos listados abaixo:

  •  Country Selection
    • 31 Brazil
  • System Console Keymap
    • Brazil ISO keymap (acecent keys )
  • FreeBSD/i386 8.2-RELEASE - sysinstall Main Menu
    • Custom
      • Choose Custom Installation Options
        • Partition
          • Usar as opções A (usar o disco inteiro) e Q para criar e sair
          • Usar Standard para não criar o gerenciador de boot (tipo Lilo/Grub)
        • Label
          • Usar C para criar as partições de swap e sistema e Q para finalizar
          • Na partição de sistema colocar a opção S (Toggle SoftUpdates)
        • Distributions
          • Escolher Kern-Developer
          • Na página seguinte dar um YES para copiar os ports (especie de repositório)
          • Exit para retornar
        • Media
          • Selecionar para instalar do CD
        • Commit
          • Salva as alterações realizadas e inicia a instalação
Após concluir a instalação o sistema vai solicitar se você já deseja realizar configurações adicionais ou finalizar a instalação e reiniciar o servidor. Neste ponto opte por realizar as configurações adicionais e siga os passos abaixo:
  • FreeBSD Configuration Menu
    • Root Password
    • User Management
      • User
        • Informe os dados do novo usuário, observando que o novo usuário deve pertencer ao grupo wheel para poder fazer su
    • Time Zone
      • America Sul, Brasil, SC
    • Networking
      • Interfaces
        • selecione a placa de rede e escolha se deseja DHCP ou então informe os dados de rede para a placa.
      • sshd
  • Ao retornar para a tela Choose Custom Installation Options dar Exit e X Exit Install e reinicie o servidor.

Pronto! FreeBSD instalado! Agora é realizar alguns passos pós instalação e colocar o servidor para funcionar.

<<<<<<<<<<<<<<< pós instalação >>>>>>>>>>>>>>>

=> Baixando e instalando melhoras para o shell
pwd (verificar e deixar na raiz do root)
fetch http://dl.dropbox.com/u/1789002/.cshrc 
source .cshrc


=> Instalando o vim e as melhoras para o editor
pwd
fetch http://dl.dropbox.com/u/1789002/.vimrc
pkg_add -rv vim-lite 
rehash


=> Ajustar data/hora
date 201106171135 (ccyymmddHHMM)

=> Trocar a porta do ssh e não liberar o acesso ssh para o root
vi /etc/ssh/sshd_config
PermitRootLogin no 
Port 2211
etc/rc.d/sshd restart

=> Atualizar os binarios do sistema (patch de segurança etc)
freebsd-update fetch 
freebsd-update install

=> Atualizar o ports
portsnap fetch extract 
portsnap fetch update

=> O arquivo /etc/hosts funciona em conjunto com o servidores DNS e NIS oferecendo mapeamento de nome para endereços IP.
vi /etc/hosts
::1                     localhost localhost.abc.bolinhas.br
127.0.0.1         localhost localhost.abc.bolinhas.br
10.30.5.202     dick
.abc.bolinhas.br dick
10.30.5.202     dick
.abc.bolinhas.br .

=> Ver quais portas estão abertas no servidor
sockstat -l  
sockstat -4l (somente ipv4)

=> Visualizar/Configurar o rc.conf
vi /etc/rc.conf
hostname="dick.abc.bolinhas.br" 
ifconfig_em0="DHCP" 
keymap="br275.iso.acc" 
sshd_enable="YES" 
#ativa o fsck no boot caso tenha problema de disco 
fsck_y_enable="YES"

<<<<<<<<<<<<<<< inicio comandos uteis para gerencia >>>>>>>>>>>>>>>

=> Para configurações gerais após instalação - ex: configuração de rede, usuários etc
sysinstall
=> Arquivo principal do FreeBsd
/etc/rc.conf
=> Versão do sistema instalado
uname -a
=> Nome do sistema
hostname
=> Trocar hostname de uma maquina em produção
hostname newname (altera somente em memoria)
vi /etc/hosts (manter as alterações)
vi /etc/rc.conf (manter as alterações)
=> Ver qual é a configuração de HW (q para sair)
Buscar onde esta o arquivo
find /var/ -name "dmesg*"
Verificar hw
less /var/run/dmesg.boot
ou
dmesg | less
=> Ver o uso de disco, formatado em GB
df -h
=> Ver o tamanho e permissão dos arquivos
ls -lh
=> Ver o tamanho de uma pasta
du -sh pasta
=> Excluir arquivo
rm arquivo
=> Excluir diretório/pasta e todo seu conteúdo
rm -rf pasta
=> Informações do usuário:
pw user show ftp -P
=> Trocar senha de usuário (nunca rode sem informar o usuário)
passwd coelho
=> Ver ocupação dos serviços (q para sair)
top
=> Algumas opções para ver quais portas e processos estão rodando
sockstat -l
sockstat -4l
sockstat -l | grep -i ftp ( para verificar se uma porta especifica esta aberta )

-4 mostra sockets IPv4-6 mostra sockets IPv6.-c mostra sockets conectados-l mostra portas abertas
netstat -nat | grep LISTEN (alternativa usando netstat)
netstat -anf inet (mostra portas)
netstat -tan | grep 3128
ps -aux | grep -i ftp ( será exibido os serviços do proftpd rodando )
=> Monitorar logs em tempo real
tail -f /var/log/XXXXXX
=> Monitorar em tempo real o que passa por uma determinada interface
tcpdump
tcpdump -ni em1
tcpdump -ni em1 port 53
tcpdump -ni em1 host 10.30.0.100
tcpdump -ni bge1 host 10.30.3.138 and port 53
tcpdump -ni bge1 host 10.30.3.129 | grep -v 2231
tcpdump -n ether host xx:xx:xx:xx:xx:xx
tcpdump -e -i em1 | grep 'xx:xx:xx:xx:xx:xx'

=> Procurar/Corrigir erros no sistema de arquivos

fsck partição
ex: fsck /dev/ad0s1a

Obs: ativar no rc.conf para executar na inicialização caso tenha problema. Ex: servidor reiniciou de madrugada...

fsck_y_enable="YES"
=> Para limpar a tela ao sair criar um novo arquivo com o texto clear
vi /root/.logout
clear
=> Para limpar a tela ao entrar (reduzindo o texto que abre) editar o arquivo /etc/motd
vi /etc/motd
(apagar o que não quer)
=> Ver quem esta utilizando mais uma determinada interface

Por padrão o iftop não vem instalado, vamos instalar usando o comando abaixo:
pkg_add -rv iftop
Rodando o comando para ver quem esta usando mais determinada interface

iftop -ni em0
Com base no retorno do iftop, é possivel pequisar no log do dhcp para ver quem é a maquina (q para sair)
grep {ip ou parte do ip} /var/log/dhcp/dhcpd.log
=> Variáveis de ambiente
.cshrs para o usuario ou /etc/csh.cshrc
=> Para mudar o dono de um diretório/arquivo
chwon dono:grupo arquivo
chwon luciano:www arquivoX
=> Para definir o dono de uma determinada pasta
/mnt/share/publico
chown -Rv usuario pasta
=> Assume o Login de outro usuário
su usuario
=> Mostra os usuários logados no sistema
who
=> Mostra o conteúdo de um arquivo
cat /var/log/squid/abcbolinhas.log
=> Mostra o manual online de um comando
man

É isso pessoal, essa é uma pequena ideia de instalação, configuração e comandos de gerencia do FreeBSD. Em breve coloco mais material relacionado com serviços ftp, dhcp, proxy, samba, pf e por ai vai.

Agradeço aqui aos amigos Kassiano, Daniel e Marcião pela constante troca de conhecimento.

Um forte abraço e fiquem a vontade para enviar sugestões e comentários.

Luciano Coelho
luciano.coelho@gmail.com
@


Comentários

  1. agora fico facil
    dai eh muita mamata heim mutleeeey

    auahuahuahauhauhau

    ResponderExcluir
  2. Obrigado pelo artigo,

    Muito esclarecedor mesmo!!!

    Estou querendo migrar minhas coisas para FreeBSD e isso me ajudou muito.

    Gostaria que você falasse sobre:
    - Firewall, regras, cadeias, etc...
    - Gestor de Pacotes, buscar, instalar, remover, etc...

    ResponderExcluir
    Respostas
    1. Beleza Newton, já estou rascunhando e em breve devo publicar outras postagens, no mesmo molde dessa, abordando alguns serviços como: proxy não transparente, wpad, firewall usando PF, servidor de backup. Acredito que na semana que vem já publique uma nova postagem sobre como bloquear o UltraSurf e similares na rede.
      Um forte abraço
      Luciano

      Excluir

Postar um comentário

Postagens mais visitadas deste blog

Sub-rede / VLSM – IPv4

UltraSurf - Bloqueio definitivo