Apenas para acrescentar uma informação que pode ser útil. O uso do ifconfig em linha de comando para configurar a rede (mesmo que seja através de um script) é mais interessante para uma configuração temporária. Caso a sua configuração seja permantente, ou seja, caso você não precise mudá-la constantemente, então há formas melhores de se configurar.
Uma opção que já deixaria o seu pc configurado no boot seria configurar o arquivo /etc/network/interfaces. Por exemplo acrescentando as linhas
auto eth0:0
iface eth0:0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
up iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE
up iptables -I INPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
up echo 1 > /proc/sys/net/ipv4/ip_forward
down iptables -t nat -D POSTROUTING -o ppp0 -j MASQUERADE
down iptables -D INPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
down echo 0 > /proc/sys/net/ipv4/ip_forward
Além disso as opções
up echo 1 > /proc/sys/net/ipv4/ip_forward
down echo 0 > /proc/sys/net/ipv4/ip_forward
podem ser dispensadas se o comentário da linha
#net.ipv4.ip_forward=1
do arquivo /etc/sysctl.conf for removido deixando assim
net.ipv4.ip_forward=1
OBS: Não sei se toda versão do Ubuntu possui este arquivo de configuração
Mais uma maneira de configurar a rede no boot seria acrescentar o "caminho" do seu script no final do arquivo /etc/rc.local
e se certificar de que o rc.local esteja definido como executável, e pronto o scritp será executado no fim a inicialização do sistema.
Para mais informações sobre a configuração do arquivo interfaces, basta "man interfaces".
É isso, espero ter sido útil