Criando um Domínio Local com BFW em PHP by the-mask

Tutoriais BrazilFW 3.x em Português

Criando um Domínio Local com BFW em PHP by the-mask

Mensagempor the-mask » Ter Set 22, 2015 2:37 pm

Criando um Domínio Local com BFW em PHP (Versão utilizada 3.0.261)

1 - Introdução:
A algum tempo atrás criei um tutorial abordando o mesmo tópico, porém, só servia até a última versão CGI do BFW (3.0.258-), com a promessa de elaborar um tutorial para a versões PHP (3.0.259+). Passou-se algum tempo de lá pra cá e eu me esqueci, quando tive a grata surpresa de receber um MP de um colega que me lembrou da promessa, valeu reginaldo, não respondi a MP por causa das configurações do fórum, mas vamos lá.

O Objetivo deste tutorial é ajudá-lo a criar um domínio na sua rede local utilizando os recursos nativos do BFW a fim de propiciar um acesso local baseado em nomes, o que facilita para o administrador da rede, que se vê desobrigado a decorar os ips, e para os usuários que podem acessar serviços por nomes ao invés de números.

Este tutorial será copiado e adaptado do anterior até porque tratam basicamente do mesmo assunto e as informações de ambos poderão ser utilizadas como referências posteriores.

2 - O que você vai precisar:
É primordial que você já esteja familiarizado com o Conceito de DNS - Domain Name System - bem como com todas as terminologias envolvidas no assunto (ex: FQDN, CNAME, ALIAS, TLD e etc), com o BIND que é a aplicação responsável pelo DNS no BFW e com o BFW propriamente dito.

É válido ressaltar que não serão abordadas todas as minúcias do BIND ficando a seu critério uma leitura mais aprofundada sobre o mesmo para uma compreensão mais ampla.

3 - Cenário Hipotético:
Para fins práticos será demonstrado um cenário genérico que poderá muito bem ser adequado a maioria dos casos:
Rede local configurada com o BFW como maior autoridade do backbone gerenciando LINKS, ROTAS, DNS, CACHE, QOS, DHCP. Adicionalmente o BFW rodará serviços Web, FTP e Samba.


Abaixo as configurações da rede e os dispositivos que já estão conectados e farão parte do domínio.
Código: Selecionar todos
REDE --> IP: 10.0.0.0/8
GATEWAY --> IP: 10.0.0.1/8 - ALIASES: bfw, gateway
WEBSERVER --> IP: 10.0.0.1/8 - ALIASES: www
FTPSERVER --> IP: 10.0.0.1/8 - ALIASES: ftp
SMBSERVER --> IP: 10.0.0.1/8 - ALIASES: smb, samba, arquivos
SWITCH --> IP: 10.0.0.2/8 - ALIASES: sw, switch
ACCESPOINT --> IP: 10.0.0.3/8 - ALIASES: ap
HTPC --> IP: 10.0.1.1/8 - ALIASES: htpc, multimidia, kodibunto
CELULAR01 --> IP: 10.1.1.1/8 - ALIASES: cel01, celeular01
CELULAR02 --> IP: 10.2.1.1/8 - ALIASES: cel02, celeular02
TABLET01 --> IP: 10.1.2.1/8 - ALIASES: tab01, tablet01
TABLET02 --> IP: 10.2.2.1/8 - ALIASES: tab02, tablet02
COMPUTADOR --> IP: 10.3.1.1/8 - ALIASES: pc
NOTEBOOK --> IP: 10.1.4.1/8 - ALIASES: nt, note

