Jails no FreeBSD: Rápido e Fácil
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
Pronto, agora você tem o ports compartilhado dentro da Jail.
É isso… abraços
luizgustavo@luizgustavo.pro.br
Caracas essa realmente foi rapido !!! ( 8 minutos )
otimo artigo gugabsd
rapido, facil e ligeiro! =P
muito bom guga!!! faço parte do fug a algum tempo mais fico nos bastidores pois sou leigo em questão de freebsd gostaria de ver mais postagens para nos ajudar
muito obg….
muito muito bom!