[FUG-BR] Dhcp com banco de dados

Corsini Corsini jbcorsini em hotmail.com
Quinta Fevereiro 3 09:45:40 BRST 2011


Pessoal segue o modelo de arquivo  basta copiar o conteudo para um arquivo .php qualquer 
a tabela do banco mysql precisa ter esses campos abaixo citados, mas caso queira mudar fiquem a vontade.
 
<?
header("Content-type: text/plain");
$dbhost="localhost";
$dbuser="usuario";
$dbpass="senha";
$dbname="nomedobancomysql";
($link = mysql_connect("$dbhost", "$dbuser", "$dbpass")) || die("Couldn't connect to MySQL");
mysql_select_db("$dbname", $link) || die("Couldn't open db: $dbname. Error if any was: ".mysql_error() );
$sSql = "select nome, mac, ip, setor, rede, gateway 
 from nomedatabela 
 where ip is not null and ip != '' order by rede, setor, nome;";
$rs=mysql_query($sSql, $link);
print "# dhcpd.conf\n";
print "#\n";
print "# Joao B. Corsini\n";
print "#\n";
print "option domain-name \"fwcp3.fepesmig.br\";\n";
print "default-lease-time 64800;\n";
print "max-lease-time 72000;\n";
print "authoritative;\n";
print "ddns-update-style ad-hoc;\n";
print "log-facility daemon;\n\n";
$rede='VAZIO';
$setor='VAZIO';
while ($reg = mysql_fetch_object($rs)) {
        if ($rede != $reg->rede) {
                if ($setor != "VAZIO") { print " }\n"; }
                if ($rede != "VAZIO") { print " }\n"; }
                if ( $reg->rede == "A") {
                        print "shared-network unis {\n";
                        print "         option domain-name-servers 192.168.10.1,192.168.1.1;\n";
                        print "         subnet 192.168.10.0 netmask 255.255.255.0 {\n";
                        print "                 option routers 192.168.10.1;\n";
                        print "         }\n";
                }
                $setor="VAZIO";
        }
        if ($setor != $reg->setor) {
                if ($setor != "VAZIO") { print " }\n"; }
                print "\n       group ".$reg->setor." {\n";
        }
        $nome = $reg->nome;
        $mac = $reg->mac;
        $ip = $reg->ip;
        $setor = $reg->setor;
        $rede = $reg->rede;
        $gw = $reg->gw;
        print "         host ".$nome." { hardware ethernet ".$mac."; fixed-address ".$ip.";";
        if ($gw != "") { print " option routers ".$gw.";"; }
        print " }\n";
}    
if ($setor != "VAZIO") { print " }\n"; }
if ($rede != "VAZIO") { print "}\n"; }
?>
 
Abraços
 
João B. Corsini
Analista de Suporte



 
> From: thiago.rocha em bsd.com.br
> Date: Thu, 3 Feb 2011 09:18:13 -0200
> To: freebsd em fug.com.br
> Subject: Re: [FUG-BR] Dhcp com banco de dados
> 
> João,
> 
> tenho interesse nesse arquivo, você poderia compartilhar?
> 
> att.,
> 
> 2011/2/3 Corsini Corsini <jbcorsini em hotmail.com>
> 
> >
> > Olá akamaru,
> >
> > tenho aqui rodando da seguinte forma com mysql
> >
> > Criei um banco no mysql chamado MAC - com os campos IP, MAC etc....
> > Criei um arquivo index.php em uma pastinha aqui do apache ex:
> > http:\\192.168.0.1\mac\
> > Nesse arquivo index.php eu conecto no banco e faço a consulta gerando os
> > registros ao qual pretendo colocar no arquivo dhcpd.conf
> > Em seguida no freebsd no diretorio do dhcp /usr/local/etc/ eu chamo esse
> > index.php através do comando fetch Ex: fetch -o dhcpd.conf
> > http://192.168.0.1\mac\index.php
> > Se quiser posso estar te passando o modelo de arquivo index.php
> >
> > Abraços
> >
> > João B. Corsini
> > Analista de Suporte
> >
> >
> >
> >
> > > From: coopermine em bol.com.br
> > > To: freebsd em fug.com.br
> > > Date: Wed, 2 Feb 2011 14:45:05 -0200
> > > Subject: [FUG-BR] Dhcp com banco de dados
> > >
> > > Alguem já usou dhcp com banco de dados (mysql,etc) ou alguma maneira de
> > > nao ter que ficar editando o arquivo na mao toda vez que tenha
> > > alteração?
> > >
> > > -------------------------
> > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> 
> 
> 
> -- 
> _________________
> Rocha, Thiago
> SysAdmin
> Powered by FreeBSD: The Power to Serve
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
 		 	   		  


Mais detalhes sobre a lista de discussão freebsd