O iptables em si é completamente estático. Você precisará de um frontend que esteja ciente da rede.
Are there tools that already exist
O Fedora / CentOS usa firewalld , que tem um conceito de 'zonas' (semelhantes às vistas no Firewall do Windows). Se o seu sistema usa o NetworkManager, você pode atribuir uma zona a cada perfil de rede e irá carregar regras de firewall de acordo.
Sua outra opção é utilizar 'hooks' de post-up em sua ferramenta de configuração de rede, para executar um script que carrega o conjunto de regras desejado toda vez que você se conecta a uma rede diferente. Pode ser tão simples quanto um shellscript que chame iptables-restore < /etc/iptables/rules.$ZONE
dependendo do SSID do Wi-Fi ativo.