4
MAC randomisation help (discuss.online)
submitted 6 months ago by Aiko@discuss.online to c/openwrt

Hi!

Can anyone please help me to make my MAC be randomly generated after each reboot?

I need some kind of script or instructions. Thanks you!

Found this one:

#!/bin/sh

INSTALL_PATH="/etc/init.d/randomize_mac"

echo "Creating MAC randomizer script..."
cat << 'EOF' > $INSTALL_PATH
#!/bin/sh /etc/rc.common

START=99

start() {
    generate_random_mac() {
        echo $(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))
    }

    change_mac() {
        local iface=$1
        local new_mac=$(generate_random_mac)
        ip link set dev $iface down
        ip link set dev $iface address $new_mac
        ip link set dev $iface up
    }

    for iface in $(ip link show | grep -E '^[0-9]+:' | cut -d ':' -f 2 | cut -d ' ' -f 2); do
        if [ "$iface" != "lo" ]; then
            change_mac $iface
        fi
    done
}
EOF

echo "Making MAC randomizer script executable..."
chmod +x $INSTALL_PATH
echo "Success!"

echo "Enabling MAC randomizer script to run at boot time..."
/etc/init.d/randomize_mac enable
echo "Success!"

echo "Deleting installation script..."
rm -- "$0"

Here is example of output of this command:

echo $(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))":"$(printf '%02x' $((RANDOM%256)))

Output:

a7:03:f2:fa:45:5d

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here
this post was submitted on 22 Apr 2024
4 points (100.0% liked)

OpenWrt

300 readers
1 users here now

OpenWrt news, tools, tips and discussion. Related projects, such as DD-WRT, Tomato and OpenSAN, are also on-topic.

Rules

  1. Stay on topic: All posts should be related to OpenWrt and related projects, including DD-WRT, Tomato, OpenSAN, and more!

  2. No offensive or low-effort content: Don't post offensive or unhelpful content. Be nice - keep it civil and friendly!

  3. Describe images/videos, no memes: Please include a text description when sharing images or videos.

  4. No self-promotion spam: Active community members can post their apps if they answer any questions in the comments. Please do not post links to your own website, YouTube, blog content, or communities.

  5. No reposts or rehosted content: Share only the original source of an article, unless it's not available in English, behind a paywall or requires logging in (like Twitter). Avoid reposting the same topic from other sources.

  6. No editorializing titles: You can add the author or website's name if helpful, but keep article titles unchanged.

  7. No piracy: Do not share links or direct people to pirated content.

  8. No unauthorized polls, bots, or giveaways: Do not create polls, use bots, or organize giveaways without first contacting mods for approval.

  9. No affiliate links: Posting affiliate links is not allowed.

founded 1 year ago
MODERATORS