I often roam in different networks. Some of those need special settings for DNS or block mails to external mailservers and only accept internal smarthosts. I'm looking for some kind of program where I can make settings based on networks. Say the wireless network with ESSID Foo needs a nameserver on address 10.32.5.12 plus one on 8.8.8.8, wired network with ESSID Bar takes any nameserver which comes per DHCP and so on. What programs do you know and what are the benefits of those?
You can already configure this in the Network Manager:
Wired networks don't have ESSIDs
Your general solution to I need to do this random shizzle for this random connection would be a dispatcher script with Network Manager. Here are some examples: