Part of my job nowadays is regular Linux consulting for various clients. As part of this, I end up having to reconfigure my network quite a lot, and often by hand. Two examples:
I am setting up some services on a closed server network. I am
connected to this using regular, wired Ethernet. This network does not
have access to the internet, so I also have access to a WLAN which does.
However, I need access to both internal and external DNS zones, so I
need to use two different set of servers, depending on the domain name.
I also currently set up some static routes to get to the internal DNS
and have to
chattr +i /etc/resolv.conf in order for the DHCP client
not to overwrite my manually configured DNS.
Another example: I am troubleshooting Varnish, deep in a company’s
intranet. To get access to this, I first have to use a VPN client, then
ssh with an RSA token as well as password. From there on, I use
tsocks to connect to an intermediate host before using
to get to the actual Varnish boxes.
Currently, I set up all of this infrastructure by hand, which doesn’t really work so well when I switch between clients and go home and use the same laptop there. Does any network configuration tools help me with complex setups such as the ones above? I realise they are not exactly run-of-the-mill setups used by most users, but for me they are two fairly common examples of setups I need.