O'Reilly logo

Wireless Hacks by Rob Flickenger

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Automatic vtund.conf Generator

Generate a vtund.conf on the fly to match changing network conditions.

If you’ve just come from the previous hack [Hack #98], then this script will generate a working vtund.conf for the client side automatically.

If you haven’t read the previous hack (or if you’ve never used vtun), then go back and read it before attempting to grok this bit of Perl. Essentially, it attempts to take the guesswork out of changing the routing table around on the client side by autodetecting the default gateway, and building the vtund.conf accordingly.

To configure the script, take a look at the Configuration section. The first line of $Config contains the addresses, port, and secret that we used in the vtun hack. The second is there simply as an example of how to add more.

To run the script, either call it as vtundconf home, or set $TunnelName to the one you want to default to. Better yet, make symlinks to the script like this:

#ln -s vtundconf home 
#ln -s vtundconf tunnel2

then generate the appropriate vtund.conf by calling the symlink directly:

#vtundconf home > /usr/local/etc/vtund.conf

You might be wondering why anyone would go to all of the trouble to make a script to generate a vtund.conf in the first place. Once you get the settings right, you’ll never have to change them, right?

Well, usually that is the case. But consider the case of a Linux laptop that uses many different networks in the course of the day (say, a DSL line at home, Ethernet at work, and maybe a wireless ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required