Date: Thu, 18 Mar 2010 09:18:48 +0000 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Peter Steele <psteele@maxiscale.com> Cc: "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: Generating a random hostname Message-ID: <4BA1EFF8.7030907@infracaninophile.co.uk> In-Reply-To: <4BA1E51F.20304@infracaninophile.co.uk> References: <7B9397B189EB6E46A5EE7B4C8A4BB7CB3B27DFDA@MBX03.exg5.exghost.com> <4BA1E51F.20304@infracaninophile.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
-----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-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BA1EFF8.7030907>
