aboutsummaryrefslogtreecommitdiffstats
path: root/generate_mac_address.sh
diff options
context:
space:
mode:
Diffstat (limited to 'generate_mac_address.sh')
-rwxr-xr-xgenerate_mac_address.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/generate_mac_address.sh b/generate_mac_address.sh
new file mode 100755
index 0000000..51675c4
--- /dev/null
+++ b/generate_mac_address.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# Generate a pseudo-random MAC address for virtual network devices.
+#
+# Usage:
+# ./generate_mac_address.sh
+#
+# @author: <sylvain.herledan@hrafnagud.info>
+# @date: 2018-06-19
+
+set -o nounset
+set -o errexit
+set -o pipefail
+
+readonly PROGNAME="$(basename "${0}")";
+readonly PROGDIR="$(readlink -f "$(dirname "${0}")")";
+readonly ARGS="${@}";
+
+main()
+{
+ shuf -i 1-127 -n 1 \
+ | xargs printf '00:16:3e:%02x'
+ shuf -i 1-255 -n 2 \
+ | xargs printf ":%02x:%02x\n"
+}
+
+main ${ARGS}
+exit 0