LabExposed

BSD, Linux e software livre em geral.

Jails No FreeBSD: Rápido E Fácil

| Comments

[][1]Vamos lá, bem rapidinho… Qual é a ideia ? Mostrar como é facil criar uma jail no FreeBSD sem stress de recompilação de kernel, etc….

Para a criação da Jail, vamos usar o sysinstall para criar o ambiente root dela, assim:

Antes de mais nada, não esquecer de deixar o seu sistema atualizadinho, então, vale lembrar dos comandos:

# freebsd-update
# portsnap fetch update

Supondo que você vá guardar suas jails em “/usr/jails”, vamos criar uma chamada “dns”

mkdir -p /usr/jails/dns

Agora vamos iniciar o aplicativo “sysinstall”

Escolha o item “Options”

Options Editor
Name            Value                   Name            Value
----            -----                   ----            -----
NFS Secure      NO                      Browser Exec    /usr/local/bin/links
NFS Slow        NO                      Media Type      <not yet set>
NFS TCP         NO                      Media Timeout   300
NFS version 3   YES                     Package Temp    /var/tmp
Debugging       NO                      Newfs Args      -b 16384 -f 2048
No Warnings     NO                      Fixit Console   serial
Yes to All      NO                      Re-scan Devices <*>
DHCP            NO                      Use Defaults    [RESET!]
IPv6            NO
FTP username    ftp
Editor          vi
Extract Detail  high
Release Name    8.0-RELEASE
Install Root    /usr/jails/dns
Browser package links
Use SPACE to select/toggle an option, arrow keys to move,
? or F1 for more help.  When you're done, type Q to Quit.

NFS server talks only on a secure port

e altere o item “Install Root” para o caminho da sua jail, como no exemplo acima.

Ao voltar no menu inicial, escolha o item “Configure”, depois “Distribuitions” e marque o item “base”, se quiser, pode marcar os outros pacotes, como doc, man, etc…. mas o unico exigido é realmente o pacote “base”, que é suficiente para sua Jail.

Ao sair deste menu, você sera solicitado a escolher a midia de instalação, selecione a que melhor lhe convém, CDROM ou FTP….

Prossiga a instalação e criação do seu ambiente de Jail.

Terminada a instalação, sua Jail esta pronta para ser iniciada, bastando algumas configurações em relação à isto.

Então vamos lá

vamos mexer no rc.conf agora e colocar as entradas de inicialização da jail, então, coloque as linhas abaixo adaptando-a para as suas necessidades:

jail_enable="YES"
jail_list="dns" # separe os nomes das jails com espaço
jail_dns_rootdir="/usr/jails/dns"
jail_dns_hostname="dns.dominio.com.br"
jail_dns_ip="192.168.1.100"
jail_dns_exec_start="/bin/sh /etc/rc"
jail_dns_devfs_enable="YES"
jail_dns_devfs_ruleset="devfsrules_jail"

Salve o rc.conf, pronto, a jail ta prontinha pra ser iniciada, então vamos lá:

/etc/rc.d/jail start

Para listar se a jail esta no ar:

# jls
 JID  IP Address      Hostname                      Path
 1    192.168.1.100   dns.dominio.com.br            /usr/jails/dns

Mas perai, ainda precisamos ajeitar a Jail, então, vamos entrar nela:

# jexec 1 /bin/csh

Configure uma senha para o root:

# passwd

Crie um usuario para entrar nela:

# pw add user usuario -m -G wheel -s /bin/csh

* não esquecer de colocar o usuario no grupo “wheel” para poder usar “su -”

Sete uma senha para ele:

# passwd usuario

Agora coloque as seguintes entradas no rc.conf:

sshd_enable="YES"

e agora configure o resolv.conf para que a jail consiga resolver nomes:

# echo 'nameserver 8.8.8.8' > /etc/resolv.conf

Inicie o sshd:

# /etc/rc.d/sshd start

Pronto ! sua Jail esta pronta para ser usada !!!

Uma ultima dica:
Crie uma montagem “nullfs” para o ports dentro da Jail, para isso, siga os comandos abaixo:
* Na maquina raiz:

# mkdir /usr/jails/dns/usr/ports

# mount_nullfs /usr/ports /usr/jails/dns/usr/ports

# echo ‘/usr/ports /usr/jails/dns/usr/ports nullfs rw 0 0’ >> /etc/fstab

<p style="text-align: justify;">
  Pronto, agora você tem o ports compartilhado dentro da Jail.
</p>

<p>
  É isso&#8230; abraços<br /> luizgustavo@luizgustavo.pro.br
</p>

<p>
  <span class='st_facebook_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='Facebook'></span><span class='st_twitter_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='Twitter'></span><span class='st_linkedin_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='LinkedIn'></span><span class='st_email_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='Email'></span><span class='st_sharethis_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='ShareThis'></span><span class='st_fblike_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='Facebook Like'></span><span class='st_plusone_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='Google +1'></span><span class='st_pinterest_buttons' st_title='Jails no FreeBSD: Rápido e Fácil' st_url='http://www.luizgustavo.pro.br/blog/2010/05/30/jails-no-freebsd-rapido-e-facil/' displayText='Pinterest'></span>
</p>

[1]: http://www.luizgustavo.pro.br/blog/wp-content/uploads/2010/02/freebsd_jail.png

Comments