Generating a random hostname
Matthew Seaman
m.seaman at infracaninophile.co.uk
Thu Mar 18 09:19:52 UTC 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 18/03/2010 08:32:31, Matthew Seaman wrote:
> On 17/03/2010 22:06:30, Peter Steele wrote:
>> Is there any facility in FreeBSD for generating a random hostname? We
>> have a template with a fixed hostname that has to be changed after
>> the template is closed. It would be useful to have a hostname
>> generated randomly.
>
> perl -le '@a=(a..z,0..9); print map {$a[rand @a]} (1..8)'
>
> That gives you 2,821,109,907,456 different possibilities so you should
> be able to use it for a while without too much fear of duplicates.
Thinking about this some more, a good trick would be to generate a
hostname from the MAC address of the host, since that is guaranteed to
be unique.
Something like this:
% cat hngen
#!/usr/bin/perl
use strict;
MAIN:
{
use integer;
my @a = ( 'a' .. 'z' );
my $mac = shift;
my $n = '';
$mac =~ tr/://d;
$mac = hex $mac; # Convert to decimal integer
while ( $mac > 0 ) {
$n = $a[ $mac % @a ] . $n;
$mac /= @a;
}
print "$n\n";
}
% ./hngen 00:40:05:a5:8d:b7
bigdehkkt
It does mean that hosts from the same manufacturer will tend to have
similar names -- this might be construed as a feature...
Cheers,
Matthew
- --
Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard
Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
Kent, CT11 9PW
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkuh7/gACgkQ8Mjk52CukIz4egCfc6ErdXCEhIYz3emGZmPN51YX
iYAAnjbBxLaAOh6pAUkfgdgZH/PyU/EM
=KZ8m
-----END PGP SIGNATURE-----
More information about the freebsd-questions
mailing list