https://en.wikibooks.org/wiki/Changing_Your_MAC_Address/Linux
well this is totally adapted to SME !
for a temp change ( assuming your external network is eth0)
/etc/init.d/networking stop
ifconfig eth0 hw ether 02:01:02:03:04:08
/etc/init.d/networking start
Execute "ifconfig eth0" to confirm.
then to get it permanent to reboot :
In Red Hat Enterprise Linux (RHEL) and other similar systems (Fedora, CentOS, etc.) an easy way to make changes "permanent" across reboots is to add an appropriate entry to the /etc/sysconfig/network-scripts/ifcfg-ethN file (ifcfg-eth0 for the first Ethernet interface config file, ifcfg-eth1 - for the second, etc.):
MACADDR=12:34:56:78:90:ab
then for SME for making it permanent to reconfiguration, you will have to make it in a template
mkdir -p /etc/e-smith/templates-custom/etc/sysconfig/network-scripts/ifcfg-ethX/
vim /etc/e-smith/templates-custom/etc/sysconfig/network-scripts/ifcfg-ethX/10HWADDR
and add something like this
{
$OUT = "";
return if ($InternalInterface{Name} eq "bond0");
return unless $THIS_DEVICE =~ /^eth[01]$/;
my
my $MACaddr = $is_internal ?
'': $ExternalInterface{MACaddr};
return if $MACaddr eq '';
$OUT .= "MACADDR=$MACaddr " ;
}
then do
config setprop ExternalInterface MACaddr 12:34:56:78:90:ab
test the template with
expand-template /etc/sysconfig/network-scripts/ifcfg-eth0
again assuming your actual external network is eth0 ( adapt to eth1 or anything else if it is different)
Warning NOT TESTED, there might be some typos