Значит, мои настройки IPtables будут действовать? А вот как быть с NAT?
Надо в скрипт дописать удаление NAT правила iptables и добавление нового правила NAT, с новым адресом для NAT. См. справку по iptables.
Какое правило удалять, как определить какой сейчас адрес в этом правиле? Можно детектить прямо, писать скрипт, например, для разбора вывода "iptables -S". Не самый простой скрипт, нужны grep, awk, bash команда read...
Или выстроить логику скриптов, чтобы было заранее известно какой адрес стоит в правиле.
Или можно в файл сбрасывать текущий адрес, сразу при задании правил и потом читать оттуда.
Вот это пишет в файл адрес из addr_value в файл, читает из файла в переменную out_ip_addr, выводит на экран значение переменной out_ip_addr:
#!/bin/bash
addr_value="192.168.0.1"
echo $addr_value > /home/tmp/out-addr.txt
read out_ip_addr < /home/tmp/out-addr.txt
echo $out_ip_addr
Только Firestarter сам всё делает, у него может быть есть описанный в документации на него свой скрипт перезапуска. Т.е. сменить маршруты и рестартовать Firestarter, а он типа тогда сам NAT пернастроит. Я подозреваю... Уж больно Firestarter сильно самостоятельная штука.