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