Existe uma certa estrutura de subnets nos endereçamentos IP da rede, que por sinal foi inspirada na minha rede doméstica. Vou demonstrar abaixo:
Código: Selecionar todos
10.0.0.0/8
 | | | | |
 | | | | '-> RANGE - IP:10.0.0.1 - 10.255.255.255, MASKARA: 255.0.0.0
 | | | '---> HOST - 10.0.0.X:HOSTS DE INFRAESTRUTURA DO BACKBONE, 10.0.1.X:HOSTS DE SERVIÇOS DA REDE, 10.X.X.X:HOST TÍPICO DE ALGUÉM
 | | '-----> TIPO DE HOST - 10.0.0:INFRAESTRUTURA, 10.0.1:SERVIÇOS, 10.X.1:CELULAR, 10.X.2:TABLET, 10.X.3:PC, 10.X.4:NOTEBOOK
 | '-------> USUÁRIO - 10.0:BACKBONE, 10.1:EU, 10.2:ESPOSA, 10.3:AMBOS
 '---------> REDE - 10:TODA A REDE

Você deve estar se perguntando porque eu coloquei esta quantidade absurda de dispositivos para fazer parte do domínio assim como alguns ficaram com mais de um "alias"; eu explico: Uma das vantagens do DNS é a capacidade mnemônica propiciada pelo mesmo, pois, mesmo tendo sido eu quem arbitrariamente designou todos os endereços IP, as vezes fica inviável lembrar-me de todos e, assim, o DNS cai como uma luva.

4 - Entendendo os responsáveis:

4.1 - O BFW:
As versões mais antigas do BFW exigiam do administrador um uma boa experiência com o mesmo e um certo nível de conhecimento de linux para criar os scripts necessários para a personalização pretendida, hoje, o sistema nativo conta com uma rotina de scripts que facilita a vida do administrador da rede dispensando grandes malabarismos.

4.2 - Entendendo o BIND:
O BIND, que já está muito bem integrado ao BFW, será o responsável por traduzir os nomes dos dispositivos em IPs, para tanto ele precisará das informações corretas para apontar os nomes aos hosts devidos. É válido ressaltar que não será abordado, neste tutorial, a criação da zona reversa por dois motivos: primeiro porque acho dispensável ao funcionamento de um domínio local e, portanto, também não a utilizo, se alguém souber de qualquer empecilho pela ausência da zona reversa, por favor comente ou mande uma mensagem; segundo porque seria necessário criar mais scripts na unha.

5 - Botando a mão na massa:
Antes de executar qualquer procedimento aqui relatado, leia o tutorial até o fim para garantir que você entendeu tudo.

5.1 - Juntando informações:
  • Anote as informações dos hosts que farão parte de seu domínio conforme eu descrito no ítem 3;
  • Escolha um nome para seu domínio local, aqui será usado "seudominio";
  • Escolha um TLD de no máximo 3 (três) letras não válido, eu recomendo o que será usado neste exemplo: "lan";
Note que para este tutorial usaremos o domínio "seudominio.lan".

5.2 - Inserindo Informações:
De posse das informações do item anterior vamos inseri-las no BFW:

5.2.1 - Registro de autoridade (SOA):
Aqui começa a base do nosso domínio local, no Webadmin acesse <Configurações> <DNS> <Registro de autoridade (SOA)> e preencha as seguintes informações:
  • Servidor: Deverá ser preenchido com o FQDN do BFW, será usado como nome de host "ns" que será precedido pelo domínio "seudominio.lan", resultando no FQDN que usaremos: "ns.seudominio.lan";
  • Email: Escolha um alias de caixa de e-mail a seu critério que também deverá ser precedido do domínio, aqui será usado "admin" que, também, será precedido pelo domínio, resultando na caixa: "admin@seudominio.lan";
  • Tempos: Os valores de "Tempo de atualização", "Tentar novamente", "Expirar" e "Tempo de cache" poderão ser deixados com os valores padrão.
O arquivo de configuração de Registro de autoridade (/etc/brazilfw/dns/soa.cfg) deverá apresentar algo parecido com isto:
Código: Selecionar todos
SOA_NAMESERVER='ns.seudominio.lan'
SOA_EMAILADDR='admin@seudominio.lan'
SOA_REFRESH='3600'
SOA_RETRY='60'
SOA_EXPIRY='3600'
SOA_MINIMUM='3600'

