/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Dynamic update WINS / DNS
Fra : Christian Bruhn Gufl~


Dato : 08-06-01 13:09

Hej NG.

Jeg står og skal have min server til dynamisk at opdatere DNS på samme
server (BIND 9.1.2) udfra NetBIOS navne fra SAMBAs WINS Server (2.2.0)

Jeg ved jeg skal bruge 'wins hook' / nsupdate - men hvordan.

Jeg skal have SAMBA til at opdatere BIND således at domainname for en klient
bliver

netbiosklientnavn(%m).domain.com

domain.com er allerede sat op på maskinen, og fungerer, jeg har i named.conf
tilladt 'allow-update "127.0.0.1"; og named kører i en sandbox


Hvordan sættes SAMBA op, og er BIND forberedt korrekt?

MVH
Christian Bruhn Gufler



 
 
Jens Kristian Søgaar~ (09-06-2001)
Kommentar
Fra : Jens Kristian Søgaar~


Dato : 09-06-01 04:41

Hej Christian,

> netbiosklientnavn(%m).domain.com
> domain.com er allerede sat op på maskinen, og fungerer, jeg har i named.conf
> tilladt 'allow-update "127.0.0.1"; og named kører i en sandbox
> Hvordan sættes SAMBA op, og er BIND forberedt korrekt?

Jeg har brugt en naiv implementation, hvor jeg simpelthen bare har
lavet et perl-script som kalder "smbclient -L" en gang i mellem og får
en liste over maskiner på domænet. Det har jeg så kædet sammen med et
SDB modul, som bruger denne liste til at lave zonen med. Man kunne
også sagtens bare lade perl-scriptet skrive en zonefil og reloade bind
(rndc reload).

Skidtet virker selvom serveren ikke er WINS server...

--
Jens Kristian Søgaard,
jk@soegaard.net -- http://www.jksoegaard.dk/
Søger du noget? -- http://www.google.com/
echo|perl -ple'$_+=4E-6*!int rand()**2+rand()**2while$i++-1E6'

Christian Bruhn Gufl~ (10-06-2001)
Kommentar
Fra : Christian Bruhn Gufl~


Dato : 10-06-01 11:36

Hej Jens

Ku´ jeg få dig til at sende scriptet ?
(der er en funktion i SAMBA >2.0.6 der hvis man kobler et script kan udføre
funktionen 'wins hook' - et lidt anden løsning, men det er sådan jeg helst
vil ha´ det til at virke)

Jeg kan ikke helt få nsupdate til at virke, zonen har allow-update på
ip-basis, men hvis jeg eks. skriver´

../nsupdate
>update add navn.domain.com 3600 in a 192.168.0.4
>

den arbejder, giver ingen fejlmeddelelse, men svarer ikke korrekt
efterfølgenede på et nslookup, ligesom zonefilen virker uberørt ?
Hvad gør jeg galt her ?

BIND er version 9.1.2

MVH
Christian Bruhn Gufler


"Jens Kristian Søgaard" <jens@mermaidconsulting.dk> skrev i en meddelelse
news:g0danwwc.fsf@sjaks.soegaard.net...
> Hej Christian,
>
> > netbiosklientnavn(%m).domain.com
> > domain.com er allerede sat op på maskinen, og fungerer, jeg har i
named.conf
> > tilladt 'allow-update "127.0.0.1"; og named kører i en sandbox
> > Hvordan sættes SAMBA op, og er BIND forberedt korrekt?
>
> Jeg har brugt en naiv implementation, hvor jeg simpelthen bare har
> lavet et perl-script som kalder "smbclient -L" en gang i mellem og får
> en liste over maskiner på domænet. Det har jeg så kædet sammen med et
> SDB modul, som bruger denne liste til at lave zonen med. Man kunne
> også sagtens bare lade perl-scriptet skrive en zonefil og reloade bind
> (rndc reload).
>
> Skidtet virker selvom serveren ikke er WINS server...
>
> --
> Jens Kristian Søgaard,
> jk@soegaard.net -- http://www.jksoegaard.dk/
> Søger du noget? -- http://www.google.com/
> echo|perl -ple'$_+=4E-6*!int rand()**2+rand()**2while$i++-1E6'



Jens Kristian Søgaar~ (10-06-2001)
Kommentar
Fra : Jens Kristian Søgaar~


Dato : 10-06-01 15:43

"Christian Bruhn Gufler" <cbg@mfd.dk> writes:

> Ku´ jeg få dig til at sende scriptet ?

Ja, det kan du da godt. Jeg kan vist lige så godt sende det her, for
det fylder ikke alverden.

#!/usr/bin/perl -w
$master_browser = shift;
$master_ip = shift;
%hosts = ();

open( FH, "smbclient -L //$master_browser/ -I $master_ip -N|" );

while( <FH> ) {
last if( $_ =~ /Server\s*Comment/ );
}

$_ = <FH>;

while( <FH> ) {
last if( $_ =~ /^\s+$/);
($host_name) = $_ =~ /^\s*(\w+)\s+.*$/;
$hosts{$host_name} = "";
}

close( FH );

foreach $host_name (keys %hosts) {
open( FH, "nmblookup $host_name|" );
$_ = <FH>; $_ = <FH>;
($hosts{$host_name}) = $_ =~ /^(\d+\.\d+\.\d+\.\d+) /;
close( FH );
}

foreach $host_name (keys %hosts) {
print $host_name . "\n";
print $hosts{$host_name} . "\n";
}

Ret simpelt. Du kalder den eksempelvis sådan her:

/smbdump.pl MASTERSERVER 123.123.123.123

hvor MASTERSERVER er navnet på din domæne master, og 123.123.123.123
er IP nummeret på samme.

Den vil så give dig et output med navne og ip-adresser på alle
maskiner logget på lige nu. Jeg har så blot lavet et lille SDB modul,
som bruger disse data til at lave en zone. Du kan også bare lave et
lille perl-scripts som smider det ud i en alm. zonefil og restarter
bind.

> Hvad gør jeg galt her ?
> BIND er version 9.1.2

Opgrader

Jeg har ingen problemer med 9.1.3rc1 -- 9.2.0a'en har også virket
fint, men jeg har ikke tæsket den igennem på samme måde.


--
Jens Kristian Søgaard, Mermaid Consulting I/S,
jens@mermaidconsulting.dk,
http://www.mermaidconsulting.com/
http://www.raqsupport.net/


Christian Bruhn Gufl~ (13-06-2001)
Kommentar
Fra : Christian Bruhn Gufl~


Dato : 13-06-01 08:25

Lige pludselig virkede det på den måde jeg ønskede, jeg benytter nu:

BIND 9.2.0a2
SAMBA 2.2.0

Har tilladt dynamisk opdatering af den ønskede zone, hentet et færdig script
til SAMBA (dns_update) sat stien til dette script i SAMBA (wins hook)
og vupti.

Fedt!.

MVH
Christian Gufler



Søg
Reklame
Statistik
Spørgsmål : 177514
Tips : 31968
Nyheder : 719565
Indlæg : 6408609
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste