Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_e_configuracao_inicial_do_openbsd_4.9_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação e configuração inicial do OpenBSD 4.9 ======
  
 +
 +O **<​nowiki>​OpenBSD</​nowiki>​** é um sistema operacional livre da família UNIX, multiplataforma. Seu time de desenvolvedores enfatiza a portabilidade,​ padronização,​ correção e segurança. Ele suporta emulação binária da maioria dos binários de SRV4 (Solaris), <​nowiki>​FreeBSD</​nowiki>,​ Linux, <​nowiki>​SunOS</​nowiki>​ e HP-UX e funciona nas plataformas alpha, amd64, armish, hp300, hppa, i386, landisk, luna88k, mac68k, powerpc, mvme68k, mvme88k, sgi, sparc, sparc64, vax e zaurus. A versão atual é a 5.1, lançada oficialmente em 1 de Maio de 2012.
 +
 +Os binários e fontes do <​nowiki>​OpenBSD</​nowiki>​ permitem livre distribuição,​ segundo uma licença do tipo BSD. Isto inclui a permissão de reutilizar qualquer parte do código fonte do <​nowiki>​OpenBSD</​nowiki>,​ tanto para uso pessoal quanto para propósitos comerciais. Não existe nenhuma outra restrição posterior a aquelas implicadas pela licença original do <​nowiki>​OpenBSD</​nowiki>​. Ele pode ser livremente usado em ambientes doméstico, acadêmico, instituições governamentais,​ organizações sem fins lucrativos e organizações comerciais
 +
 +**Características do <​nowiki>​OpenBSD</​nowiki>​**
 +
 +  * Roda em muitos hardwares diferentes.
 +  * Foi pensado por muitos profissionais em segurança para ser o sistema operacional mais seguro da família UNIX, sendo resultado de um ano e meio de trabalho de 10 membros e de um amplo estudo de códigos-fonte.
 +  * É um sistema operacional completo da família UNIX.
 +  * Integra uma tecnologia de ponta em segurança, adequado para a criação de firewalls e serviços de redes privados em um ambiente distribuído.
 +  * Beneficia um forte encaminhamento de desenvolvimento em diversas áreas, oferecendo oportunidades de trabalho de diversas tecnologias para a comunidade internacional de programadores e usuários finais.
 +  * Oferece a oportunidade de qualquer pessoa tecnicamente capacitada trabalhar no desenvolvimento e testes do produto.
 +
 +**Objetivos do Projeto**
 +
 +Obviamente, cada desenvolvedor trabalhando no <​nowiki>​OpenBSD</​nowiki>​ possui seus objetivos e prioridades,​ porém é possível classificar os objetivos que temos em comum:
 +
 +  * Promover a melhor plataforma de desenvolvimento possível. Prover acesso total ao código fonte aos desenvolvedores e usuários, incluindo a habilidade de olhar as alterações na árvore CVS diretamente. Os usuários podem até olhar as alterações de nossa árvore de código fonte diretamente na Web!
 +  * Integrar bom código de qualquer origem com uma política de direito autoral aceitável (são preferidas as licenças ISC ou Berkeley; GPL é aceita como último recurso, exceto no kernel; NDA nunca é aceita). Queremos tornar disponível código fonte que qualquer um possa usar para QUALQUER FIM, sem restrições. Nos esforçamos para fazer nosso software robusto e seguro, e incentivamos as empresas a usarem qualquer parte dele. Existem produtos comerciais baseados no <​nowiki>​OpenBSD</​nowiki>​.
 +  * Prestar atenção aos problemas de segurança e consertá-los antes que qualquer outro o faça. (Tentar ser o sistema operacional número 1 em segurança.)
 +  * Realizar uma boa integração de softwares criptográficos. Isso significa IPsec, mecanismos de chaves, Kerberos, AFS livre, e outras formas de criptografia forte ou sistemas de uso criptográfico. O <​nowiki>​OpenBSD</​nowiki>​ é desenvolvido e lançado no Canadá, e de acordo com as leis canadenses é permitida a exportação de criptografia para o mundo (de acordo com a pesquisa de um cidadão canadense e também com a lista de Controle de Exportação Canadense). Os desenvolvedores do <​nowiki>​OpenBSD</​nowiki>​ estão fazendo pesquisas e desenvolvimentos ativos no IPsec.
 +  * Seguir e implementar padrões (ANSI, POSIX, partes do X/Open, etc.)
 +  * Trabalhar em prol de um código fonte bastante independente de plataformas específicas. Suportar o maior número possível de sistemas e hardware diferentes.
 +  * Ser livre de políticas de sistema; as soluções devem ser tomadas com base em méritos técnicos.
 +  * Foco no desenvolvedor em todos os sentidos, incluindo manter eventos para desenvolvedores,​ chamados de hackathons.
 +  * Não deixar problemas sérios sem solução.
 +  * Prover um bom sistema de compilação/​desenvolvimento multiplataforma.
 +  * Importar pacotes externos com modificações mínimas, tornando a atualização muito mais fácil. E também enviar aos seus desenvolvedores as alterações efetuadas no pacote.
 +  * Lançar uma versão baseada em CD-ROM aproximadamente a cada seis meses, com o objetivo particular de ajudar os fundos do projeto...
 +
 +Aonde obter as mídias de instalação do <​nowiki>​OpenBSD</​nowiki>​ 4.9 em http://​www.openbsd.org/​ftp.html ​
 +
 +Exemplo de mirror aqui selecione a sua arquitetura ou amd64 ou i386 http://​openbsd.org.ar/​pub/​OpenBSD/​4.9/ ​
 +
 +Vou pegar como exemplo o amd64 caminho completo para baixar a mídia abaixo http://​openbsd.org.ar/​pub/​OpenBSD/​4.9/​amd64/​install49.iso ​
 +
 +Agora que temos a mídia vamos a instalação configure a BIOS para iniciar pelo CD ou pela iso em caso de VMs
 +
 +  - Na tela inicial pressione ENTER.
 +  - Agora em (I)stall,​(U)upgrade or (S)shell ? informe I
 +  - Agora precisamos selecionar o nosso teclado para listar os possíveis selecione L
 +  - no meu caso vou selecionar br
 +  - Agora precisamos informar o nome da maquina no meu caso openbsd.douglasqsantos.com.br
 +  - Agora chegamos na parte de configuração da interface de rede pressione ENTER
 +  - Agora temos a opção padrão que é dhcp, no meu caso vou setar um ip manualmente então informe o ip ou pressione ENTER para pegar um ip via dhcp no meu caso: 10.0.0.29
 +  - Agora se você setou o ip manualmente temos que definir a mascara de sub-rede: 255.255.254.0
 +  - Agora vamos ter a opção de configurar ipv6 no meu caso vou somente pressionar enter para não setar
 +  - Agora é só pressionar enter para confirmar
 +  - Agora precisamos informar um endereço de gateway: 10.0.0.254
 +  - Agora precisamos informar o domínio de nossa rede como já informei no nome da maquina douglasqsantos.com.br aqui é só pressionar enter
 +  - Agora temos que informar o endereço do dns: 10.0.0.254
 +  - Agora temos que pressionar enter para terminar a configuração de rede
 +  - Agora temos que informar a senha para o root
 +  - Agora temos que confirmar a senha para o root
 +  - Agora vamos ser questionados sobre se o sshd vai ser iniciado no boot vamos só pressionar enter
 +  - Agora vamos ser questionados sobre o serviço de ntpd vamos deixar ele também para iniciar no boot então informe yes
 +  - Agora podemos selecionar um servidor ntp ou deixar o openbsd escolher um padrão vou informar o da usp: ntp.usp.br
 +  - Agora vamos ser questionados sobre o sistema de gerenciador de janelas como estou preparando um servidor vou informar no
 +  - Agora vamos ser questionados se o usuário pode informar o nome em maiúscula ou minuscula e o sistema aceitar vou pressionar somente enter
 +  - Agora vamos ser questionados sobre o Timezone digite ? para listar
 +  - Aqui podemos informar direto America/​Sao_Paulo
 +  - Agora vamos selecionar America então digite America
 +  - Agora podemos listar os possíveis valores na America com ?
 +  - Agora vamos ser questionados sobre o disco que vai ser utilizado no meu caso so esta aparecendo o wd0 vou pressionar ENTER
 +  - Agora podemos editar o particionamento ou deixar ele escolher com W vou pressionar W
 +  - Agora o sistema me gerou um particionamento eu posso editar ou mudar vou deixar o padrão então é só informar a
 +  - Ele vai preparar o disco para nós
 +  - agora temos que informar o tipo da instalação como eu já estou com o cd vou informar cd e pressionar enter
 +  - Agora ele pergunta qual a mídia no meu caso ele achou o cd0 vou utilizar esse mesmo então pressione ENTER
 +  - Agora ele pergunta sobre a pathname que é a versão/​arquitetura pressione ENTER
 +  - Agora estamos na parte da escolha dos pacotes podemos adicionar ou remover pacotes aqui informar - ou + e o nome do pacote
 +  - aqui vamos retirar todos os pacotes de X então digite -x*
 +  - Agora vamos adicionar o xbase49 pois senão vamos ter que instalar manualmente depois então digite +base49.tgz
 +  - Agora vamos adicionar o suporte a múltiplos processadores +bsd.mp
 +  - Agora vamos retirar o suporte a jogos -game49.tgz
 +  - Agora vamos pressionar ENTER
 +  - Agora temos que confirmar o horário então pressione ENTER
 +  - Agora o sistema já esta instalado agora é só remover a mídia e reiniciar o servidor
 +  - reboot
 +  - Remova a mídia de instalação
 +
 +Agora após a instalação vamos fazer alguns acertos em nosso <​nowiki>​OpenBSD</​nowiki>​
 +
 +Aqui podemos fazer no console ou via ssh pois deixamos para ele ser habilitado na inicialização
 +
 +Agora vamos acertar o variável do pkg_path que serve para a referência de onde buscar os pacotes remotos para instalação.
 +
 +<sxh bash>
 +export PKG_PATH=http://​openbsd.org.ar/​pub/​OpenBSD/​4.9/​packages/​`machine -a`/
 +</​sxh>​
 +
 +Para instalarmos pacotes no <​nowiki>​OpenBSD</​nowiki>​ temos duas opções, podemos utilizar o pkg_add ou o ports, o pkg_add vai buscar o pacote compilado em algum repositório web e manda instalar e as suas dependências,​ já o ports nós podemos personalizar o nosso pacotes pois temos que efetuar a compilação e a instalação dele.
 +
 +Vou abordar no início a instalação de alguns pacotes com o pkg_add, porém mais a frente vou abordar o ports 
 +Vamos procurar o vim
 +<sxh bash>
 +pkg_add -v vim
 +Ambiguous: vim could be vim-7.3.3p1-gtk2 vim-7.3.3p1-no_x11
 +</​sxh>​
 +
 +Vamos instalar e configurar o VIM, wget e o ntp
 +<sxh bash>
 +pkg_add -v vim-7.3.3p1-no_x11 wget ntp
 +</​sxh>​
 +
 +Nós temos o modo interativo do pkg_add que é utilizar a flag -i, em questões como o nosso vim que temos no mínimo dois pacotes para a instalação e o pkg_add precisa que especifique qual dos pacotes deve ser instalado, com a opção -i ele já nos questiona sobre qual queremos instalar. ​
 +
 +
 +Podemos obter uma lista dos pacotes já instalados com o seguinte comando
 +<sxh bash>
 +pkg_info ​
 +vim-7.3.3p1-no_x11 ​ vi clone, many additional features
 +[...]
 +</​sxh>​
 +
 +Podemos remover um pacote instalado com o pkg_add da seguinte forma 
 +<sxh bash>
 +pkg_delete vim
 +</​sxh>​
 +
 +Para atualizarmos um pacote instalado com o pkg_add da seguinte forma 
 +<sxh bash>
 +pkg_add -u vim
 +</​sxh>​
 +
 +Vamos acertar a configuração do vim 
 +<sxh bash>
 +cp /​usr/​local/​share/​vim/​vim73/​vimrc_example.vim /​usr/​local/​share/​vimrc
 +</​sxh>​
 +
 +Agora vamos editar o arquivo do vim para o root vou disponibilizar o vimrc que eu utilizo que tem algumas customizações
 +<sxh bash>
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​scripts/​vimrc -O /​root/​.vimrc
 +</​sxh>​
 +
 +Agora vamos instalar o ls colorido
 +<sxh bash>
 +pkg_add -v gnuls
 +</​sxh>​
 +
 +Agora vamos instalar o bash 
 +<sxh bash>
 +pkg_add -v bash
 +</​sxh>​
 +
 +
 +Agora vamos mudar o shell do root 
 +<sxh bash>
 +chsh -s /​usr/​local/​bin/​bash
 +</​sxh>​
 +
 +Agora vamos acertar algumas configurações de ambiente do root
 +<sxh bash>
 +vim /​root/​.profile
 +#No Final do arquivo
 +export PS1='​\[\033[01;​31m\][\[\033[01;​37m\]\t\[\033[01;​31m\]] \[\033[01;​32m\]\u\[\033[01;​31m\]@\[\033[01;​32m\]\h \[\033[01;​31m\][\[\033[01;​33m\]\w\[\033[01;​31m\]] \[\033[01;​37m\]#​ \[\033[00m\]'​
 +export PKG_PATH=http://​openbsd.org.ar/​pub/​OpenBSD/​4.9/​packages/​`machine -a`/
 +export CVSROOT=anoncvs@anoncvs.openbsd.org.ar:/​cvs ​
 +#​CVSROOT=anoncvs@mirror.planetunix.net:/​cvs
 +#​CVSROOT=anoncvs@anoncvs.ca.openbsd.org:/​cvs
 +export EDITOR=vim
 +alias ls="​gls --color=auto"​
 +</​sxh>​
 +
 +Agora vamos só efetuar logoff e logar novamente para ver as novas configurações
 +<sxh bash>
 +exit
 +</​sxh>​
 +
 +Nosso ambiente depois de configurado vamos ter um shell como o exemplo depois de logar
 +<sxh bash>
 +
 +ssh 10.0.0.22
 +root@10.0.0.22'​s password: senha
 +Last login: Mon Oct  3 17:04:52 2011 from 10.0.0.20
 +OpenBSD 4.9 (GENERIC) #477: Wed Mar  2 06:50:31 MST 2011
 +
 +Welcome to OpenBSD: The proactively secure Unix-like operating system.
 +
 +Please use the sendbug(1) utility to report bugs in the system.
 +Before reporting a bug, please try to reproduce it with the latest
 +version of the code.  With bug reports, please try to ensure that
 +enough information to reproduce the problem is enclosed, and if a
 +known fix for it exists, include that as well.
 +
 +[17:06:33] root@openbsd [~] #    ​
 +</​sxh>​
 +
 +Temos mais uma opção muito show de bola pra shell, para quem trabalha muito com o shell precisamos sempre de ferramentas que nós ajudem então temos o [[http://​en.wikipedia.org/​wiki/​Z_shell|zsh]]
 +
 +Vamos instalar ele
 +<sxh bash>
 +pkg_add -r zsh
 +</​sxh>​
 +
 +Agora vamos mudar o shell do usuário root
 +<sxh bash>
 +chsh -s /​usr/​local/​bin/​zsh root
 +</​sxh>​
 +
 +Agora vamos obter um arquivo personalizado dele eu peguei o padrão que eu utilizo do Arch Linux
 +<sxh bash>
 +wget -c http://​wiki.douglasqsantos.com.br/​Downloads/​scripts/​zshrc -O /​root/​.zshrc
 +</​sxh>​
 +
 +Vamos fazer um ajuste no .zshrc pois no <​nowiki>​OpenBSD</​nowiki>​ o ls não tem a opção -b então fica gerando erros
 +<sxh bash>
 +vim /​root/​.zshrc
 +[...]
 +#Na linha 1452 vamos deixar ela como abaixo
 +alias ls='​gls -b -CF '​${ls_options:​+"​${ls_options[*]}"​}
 +#Na linha 1462 vamos deixar ela como abaixo
 +alias ls='​gls -b -CF'
 +</​sxh>​
 +Agora vamos fazer logout e logar novamente
 +<sxh bash>
 +logout
 +</​sxh>​
 +
 +Agora vamos instalar alguma ferramentas ​
 +
 +Agora vamos instalar o nmap e o iftop
 +<sxh bash>
 +pkg_add -v nmap iftop
 +</​sxh>​
 +
 +Agora vamos instalar o ports do <​nowiki>​OpenBSD</​nowiki> ​
 +
 +Vamos acessar o diretório /usr e baixar o ports 
 +<sxh bash>
 +cd /usr
 +ftp ftp://​ftp.openbsd.org/​pub/​OpenBSD/​4.9/​ports.tar.gz
 +</​sxh>​
 +
 +Agora vamos desempacotar o nosso ports
 +<sxh bash>
 +tar xzvf ports.tar.gz
 +</​sxh>​
 +
 +Agora vamos remover o pacote .tar.gz ​
 +<sxh bash>
 +rm -rf ports.tar.gz
 +</​sxh>​
 +
 +Procurando pacotes no ports 
 +
 +Vamos acessar o diretório do ports 
 +<sxh bash>
 +cd /usr/ports
 +</​sxh>​
 +
 +Agora vamos pesquisar o pacote do rsync 
 +<sxh bash>
 +make search key=rsync
 +[...]
 +Port:   ​rsync-3.0.7
 +Path:   ​net/​rsync
 +Info:   ​mirroring/​synchronization over low bandwidth links
 +Maint: ​ Marc Espie <​espie@openbsd.org>​
 +Index: ​ net
 +L-deps:
 +B-deps: STEM->​=1.15.4.7p2:​textproc/​groff
 +R-deps:
 +Archs: ​ any
 +[...]
 +</​sxh>​
 +
 +No resultado temos a palavra chave rsync e em nosso port rsync-3.0.7 o caminho dele é net/rsync dentro do ports, então o seu caminho completo é /​usr/​ports/​net/​rsync. ​
 +
 +Vamos mandar instalar ele pelo ports 
 +
 +Vamos acessar o diretório do rsync 
 +<sxh bash>
 +cd /​usr/​ports/​net/​rsync
 +</​sxh>​
 +
 +Agora vamos mandar compilar e instalar ele.
 +<sxh bash>
 +make install distclean
 +</​sxh>​
 +
 +Agora para desinstalar um pacote podemos fazer da seguinte forma 
 +
 +Acesse o diretório do ports instalado ​
 +<sxh bash>
 +cd /​usr/​ports/​net/​rsync
 +</​sxh>​
 +
 +Agora mandamos desinstalar ele
 +<sxh bash>
 +make uninstall
 +</​sxh>​
 +
 +Para reinstalar um pacote ou seja, remover e instalar ele novamente podemos fazer da seguinte forma 
 +Acesse o diretório do ports instalado ​
 +<sxh bash>
 +cd /​usr/​ports/​net/​rsync
 +</​sxh>​
 +
 +Agora mandamos desinstalar ele
 +<sxh bash>
 +make reinstall
 +</​sxh>​
 +
 +Configuração de ip manual no <​nowiki>​OpenBSD</​nowiki> ​
 +
 +Eu estou utilizando uma interface Realtek com isso ela vai ser uma em0, o arquivo de configuração da interface vai ser /​etc/​hostname.em0,​ vamos utilizar o endereço ip 10.101.0.220 e a mascara de sub-rede 255.255.255.0 e o nosso broadcast 10.101.0.255
 +
 +<sxh apache>
 +vim /​etc/​hostname.em0
 +inet 10.101.0.220 255.255.255.0 10.101.0.255
 +</​sxh>​
 +
 +Agora se precisarmos inserir mais um endereço ip nessa interface podemos fazer da seguinte forma. O endereço ip adicional que eu vou utilizar é 10.101.0.10 ​
 +<sxh apache>
 +vim /​etc/​hostname.em0
 +inet 10.101.0.220 255.255.255.0 10.101.0.255
 +inet alias 10.101.0.10 255.255.255.0 10.101.0.255
 +</​sxh>​
 +
 +Agora se precisarmos configurar o ipv6 nesta interface podemos fazer da seguinte forma.
 +<sxh apache>
 +vim /​etc/​hostname.em0
 +inet6 fec0::1 64
 +</​sxh>​
 +
 +Nós podemos ter tanto o endereço ip4 como ipv6 na interface, então vamos deixar a interface com o endereço ipv4 10.101.0.220 e  o ipv6 fec0::1 64 
 +<sxh apache>
 +vim /​etc/​hostname.em0
 +inet 10.101.0.220 255.255.255.0 10.101.0.255
 +inet6 alias fec0::1 64
 +</​sxh>​
 +
 +Agora vamos configurar o Gateway para o nosso <​nowiki>​OpenBSD</​nowiki> ​
 +
 +O arquivo que devemos inserir o endereço ip do gw é /​etc/​mygate,​ vamos lá então inserir o endereço gw como 10.101.0.254 ​
 +<sxh bash>
 +vim /etc/mygate
 +10.110.0.254
 +</​sxh>​
 +
 +
 +Agora para configurar o servidor DNS, temos que editar o arquivo /​etc/​resolv.conf ​
 +<sxh apache>
 +search douglasqsantos.com.br
 +nameserver 10.101.0.253
 +nameserver 10.101.0.252
 +lookup file bind
 +</​sxh>​
 +
 +O que foi definido aqui acima é search que é o dominio padrão para a consulta, ou seja quando mandarmos dar um ping em www o servidor já vai entender que ele deve dar um ping em www.douglasqsantos.com.br,​ em nameserver inserimos os endereços ips do servidores DNS e por ultimo o lookup file bind que serve para utilizar tambem o arquivo /etc/hosts para ajudar na resolução de nomes, em caso de não achar uma resposta no servidor DNS 
 +
 +Agora vamos acertar o nome do nosso servidor no arquivo /​etc/​myname,​ o nome da maquina no exemplo vai ser openbsd e o domínio vai ser douglasqsantos.com.br ​
 +<sxh bash>
 +vim /etc/myname
 +openbsd.douglasqsantos.com.br
 +</​sxh>​
 +
 +Agora para reiniciar a configuração de rede podemos efetuar da seguinte forma 
 +<sxh bash>
 +sh /​etc/​netstart
 +</​sxh>​
 +
 +Para visualizar as rotas do seu server, podemos executar o seguinte comando
 +<sxh bash>
 +netstat -rn
 +Routing tables
 +
 +Internet:
 +Destination ​       Gateway ​           Flags   ​Refs ​     Use   ​Mtu ​ Prio Iface
 +default ​           10.101.0.254 ​      ​UGS ​       1       ​32 ​    ​- ​    8 em0
 +10.101.0/​24 ​       link#​1 ​            ​UC ​        ​2 ​       0     ​- ​    4 em0
 +10.101.0.1 ​        ​00:​24:​21:​fa:​ee:​be ​ UHLc       ​1 ​      ​76 ​    ​- ​    4 em0
 +10.101.0.254 ​      ​b6:​9c:​ad:​29:​4e:​21 ​ UHLc       ​1 ​       0     ​- ​    4 em0
 +127/8              127.0.0.1 ​         UGRS       ​0 ​       0 33160     8 lo0
 +127.0.0.1 ​         127.0.0.1 ​         UH         ​0 ​       0 33160     4 lo0
 +224/4              127.0.0.1 ​         URS        0        0 33160     8 lo0
 +Internet6:
 +[...]
 +</​sxh>​
 +
 +Podemos tambem utilizar o comando route da seguinte forma 
 +<sxh bash>
 +route show
 +Routing tables
 +
 +Internet:
 +Destination ​       Gateway ​           Flags   ​Refs ​     Use   ​Mtu ​ Prio Iface
 +default ​           10.101.0.254 ​      ​UGS ​       1       ​35 ​    ​- ​    8 em0
 +10.101.0/​24 ​       link#​1 ​            ​UC ​        ​2 ​       0     ​- ​    4 em0
 +10.101.0.1 ​        ​00:​24:​21:​fa:​ee:​be ​ UHLc       ​1 ​     785     ​- ​    4 em0
 +10.101.0.254 ​      ​b6:​9c:​ad:​29:​4e:​21 ​ UHLc       ​1 ​       0     ​- ​    4 em0
 +loopback ​          ​localhost ​         UGRS       ​0 ​       0 33160     8 lo0
 +localhost ​         localhost ​         UH         ​0 ​       0 33160     4 lo0
 +BASE-ADDRESS.MCAST localhost ​         URS        0        0 33160     8 lo0
 +
 +Internet6:
 +[...]
 +</​sxh>​
 +
 +Agora, vamos ver como podemos configurar um endereço ip com o ifconfig, o ip que eu vou utilizar vai ser 10.101.0.20/​24
 +<sxh bash>
 +ifconfig em0 10.101.0.15 netmask 255.255.255.0 broadcast 10.101.0.255
 +</​sxh>​
 +
 +Vamos configurar um ip adicional na interface em0, o ip que eu vou utilizar vai ser 10.101.0.15/​24 ​
 +<sxh bash>
 +ifconfig em0 inet alias 10.101.0.15 netmask 255.255.255.0 broadcast 10.101.0.255
 +</​sxh>​
 +
 +Agora podemos visualizar os endereços ips com o seguinte comando ​
 +<sxh bash>
 +ifconfig -A
 +lo0: flags=8049<​UP,​LOOPBACK,​RUNNING,​MULTICAST>​ mtu 33160
 +        priority: 0
 +        groups: lo
 +        inet6 ::1 prefixlen 128
 +        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
 +        inet 127.0.0.1 netmask 0xff000000
 +em0: flags=8843<​UP,​BROADCAST,​RUNNING,​SIMPLEX,​MULTICAST>​ mtu 1500
 +        lladdr 08:​00:​27:​59:​ed:​e3
 +        priority: 0
 +        groups: egress
 +        media: Ethernet autoselect (1000baseT full-duplex)
 +        status: active
 +        inet6 fe80::​a00:​27ff:​fe59:​ede3%em0 prefixlen 64 scopeid 0x1
 +        inet 10.101.0.221 netmask 0xffffff00 broadcast 10.101.0.255
 +        inet 10.101.0.15 netmask 0xffffff00 broadcast 10.101.0.255
 +enc0: flags=0<>​
 +        priority: 0
 +        groups: enc
 +        status: active
 +pflog0: flags=141<​UP,​RUNNING,​PROMISC>​ mtu 33160
 +        priority: 0
 +        groups: pflog
 +</​sxh>​
 +Agora para remover um ip adicional na interface em0, podemos fazer da seguinte forma
 +<sxh bash>
 +
 +ifconfig em0 inet delete 10.101.0.15 netmask 255.255.255.0 broadcast 10.101.0.255
 +</​sxh>​
 +
 +Agora vamos listar os endereços ips da nossa interface
 +<sxh bash>
 +ifconfig -A
 +lo0: flags=8049<​UP,​LOOPBACK,​RUNNING,​MULTICAST>​ mtu 33160
 +        priority: 0
 +        groups: lo
 +        inet6 ::1 prefixlen 128
 +        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
 +        inet 127.0.0.1 netmask 0xff000000
 +em0: flags=8843<​UP,​BROADCAST,​RUNNING,​SIMPLEX,​MULTICAST>​ mtu 1500
 +        lladdr 08:​00:​27:​59:​ed:​e3
 +        priority: 0
 +        groups: egress
 +        media: Ethernet autoselect (1000baseT full-duplex)
 +        status: active
 +        inet6 fe80::​a00:​27ff:​fe59:​ede3%em0 prefixlen 64 scopeid 0x1
 +        inet 10.101.0.221 netmask 0xffffff00 broadcast 10.101.0.255
 +enc0: flags=0<>​
 +        priority: 0
 +        groups: enc
 +        status: active
 +pflog0: flags=141<​UP,​RUNNING,​PROMISC>​ mtu 33160
 +        priority: 0
 +        groups: pflog
 +</​sxh>​
 +
 +Agora para adicionarmos um default gateway pela linha de comando, podemos fazer da seguinte forma
 +<sxh bash>
 +route add default 10.101.0.254
 +</​sxh>​
 +
 +Agora para removermos um default gw para linha de comando, podemos fazer da seguinte forma
 +<sxh bash>
 +route delete default
 +</​sxh>​
 +
 +Adicionando uma rota estática em nosso servidor para a rede 10.102.0.0/​24 pelo gw 10.101.0.251. ​
 +<sxh bash>
 +route add -inet 10.102.0.0/​24 10.101.0.251
 +</​sxh>​
 +
 +Agora vamos listar as nossas rotas
 +<sxh bash>
 +route show
 +Routing tables
 +
 +Internet:
 +Destination ​       Gateway ​           Flags   ​Refs ​     Use   ​Mtu ​ Prio Iface
 +default ​           10.101.0.254 ​      ​UGS ​       1      340     ​- ​    8 em0
 +10.101.0/​24 ​       link#​1 ​            ​UC ​        ​2 ​       0     ​- ​    4 em0
 +10.101.0.1 ​        ​00:​24:​21:​fa:​ee:​be ​ UHLc       ​1 ​    ​2994 ​    ​- ​    4 em0
 +10.101.0.254 ​      ​b6:​9c:​ad:​29:​4e:​21 ​ UHLc       ​2 ​       0     ​- ​    4 em0
 +10.102.0/​24 ​       10.101.0.251 ​      ​UGS ​       0        0     ​- ​    8 em0
 +loopback ​          ​localhost ​         UGRS       ​0 ​       0 33160     8 lo0
 +localhost ​         localhost ​         UH         ​0 ​       0 33160     4 lo0
 +BASE-ADDRESS.MCAST localhost ​         URS        0        0 33160     8 lo0
 +[...]
 +</​sxh>​
 +Como pode ser notado a nossa rota foi adicionada com sucesso ​
 +
 +Modificando uma rota estática em nosso servidor para a rede 10.102.0.0/​24 vamos utilizar agora o gw 10.101.0.250. ​
 +<sxh bash>
 +route change -inet 10.102.0.0/​24 10.101.0.251
 +</​sxh>​
 +
 +Agora vamos listar as nossas rotas
 +<sxh bash>
 +route show
 +Routing tables
 +
 +Internet:
 +Destination ​       Gateway ​           Flags   ​Refs ​     Use   ​Mtu ​ Prio Iface
 +default ​           10.101.0.254 ​      ​UGS ​       1      340     ​- ​    8 em0
 +10.101.0/​24 ​       link#​1 ​            ​UC ​        ​2 ​       0     ​- ​    4 em0
 +10.101.0.1 ​        ​00:​24:​21:​fa:​ee:​be ​ UHLc       ​1 ​    ​2994 ​    ​- ​    4 em0
 +10.101.0.254 ​      ​b6:​9c:​ad:​29:​4e:​21 ​ UHLc       ​2 ​       0     ​- ​    4 em0
 +10.102.0/​24 ​       10.101.0.250 ​      ​UGS ​       0        0     ​- ​    8 em0
 +loopback ​          ​localhost ​         UGRS       ​0 ​       0 33160     8 lo0
 +localhost ​         localhost ​         UH         ​0 ​       0 33160     4 lo0
 +BASE-ADDRESS.MCAST localhost ​         URS        0        0 33160     8 lo0
 +[...]
 +</​sxh>​
 +Como pode ser notado a nossa rota foi alterada com sucesso ​
 +
 +Agora para removermos uma rota, podemos fazer da seguinte forma.
 +<sxh bash>
 +route delete -inet 10.102.0.0/​24
 +</​sxh>​
 +
 +Agora vamos listar as nossas rotas
 +<sxh bash>
 +route show
 +Routing tables
 +
 +Internet:
 +Destination ​       Gateway ​           Flags   ​Refs ​     Use   ​Mtu ​ Prio Iface
 +default ​           10.101.0.254 ​      ​UGS ​       1      340     ​- ​    8 em0
 +10.101.0/​24 ​       link#​1 ​            ​UC ​        ​2 ​       0     ​- ​    4 em0
 +10.101.0.1 ​        ​00:​24:​21:​fa:​ee:​be ​ UHLc       ​1 ​    ​2994 ​    ​- ​    4 em0
 +10.101.0.254 ​      ​b6:​9c:​ad:​29:​4e:​21 ​ UHLc       ​2 ​       0     ​- ​    4 em0
 +loopback ​          ​localhost ​         UGRS       ​0 ​       0 33160     8 lo0
 +localhost ​         localhost ​         UH         ​0 ​       0 33160     4 lo0
 +BASE-ADDRESS.MCAST localhost ​         URS        0        0 33160     8 lo0
 +[...]
 +</​sxh>​
 +Como pode ser notado a nossa rota foi removida com sucesso ​
 +
 +Agora caso necessite configurar o servidor para pegar ip do dhcp, podemos fazer da seguinte forma 
 +<sxh bash>
 +echo dhcp > /​etc/​hostname.em0
 +</​sxh>​
 +
 +Agora para fazer o cliente requisitar um endereço ip para o servidor DHCP, devemos executar o seguinte comando ​
 +<sxh bash>
 +dhclient em0
 +</​sxh>​
 +
 +Habilitando o <​nowiki>​OpenBSD</​nowiki>​ trabalhar como roteador
 +<sxh bash>
 +sysctl net.inet.ip.forwarding=1
 +</​sxh>​
 +
 +Agora para deixar essa configuração na inicialização do sistema ​
 +<sxh bash>
 +echo "​net.inet.ip.forwarding=1"​ >> /​etc/​sysctl.conf
 +</​sxh>​
 +
 +Para desligar o servidor podemos utilizar o seguinte comando
 +<sxh bash>
 +shutdown -p -h now                                                ​
 +</​sxh>​
 +
 +** Opcional **
 +
 +Vamos fazer um update de todo o sistema. Quando instalamos o <​nowiki>​OpenBSD</​nowiki>​ pelo cd ou ftp instalamos a versão release que é versão base do sistema sem patchs de correção, para garantirmos a segurança do sistema vamos atualizar o sistema para a vesão stable que é a versão com os patchs de correção ou ainda podemos fazer um upgrade do sistema, atualizando ele para a versão current que é a versão que está em desenvolvimento que temos novas funcionalidades,​ porém ainda não é a versão final. ​
 +
 +Vamos ver como atualizamos o <​nowiki>​OpenBSD</​nowiki>​ para a versão stable. ​
 +
 +Temos que baixar os novos binários do sistema e a sua base que está em /usr, temos que atualizar o ports e o xenocara para que o sistema funcione corretamente,​ pois se atualizarmos somente a base do sistema e utilizarmos os ports antigos, vamos acabar corrompendo o nosso sistema.
 +
 +Atualizando para a versão stable. ​
 +
 +Vamos acessar o diretório /usr que é aonde se encontra o src que temos os fontes e o ports, que precisamos atualizar. ​
 +<sxh bash>
 +cd /usr
 +</​sxh>​
 +
 +Agora vamos baixar o usr o ports e o xenocara, mas primeiro precisamos definir o repositório cvs, podemos obter uma lista dos repositórios cvs em [[http://​www.openbsd.org/​anoncvs.html]]. ​
 +
 +<sxh bash>
 +export CVSROOT=anoncvs@anoncvs.openbsd.org.ar:/​cvs ​
 +</​sxh>​
 +
 +Agora vamos obter os nossos fontes
 +
 +** OBS: precisamos obter o xenocara somente se estivermos utilizando o X **
 +
 +Eu vou não vou fazer um upgrade do sistema vou fazer um update para a stable da versão 4.9 ;)
 +<sxh bash>
 +cvs -d$CVSROOT checkout -rOPENBSD_4_9 -P src ports xenocara
 +</​sxh>​
 +
 +Agora se pretende fazer um upgrade do sistema, ou seja atualizar para a versão current devemos fazer da seguinte forma 
 +
 +Vamos definir o repositório cvs 
 +<sxh bash>
 +export CVSROOT=anoncvs@anoncvs.openbsd.org.ar:/​cvs ​
 +</​sxh>​
 +
 +Agora vamos baixar os arquivos da versão current ​
 +<sxh bash>
 +cvs -d$CVSROOT checkout -P src ports xenocara
 +</​sxh>​
 +
 +Uma vez que já temos os fontes podemos atualizar eles com o seguinte comando. Não importando se é a versão stable ou a current.
 +<sxh bash>
 +cvs -d$CVSROOT up -Pd
 +</​sxh>​
 +
 +
 +Agora que já obtemos os fontes vamos compilar o kernel, para que ele seja compatível com o resto do sistema.
 +
 +Vamos acessar o diretório do nosso kernel, eu estou utilizando a variável machine que já determina qual arquitetura que o sistema está utilizando, porém você pode já passar por ex: i386, amd64, etc.
 +
 +<sxh bash>
 +cd /​usr/​src/​sys/​arch/​`machine`/​conf
 +</​sxh>​
 +
 +Agora vamos mandar o config gerar os diretórios para a nossa compilação
 +<sxh bash>
 +config GENERIC
 +</​sxh>​
 +
 +Agora vamos acessar o diretório para a nossa compilação
 +<sxh bash>
 +cd ../​compile/​GENERIC
 +</​sxh>​
 +
 +Agora vamos mandar compilar o nosso kernel e suas dependências
 +<sxh bash>
 +make clean && make depend && make
 +</​sxh>​
 +
 +Agora vamos mandar instalar o nosso kernel.
 +<sxh bash>
 +make install
 +</​sxh>​
 +
 +
 +Agora vamos acertar o espaço de usuário (as utilidades e arquivos de suporte)
 +
 +Vamos limpar o diretório /​usr/​obj ​
 +<sxh bash>
 +rm -rf /usr/obj/*
 +</​sxh>​
 +
 +Agora vamos refazer as ligações simbólicas ​
 +<sxh bash>
 +cd /usr/src
 +make obj
 +</​sxh>​
 +
 +Note que o uso do diretório /usr/obj é obrigatório,​ temos que limpar este diretório para ele receber os novos arquivos. A falha nesse passo antes de compilar o resto da árvore irá deixar sua árvore src em mau estado. ​
 + 
 +Vamos acessar /​usr/​src/​etc e acertar o diretório que vai receber os arquivos. ​
 +<sxh bash>
 +cd /​usr/​src/​etc && env DESTDIR=/ make distrib-dirs
 +</​sxh>​
 +
 +Agora vamos compilar o sistema ​
 +<sxh bash>
 +cd /usr/src
 +make build
 +</​sxh>​
 +
 +Isso compila e instala todos os utilitários do espaço de usuário(as utilidades e arquivos de suporte) na ordem apropriada. Esse é um passo que consome bastante tempo -- uma máquina muito rápida pode completar isso em cerca de uma hora, uma máquina muito lenta pode levar vários dias. 
 +
 +Quando esse passo está completo, nosso sistema está totalmente atualizado o kernel, novos binários e arquivos. ​
 +
 +Acompanhar status do sistema
 +<sxh bash>
 +systat vm -w 1
 +</​sxh>​
 +
 +
 +====== Referências ======
 +
 +  - http://​www.openbsd.org/​faq/​pt/​index.html
 +  - http://​www.openbsd.org/​faq/​pt/​faq[1-15].html