5.2.2 - Hosts:
Aqui serão incluídos os hosts que farão parte do domínio, no Webadmin acesse: <Configurações> <Hosts>. Começaremos indicando ao serviço DNS que é "ns.seudominio.lan", portanto clique em adicionar e preencha as seguintes informações:
  • IP: Preencha com o IP do BFW, neste caso: "10.0.0.1";
  • Apelido: Preencha com o nome de host atribuído ao BFW, neste caso: "ns";
  • Host: Preencha com o FQDN do BFW, neste caso: "ns.seudominio.lan";
  • Comentário: Preencha com alguma informação a seu critério;
  • Clique em salvar.
Na lista de hosts você poderá visualizar seu novo host cadastrado, clicando em "RAW", você deverá ver uma informação parecida com esta:
Código: Selecionar todos
10.0.0.1 ns ns.seudominio.lan #Informação qualquer


Você deve estar se perguntando:
E o restante dos hosts descritos no ítem 3?


Resposta:
Deverão ser adicionados um por um de modo a refletir o resultado na rede!


Após inserir todos os host conforme o ítem 3 obteremos o seguinte RAW na lista de Host:
Código: Selecionar todos
10.0.0.1 gateway gateway.seudominio.lan #Gateway
10.0.0.1 ns ns.seudominio.lan #Autoridade do Domínio
10.0.0.1 bfw bfw.seudominio.lan #BFW
10.0.0.1 www www.seudominio.lan #Webserver
10.0.0.1 ftp ftp.seudominio.lan #FTPServer
10.0.0.1 smb smb.seudominio.lan #SMBServer
10.0.0.2 sw sw.seudominio.lan #Switch
10.0.0.3 ap ap.seudominio.lan #Access Point
10.0.1.1 htpc htpc.seudominio.lan #Central Mutimídia
10.0.1.1 multimidia multimidia.seudominio.lan #Central Mutimídia
10.0.1.1 kodibunto kodibunto.seudominio.lan #Central Mutimídia
10.1.1.1 cel01 cel01.seudominio.lan #Celular 01
10.1.1.1 celular01 celeular01.seudominio.lan #Celular 01
10.2.1.1 cel02 cel02.seudominio.lan #Celular 02
10.2.1.1 celular02 celeular02.seudominio.lan #Celular 02
10.1.2.1 tab01 tab01.seudominio.lan #Tablet 01
10.1.2.1 tablet01 tablet01.seudominio.lan #Tablet 01
10.2.2.1 tab02 tab02.seudominio.lan #Tablet 02
10.2.2.1 tablet02 tablet02.seudominio.lan #Tablet 02
10.3.1.1 pc pc.seudominio.lan #PC
10.1.4.1 nt nt.seudominio.lan #Notebook
10.1.4.1 note.seudominio.lan #Notebook


6 - O toque final:
Se você seguiu corretamente os passos até aqui só está faltando salvar as configurações de seu BFW e reinicializar o BIND para que as novas configurações entrem em vigor, vamos fazer valer.
  • No Webadmin acesse: <Configurações> <Salvar configurações>;
  • No Webadmin acesse: <Configurações> <DNS>, clique em "Reiniciar".
Após processar vamos ver se tudo correu bem, no Webamin acesse: <Sistema> <Registro de eventos> <Aplicativos> e procure por uma informação parecida com isto:
Código: Selecionar todos
### ## ##:##:## gateway daemon.info named[#####]: zone seudominio.lan/IN: loaded serial #########
### ## ##:##:## gateway daemon.notice named[#####]: all zones loaded
### ## ##:##:## gateway daemon.notice named[#####]: running

