- Voce ja possui um Servidor FreeBSD em sua rede?
- Habilitando e configurando o servidor Bootpd no Server FreeBSD (Internet Boot Protocol)
Para habilitar o servico de Bootp , voce deve inserir a seguinte linha ao arquivo /etc/inetd.conf, caso a linha ja exista em seu arquivo , apenas remova o caracter # do inicio da linha:bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
Habilitado o bootpd , sua configuracao e feita no arquivo /etc/bootptab. Para nossa rede hipotetica o arquivo minimo para os clientes ficaria assim:omega:\
No qual as entradas significam:
:ht=ether:\
:ha=0000b01f844a:\
:sm=255.255.255.0:\
:hn:\
:ds=10.0.0.2:\
:ip=10.0.0.3:\
:gw=10.0.0.1:\
:vm=rfc1048:
andromeda:\
:ht=ether:\
:ha=0000b01f854a:\
:sm=255.255.255.0:\
:hn:\
:ds=10.0.0.2:\
:ip=10.0.0.4:\
:gw=10.0.0.1:\
:vm=rfc1048:
ht - Tipo de hardware utilizado
ha - Endereco ethernet da placa de rede
sm - Netmask da sua rede
hn - Envia o hostname do cliente para o cliente
ds - IP do servidor DNS
ip - IP do cliente
gw - IP do gateway
Para ver a lista completa das outra opcoes consulte bootptab no manual do FreeBSD. - Habilitando e configurando o servidor tftpd no Server FreeBSD ( Internet Trivial File Tranfer Protocol )
Para habilitar o servico de tftp , voce deve inserir a seguinte linha ao arquivo /etc/inetd.conf, caso a linha ja exista em seu arquivo , apenas remova o caracter # do inicio da linha:tftp dgram udp wait nobody /usr/libexec/tftpd tftpd -s /tftpboot
Habilitado o tftp , para configura-lo voce deve inicialmente criar o diretorio /tftpboot e seta-lo com "chmod /tftpboot +rx". Apos criar o diretorio voce deve criar dentro deste diretorio o arquivo que ira fornecer as informacoes necessarias para o boot do client.
O nome do arquivo e cfg.w.x.y.z onde w.x.y.z e o ip do computador cliente.
No nosso caso teriamos que criar 2 arquivos: cfg.10.0.0.3 e cfg.10.0.0.4 , o conteudo minimo destes arquivos seria:
para o cfg.10.0.0.3:rootfs 10.0.0.2:/usr/export/omega
e para o cfg.10.0.0.4
swapfs 10.0.0.2:/usr/export/swapfs
swapsize 20000
hostname omega.pro-unix.orgrootfs 10.0.0.2:/usr/export/andromeda
No qual as entradas significam:
swapfs 10.0.0.2:/usr/export/swapfs
swapsize 20000
hostname andromeda.ro-unix.org
rootfs - Informa ao cliente o root filesystem a ser usado
swapfs - informa ao cliente o swap filesystem a ser usado
swapsize - Configura o tamanho, em Kbytes, do swap do cliente
hostname - Configura o hostanme do ciente
Agora voce deve criar os diretorios /usr/export/omega , /usr/export/andromeda e /usr/export/swapfs.
Em seguida deve gerar com o comando ddo "swapfile" que sera utilizados pelos seu computador cliente. O nome deste arquivo e swap.w.x.y.z ( /usr/export/swapfs/swap.w.x.y.z) no qual w.x.y.z e o IP do cliente que ira usar este arquivo.
A sintaxe do comando para gerar este arquivo, por exemplo para o cliente omega:dd if=/dev/zero of=/usr/export/swapfs/swap.10.0.0.3 bs=1k count=20000
chmod 0600 /usr/export/swapfs/swap.10.0.0.3 - Configurando o servidor NFS do Server FreeBSD , para exportar os root e swap filesystem para seus clientes.
Certifique-se que tenha habilitado o servico de NFS em seu server FreeBSD, se voce ainda nao o fez de uma olhada em:Configurando um servidor de NFS no FreeBSD.
verificado que o servico de NFS esta habilitado, voce deve editar o arquivo /etc/exports para incluir as seguintes linhas:/usr/export/omega -maproot=0:0 omega.pro-unix.org
/usr/export/andromeda -maproot=0:0 andromeda.pro-unix.org
/usr/export/swapfs -maproot=0:0 omega.pro-unix.org andromeda.pro-unix.org - Gerando o root filesystem para o cliente.
Para que a configuracao esteja completa , falta gerar o root filesystem dos clientes, para isso voce deve ter em maos o CD de Instalacao do FreeBSD ou acesso a internet para tranferir os arquivos necessarios por FTP.
Insira o CD-ROM de instalacao do FreeBSD no Drive e de um "mount /cdrom" de pois execute a sequencia de comandos abaixo (por exemplo para a maqina omega):cd /cdrom/bin
apos a execucao desta sequencia de comandos, voce tera gerado os seguintes diretorios:
cat bin.* >> /usr/export/omega/bin.tgz
cd /usr/export/omega
gzip -d bin.tgz
tar -xf bin.tar
rm bin.tar/usr/export/omega/bin
Caso voce nao tenha o CD , faca FTP para por exemplo ftp.br.FreeBSD.org, e baixe o diretorio /pub/FreeBSD/releases/i386/4.3-RELEASE/bin inteiro para por exemplo /usr/tmp e execute:
/usr/export/omega/dev
/usr/export/omega/etc
/usr/export/omega/lkm
/usr/export/omega/mnt
/usr/export/omega/proc
/usr/export/omega/root
/usr/export/omega/sbin
/usr/export/omega/stand
/usr/export/omega/tmp
/usr/export/omega/usr
/usr/export/omega/usr/bin
/usr/export/omega/usr/games
/usr/export/omega/usr/include
/usr/export/omega/usr/lib
/usr/export/omega/usr/libexec
/usr/export/omega/usr/local
/usr/export/omega/usr/sbin
/usr/export/omega/usr/share
/usr/export/omega/usr/tmp
/usr/export/omega/var
/usr/export/omega/var/log
/usr/export/omega/var/mail
/usr/export/omega/var/spool
/usr/export/omega/var/tmpcd /usr/tmp
Observação:
cat bin.* >> /usr/export/omega/bin.tgz
cd /usr/export/omega
gzip -d bin.tgz
tar -xf bin.tar
rm bin.tar
O kernel que voce colocou no diretorio que sera o rootfs das suas maquinas clientes , precisa ser substituido por um kernel customizado, compilado com suporte aos devices do seu cliente e contendo ainda as linhas abaixo para habilitar o uso do BOOTP.# Kernel BOOTP support
options BOOTP
options BOOTP_NFSROOT
options BOOTP_NFSV3
options BOOTP_COMPAT
De um boot em seu servidor FreeBSD e ele estara pronto para os testes.
O proximo passo sera gerar o disco de boot para inicializar seu terminal diskless.
Para isso voce vai precisar compilar o etherboot, disponivel em /usr/ports/net/etherboot para isso execute os seguintes comandos:# cd /usr/ports/net/etherboot
Agora que voce compilou o etherboot, voce precisa gerar o disco de boot apropriado para a sua placa de rede.
# make
As seguintes placas de rede sao suportadas:# 3Com503, aka Etherlink II, also /16 model
Digamos que a minha placa de rede seja uma 3c905b-combo, os passos para gerar o disco de boot, insira um disquete no drive a: e execute os comandos abaixo:
3c503 ns8390
# 3Com507 (i82586 based)
3c507 i82586
# 3c509, ISA/EISA
3c509
# 3c529 == MCA 3c509
3c529 3c509
# 3c59x cards (Vortex) and 3c900 cards
3c590 3c595 0x10b7,0x5900
3c595 3c595 0x10b7,0x5950
3c595-1 3c595 0x10b7,0x5951
3c595-2 3c595 0x10b7,0x5952
3c900-tpo 3c595 0x10b7,0x9000
3c900-t4 3c595 0x10b7,0x9001
3c900b-tpo 3c595 0x10b7,0x9004
3c900b-combo 3c595 0x10b7,0x9005
3c900b-tpb2 3c595 0x10b7,0x9006
3c900b-fl 3c595 0x10b7,0x900a
# 3C90x cards device IDs
# Original 90x revisions:
# 0x9000 : 10 Base TPO
# 0x9001 : 10/100 T4
# 0x9050 : 10/100 TPO
# 0x9051 : 10 Base Combo
# Newer 90xB revisions:
# 0x9004 : 10 Base TPO
# 0x9005 : 10 Base Combo
# 0x9006 : 10 Base TP and Base2
# 0x900A : 10 Base FL
# 0x9055 : 10/100 TPO
# 0x9056 : 10/100 T4
# 0x905A : 10 Base FX
# Newer 90xC revision:
# 0x9200 : 10/100 TPO (3C905C-TXM)
3c905-tpo 3c90x 0x10b7,0x9000
3c905-t4 3c90x 0x10b7,0x9001
3c905-tpo100 3c90x 0x10b7,0x9050
3c905-combo 3c90x 0x10b7,0x9051
3c905b-tpo 3c90x 0x10b7,0x9004
3c905b-combo 3c90x 0x10b7,0x9005
3c905b-tpb2 3c90x 0x10b7,0x9006
3c905b-fl 3c90x 0x10b7,0x900a
3c905b-tpo100 3c90x 0x10b7,0x9055
3c905b-t4 3c90x 0x10b7,0x9056
3c905b-fx 3c90x 0x10b7,0x905a
3c905c-tpo 3c90x 0x10b7,0x9200
# Crystal Semiconductor CS89x0
cs89x0
# Digital DE100 and DE200
depca depca
# Intel Etherexpress Pro/10 (ISA card)
eepro eepro
# Intel Etherexpress Pro/100
eepro100 eepro100 0x8086,0x1229
82559er eepro100 0x8086,0x1209
id1029 eepro100 0x8086,0x1029
id1030 eepro100 0x8086,0x1030
82562em eepro100 0x8086,0x2449
# SMC 83c170 EPIC/100
epic100 epic100 0x10b8,0x0005
# Exos 205 (i82586 based)
exos205 i82586
# Lance PCI PCNet/32
lancepci lance 0x1022,0x2000
pcnetfastiii lance 0x1022,0x2625
# AMD HomePNA
amdhomepna lance 0x1022,0x2001
# Linksys LNE100TX and other NICs using this Tulip clone chip
lc82c115 tulip 0x11ad,0xc115
# Netgear FA310TX and other NICs using this Tulip clone chip
lc82c168 tulip 0x11ad,0x0002
# Tulip clones based on the ADMtek Centaur-P
admtek0985 tulip 0x1317,0x0985
# Also ADMtek Centaur-P, found on stmicro NIC by Ranjan Parthasarathy
admtek0981 tulip 0x1317,0x0981
# ASIX AX88140, doesn't work yet
asix88140 tulip 0x125b,0x1400
# Compex RL100-TX, not verified if it works
compexrl100tx tulip 0x11f6,0x9881
# Tulip clones based on the Macronix 987x5
mx987x5 tulip 0x10d9,0x0531
# Davicom DM9102
davicom9102 davicom 0x1282,0x9102
davicom9009 davicom 0x1282,0x9009
# NE1000/2000 and clones (ISA)
ne ns8390
# Novell NE2100 (Lance based, also works on NE1500)
ne2100 lance
# NE2000 PCI clone (RTL8029)
nepci ns8390 0x10ec,0x8029
# Winbond 86C940
winbond940 ns8390 0x1050,0x0940
# Compex RL2000
compexrl2000 ns8390 0x11f6,0x1401
# KTI ET32P2
ktiet32p2 ns8390 0x8e2e,0x3000
# NetVin 5000SC
nv5000sc ns8390 0x4a14,0x5000
# Racal-Interlan NI5010
ni5010 ni5010
# Racal-Interlan NI5210
ni5210 i82586
# Racal-Interlan NI6510 (Lance based)
ni6510 lance
# Base driver for Tulip clones
tulip tulip 0x1011,0x0002
# Tulip-Fast
tulipfast tulip 0x1011,0x0009
# Tulip+
tulip+ tulip 0x1011,0x0014
# Tulip 21142
tulip21142 tulip 0x1011,0x0019
# Realtek 8029 (NE2000 PCI clone)
rtl8029 ns8390 0x10ec,0x8029
# Realtek 8139
rtl8139 rtl8139 0x10ec,0x8139
# SMC1211 (uses Realtek 8139 but with different IDs)
smc1211 rtl8139 0x1112,0x1211
# Schneider and Koch G16
sk_g16
# SMC9000
smc9000
# Tiara, Fujitsu Lancard
tiara
# Old base driver for Tulip clones
otulip otulip 0x1011,0x0002
# Rhine-I, e.g. D-Link DFE-530TX
dlink-530tx via-rhine 0x1106,0x3065
# Rhine-II
via-rhine via-rhine 0x1106,0x3065
# WD8003/8013, SMC8216/8416
wd ns8390
# Winbond W89c840
winbond840 w89c840 0x1050,0x0840
# Compex RL100-ATX
compexrl100atx w89c840 0x11f6,0x2011
# SIS 900 and SIS 7016
sis900 sis900 0x1039,0x0900
sis7016 sis900 0x1039,0x7016# fdformat fd0.1440
Insira o disquete na maquina cliente e de um boot, Ss tudo correu bem o FreeBSD deve ser carregado.
# cd /usr/ports/net/etherboot/work/etherboot-4.7.22/src
# gmake bin32/3c905b-combo.fd0
Apos o boot , voce pode usar normalmente o FreeBSD nos computadores clientes, pode usar o /stnd/sysinstall para instalar novos componentes como as manpages , XFree86 , codigos fontes , etc.
Boa सोरते.
Se sua resposta foi sim...
Voce ja tinha conhecimento que disponibilizando os servicos de bootp, tftp e NFS neste servidor, voce pode transformar, quando e pelo tempo que quiser, qualquer PC da sua rede local , em uma WorkStation FreeBSD , com direito a XWindows, sem ter que instalar fisicamente o FreeBSD nestes computadores ? Ou melhor ainda, que estes computadores nao precisam nem mesmo de um HD ? Esta possibilidade se bem aproveitada pode trazer economia e versatilidade a sua empresa, so depende de sua criatividade...
Se voce se interessou e deseja experimentar, dedique algum tempo lendo o texto abaixo, voce vai ver que nao e dificil por em pratica. Este texto foi baseado no handbook e nas manpages dos aplicativos envolvidos.
Antes de iniciar, voce deve verificar se seu servidor possui espaco em disco, para abrigar o file system dos computadores clientes, se voce optar por trabalhar em um ambiente compartilhado (/usr comum a todos os clientes) , o minimo seria algo por volta de 250 MB por maquina cliente.
Antes de iniciar, para efeito de ilustracao, consideremos os seguintes dados de uma rede hipotetica 10.0.0 , netmask 255.255.255.0, nome de dominio pro-unix.org:
1 servidor FreeBSD , ip 10.0.0.2 , endereco ethernet 0000b01f858a executando os servicos de DNS e NFS.
1 gateway , ip 10.0.0.1
1 Pc cliente, sem HD, ip 10.0.0.3 , endereco ethernet 0000b01f844a , hostname omega.
1 Pc cliente, sem HD, ip 10.0.0.4 , endereco ethernet 0000b01f854a , hostname Andromeda.
Feitas ests consideracoes , passemos a configuracao: