Yep, saw it after posting. Have been working on the fix since. Now I see why he wanted to have the MAC addresses loaded dynamically.
The router resets all the files at each startup. The way to get around this is to write a script
to be run at startup that on-the-fly creates the files you want. duke's script created the base nzone file, and then pulled the MAC addresses into a local file over the internet. With that being down, we have to hardcode in the MAC addresses to be written to the file at startup. That makes for one
massive startup script, but it's working for me now, after reboot, as well. (It wasn't working after reboot on my system originally.) See below for the startup script I'm now using. It puts all 255 MAC addresses (Extended Prime and then pushing that all the way to FF instead of stopping at 9F) into /tmp/nzone.macs_save, copies /tmp/nzone.macs_save to /tmp/nzone.macs, and then writes out the /tmp/nzone.sh script.
To implement this, you don't need putty.
1. Go to the UI for the router
2. Go to Administration -> Commands
3. Copy the below code into the Commands window
4. Click on "Save Startup"
5. Done
Restart the router to verify it's working.
Code:
echo -e "4E:53:50:4F:4F:00\\n4E:53:50:4F:4F:01\\n4E:53:50:4F:4F:02\\n4E:53:50:4F:4F:03\\n4E:53:50:4F:4F:04\\n4E:53:50:4F:4F:05\\n4E:53:50:4F:4F:06\\n4E:53:50:4F:4F:07\\n4E:53:50:4F:4F:08\\n4E:53:50:4F:4F:09\\n4E:53:50:4F:4F:0A\\n4E:53:50:4F:4F:0B\\n4E:53:50:4F:4F:0C\\n4E:53:50:4F:4F:0D\\n4E:53:50:4F:4F:0E\\n4E:53:50:4F:4F:0F\\n4E:53:50:4F:4F:10\\n4E:53:50:4F:4F:11\\n4E:53:50:4F:4F:12\\n4E:53:50:4F:4F:13\\n4E:53:50:4F:4F:14\\n4E:53:50:4F:4F:15\\n4E:53:50:4F:4F:16\\n4E:53:50:4F:4F:17\\n4E:53:50:4F:4F:18\\n4E:53:50:4F:4F:19\\n4E:53:50:4F:4F:1A\\n4E:53:50:4F:4F:1B\\n4E:53:50:4F:4F:1C\\n4E:53:50:4F:4F:1D\\n4E:53:50:4F:4F:1E\\n4E:53:50:4F:4F:1F\\n4E:53:50:4F:4F:20\\n4E:53:50:4F:4F:21\\n4E:53:50:4F:4F:21\\n4E:53:50:4F:4F:23\\n4E:53:50:4F:4F:24\\n4E:53:50:4F:4F:25\\n4E:53:50:4F:4F:26\\n4E:53:50:4F:4F:27\\n4E:53:50:4F:4F:28\\n4E:53:50:4F:4F:29\\n4E:53:50:4F:4F:2A\\n4E:53:50:4F:4F:2B\\n4E:53:50:4F:4F:2C\\n4E:53:50:4F:4F:2D\\n4E:53:50:4F:4F:2E\\n4E:53:50:4F:4F:2F\\n4E:53:50:4F:4F:30\\n4E:53:50:4F:4F:31\\n4E:53:50:4F:4F:32\\n4E:53:50:4F:4F:33\\n4E:53:50:4F:4F:34\\n4E:53:50:4F:4F:35\\n4E:53:50:4F:4F:36\\n4E:53:50:4F:4F:37\\n4E:53:50:4F:4F:38\\n4E:53:50:4F:4F:39\\n4E:53:50:4F:4F:3A\\n4E:53:50:4F:4F:3B\\n4E:53:50:4F:4F:3C\\n4E:53:50:4F:4F:3D\\n4E:53:50:4F:4F:3E\\n4E:53:50:4F:4F:3F\\n4E:53:50:4F:4F:40\\n4E:53:50:4F:4F:41\\n4E:53:50:4F:4F:42\\n4E:53:50:4F:4F:43\\n4E:53:50:4F:4F:44\\n4E:53:50:4F:4F:45\\n4E:53:50:4F:4F:46\\n4E:53:50:4F:4F:47\\n4E:53:50:4F:4F:48\\n4E:53:50:4F:4F:49\\n4E:53:50:4F:4F:4A\\n4E:53:50:4F:4F:4B\\n4E:53:50:4F:4F:4C\\n4E:53:50:4F:4F:4D\\n4E:53:50:4F:4F:4E\\n4E:53:50:4F:4F:4F\\n4E:53:50:4F:4F:50\\n4E:53:50:4F:4F:51\\n4E:53:50:4F:4F:52\\n4E:53:50:4F:4F:53\\n4E:53:50:4F:4F:54\\n4E:53:50:4F:4F:55\\n4E:53:50:4F:4F:56\\n4E:53:50:4F:4F:57\\n4E:53:50:4F:4F:58\\n4E:53:50:4F:4F:59\\n4E:53:50:4F:4F:5A\\n4E:53:50:4F:4F:5B\\n4E:53:50:4F:4F:5C\\n4E:53:50:4F:4F:5D\\n4E:53:50:4F:4F:5E\\n4E:53:50:4F:4F:5F\\n4E:53:50:4F:4F:60\\n4E:53:50:4F:4F:61\\n4E:53:50:4F:4F:62\\n4E:53:50:4F:4F:63\\n4E:53:50:4F:4F:64\\n4E:53:50:4F:4F:65\\n4E:53:50:4F:4F:66\\n4E:53:50:4F:4F:67\\n4E:53:50:4F:4F:68\\n4E:53:50:4F:4F:69\\n4E:53:50:4F:4F:6A\\n4E:53:50:4F:4F:6B\\n4E:53:50:4F:4F:6C\\n4E:53:50:4F:4F:6D\\n4E:53:50:4F:4F:6E\\n4E:53:50:4F:4F:6F\\n4E:53:50:4F:4F:70\\n4E:53:50:4F:4F:71\\n4E:53:50:4F:4F:72\\n4E:53:50:4F:4F:73\\n4E:53:50:4F:4F:73\\n4E:53:50:4F:4F:75\\n4E:53:50:4F:4F:76\\n4E:53:50:4F:4F:77\\n4E:53:50:4F:4F:78\\n4E:53:50:4F:4F:79\\n4E:53:50:4F:4F:7A\\n4E:53:50:4F:4F:7B\\n4E:53:50:4F:4F:7C\\n4E:53:50:4F:4F:7D\\n4E:53:50:4F:4F:7E\\n4E:53:50:4F:4F:7F\\n4E:53:50:4F:4F:80\\n4E:53:50:4F:4F:81\\n4E:53:50:4F:4F:82\\n4E:53:50:4F:4F:83\\n4E:53:50:4F:4F:84\\n4E:53:50:4F:4F:85\\n4E:53:50:4F:4F:86\\n4E:53:50:4F:4F:87\\n4E:53:50:4F:4F:88\\n4E:53:50:4F:4F:89\\n4E:53:50:4F:4F:8A\\n4E:53:50:4F:4F:8B\\n4E:53:50:4F:4F:8C\\n4E:53:50:4F:4F:8D\\n4E:53:50:4F:4F:8E\\n4E:53:50:4F:4F:8F\\n4E:53:50:4F:4F:90\\n4E:53:50:4F:4F:91\\n4E:53:50:4F:4F:92\\n4E:53:50:4F:4F:93\\n4E:53:50:4F:4F:94\\n4E:53:50:4F:4F:95\\n4E:53:50:4F:4F:96\\n4E:53:50:4F:4F:97\\n4E:53:50:4F:4F:98\\n4E:53:50:4F:4F:99\\n4E:53:50:4F:4F:9A\\n4E:53:50:4F:4F:9B\\n4E:53:50:4F:4F:9C\\n4E:53:50:4F:4F:9D\\n4E:53:50:4F:4F:9E\\n4E:53:50:4F:4F:9F\\n4E:53:50:4F:4F:A0\\n4E:53:50:4F:4F:A1\\n4E:53:50:4F:4F:A2\\n4E:53:50:4F:4F:A3\\n4E:53:50:4F:4F:A4\\n4E:53:50:4F:4F:A5\\n4E:53:50:4F:4F:A6\\n4E:53:50:4F:4F:A7\\n4E:53:50:4F:4F:A8\\n4E:53:50:4F:4F:A9\\n4E:53:50:4F:4F:AA\\n4E:53:50:4F:4F:AB\\n4E:53:50:4F:4F:AC\\n4E:53:50:4F:4F:AD\\n4E:53:50:4F:4F:AE\\n4E:53:50:4F:4F:AF\\n4E:53:50:4F:4F:B0\\n4E:53:50:4F:4F:B1\\n4E:53:50:4F:4F:B2\\n4E:53:50:4F:4F:B3\\n4E:53:50:4F:4F:B4\\n4E:53:50:4F:4F:B5\\n4E:53:50:4F:4F:B6\\n4E:53:50:4F:4F:B7\\n4E:53:50:4F:4F:B8\\n4E:53:50:4F:4F:B9\\n4E:53:50:4F:4F:BA\\n4E:53:50:4F:4F:BB\\n4E:53:50:4F:4F:BC\\n4E:53:50:4F:4F:BD\\n4E:53:50:4F:4F:BE\\n4E:53:50:4F:4F:BF\\n4E:53:50:4F:4F:C0\\n4E:53:50:4F:4F:C1\\n4E:53:50:4F:4F:C2\\n4E:53:50:4F:4F:C3\\n4E:53:50:4F:4F:C4\\n4E:53:50:4F:4F:C5\\n4E:53:50:4F:4F:C6\\n4E:53:50:4F:4F:C7\\n4E:53:50:4F:4F:C8\\n4E:53:50:4F:4F:C9\\n4E:53:50:4F:4F:CA\\n4E:53:50:4F:4F:CB\\n4E:53:50:4F:4F:CC\\n4E:53:50:4F:4F:CD\\n4E:53:50:4F:4F:CE\\n4E:53:50:4F:4F:CF\\n4E:53:50:4F:4F:D0\\n4E:53:50:4F:4F:D1\\n4E:53:50:4F:4F:D2\\n4E:53:50:4F:4F:D3\\n4E:53:50:4F:4F:D4\\n4E:53:50:4F:4F:D5\\n4E:53:50:4F:4F:D6\\n4E:53:50:4F:4F:D7\\n4E:53:50:4F:4F:D8\\n4E:53:50:4F:4F:D9\\n4E:53:50:4F:4F:DA\\n4E:53:50:4F:4F:DB\\n4E:53:50:4F:4F:DC\\n4E:53:50:4F:4F:DD\\n4E:53:50:4F:4F:DE\\n4E:53:50:4F:4F:DF\\n4E:53:50:4F:4F:E0\\n4E:53:50:4F:4F:E1\\n4E:53:50:4F:4F:E2\\n4E:53:50:4F:4F:E3\\n4E:53:50:4F:4F:E4\\n4E:53:50:4F:4F:E5\\n4E:53:50:4F:4F:E6\\n4E:53:50:4F:4F:E7\\n4E:53:50:4F:4F:E8\\n4E:53:50:4F:4F:E9\\n4E:53:50:4F:4F:EA\\n4E:53:50:4F:4F:EB\\n4E:53:50:4F:4F:EC\\n4E:53:50:4F:4F:ED\\n4E:53:50:4F:4F:EE\\n4E:53:50:4F:4F:EF\\n4E:53:50:4F:4F:F0\\n4E:53:50:4F:4F:F1\\n4E:53:50:4F:4F:F2\\n4E:53:50:4F:4F:F3\\n4E:53:50:4F:4F:F4\\n4E:53:50:4F:4F:F5\\n4E:53:50:4F:4F:F6\\n4E:53:50:4F:4F:F7\\n4E:53:50:4F:4F:F8\\n4E:53:50:4F:4F:F9\\n4E:53:50:4F:4F:FA\\n4E:53:50:4F:4F:FB\\n4E:53:50:4F:4F:FC\\n4E:53:50:4F:4F:FD\\n4E:53:50:4F:4F:FE\\n4E:53:50:4F:4F:FF" > /tmp/nzone.macs_save; cp -p /tmp/nzone.macs_save /tmp/nzone.macs; echo -e "#!/bin/sh\\nURL=http://duke-srg.dyndns.org/3ds/nzone\\nMACS=/tmp/nzone.macs\\nSAVEMACS=/tmp/nzone.macs_save\\nMACNUM=\$(grep -v x \$MACS | wc -l)\\nTIME=\$((\$(date +%s)/60))\\nif [ \$MACNUM -lt 5 ]; then\\n cp -p \$SAVEMACS \$ MACS\\nfi\\nRANDOM=\$(head /dev/urandom | hexdump -d | head -n 1 | cut -c 11-15 | sed -r \"s/0*(.*)/\\\\1/\")\\nMAC=\$(grep -v x \$MACS | head -n \$((\$RANDOM%\${MACNUM}+1)) | tail -n 1)\\nsed -ri s/\$MAC/x\$MAC/ \$MACS\\nifconfig eth1 down\\nifconfig eth1 hw ether \$MAC\\nifconfig eth1 up\\nstopservice cron\\nstartservice cron\\n" > /tmp/nzone.sh; chmod +x /tmp/nzone.sh