Adicionalmente você pode tentar acessar os host pelos nomes ou apelidos em sua rede local conforme for o caso, no brownser acesse "www.seudominio.lan", no cliente ftp acesse "ftp.seudominio.lan", em gerenciadores de arquivos windows digite "\\smb.seudominio.lan" ou linux: "smb://smb.seudominio.lan", eu como sou preguiçoso pra cacete ainda adicionei "bfw" como nome de host, dessa forma posso acessar via terminal digitando somente: "ssh root@bfw".

Uma observação importante quanto ao BIND é a questão do apelido, você só conseguirá rota aos hosts usando apenas o apelido, se usar DHCP, em caso de IP fixo também deverá lembrar de inserir as informações referentesao domínio, caso contrário terá sempre que informar o nome host totalmente qualificado (FQDN), fazendo com que aquele acesso prático do parágrafo anterior fique um pouco maior, resultando em: "ssh root@bfw.seudominio.lan".

7 - Leituras Importantes:
Eu utilizei diversos sites para "aprender" em um final de semana como funciona o BIND, a partir daí usei os novos recursos nativos no BFW, portanto, segue na ordem de detalhes as fontes:


8 - Considerações finais:
Como você pode notar, não sou nenhum expert em linux, tão pouco sou desenvolvedor do BFW, eu mesmo classifico-me como "gambiarreiro profissional", todavia, o método aqui descrito foi testado por mim em mais de uma vez e utilizando hosts virtuais e reais, inclusive, hosts em produção, portanto, garanto que funciona e não causará qualquer alteração que venha a corromper sua instalação do BFW.

Esteja livre para sugerir correções, alterações ou explicações adicionais sempre que você notar que algo está errado, incoerente ou necessitando de uma explicação mais ampla.

É válido ressaltar que tudo quanto aqui foi descrito foi testado no BFW 3.0.261, todavia, acredito ser possível implementar o mesmo método em todas as versões a partir da 3.0.259.

Espero que com este tutorial você possa usufruir ainda mais de todas as capacidades do seu BFW tanto ou mais quanto eu.

Que a força esteja com você.

Tópico para comentários => http://www.brazilfw.com.br/forum/viewtopic.php?f=77&t=92157
Editado pela última vez por reginaldo em Ter Set 22, 2015 8:58 pm, em um total de 7 vezes.
Razão: Acrescentado link para o tópico para comentários
Avatar do usuário
the-mask
BFW Participative
 
Mensagens: 107
Registrado em: Qua Fev 20, 2013 11:56 am
Localização: Belém - Pará - Brasil
BrazilFW Box: Host -> I5-2310 2.80 GHz - 4 GB RAM - 500 GB HDD - Linux Mint 17.1 Cinnamon
Gateway -> Celeron 430 1.80GHz - 1GB RAM - 40 GB HDD - BFW 3.0.258 - DNS, Cache, DHCP, QOS, Webserver, Samba

Re: Criando um Domínio Local com BFW 3.0.261

Mensagempor reginaldo » Ter Set 22, 2015 4:37 pm

Boa Tarde!

the-mask, em nome do Fórum BFW muito obrigado pelo tutorial.

:o! :aplause:
Contribua para que o Projeto BFW permaneça no ar, Doe Click aqui
Contribua com o reginaldo, Doe, favor enviar e-mail para reginaldo@brazilfw.com.br
-----------------------------------------------------------------------------------------------------
"Disciplina é liberdade. Compaixão é fortaleza. Ter bondade é ter coragem" (Há Tempos [Dado Villa-Lobos/Renato Russo/Marcelo Bonfá])
Avatar do usuário
reginaldo
BFW Mediator
BFW Documenter
BFW Manager
BFW 3.x Update
 
Mensagens: 12686
Registrado em: Sáb Ago 27, 2005 12:10 pm
Localização: Rio de Janeiro - RJ
BrazilFW Box: Máquina Física
CPU: Intel Core i3 Model 530
Memória: 8.00 GiB / 2 Links
BFW 3.0.262 64 bits
Serviços Ativos: Control MAC, QOS
Addons: EBackup, EPM e Squid 3.5.x


Voltar para BrazilFW 3.x

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes