Inetmenu is now available on OpenSolaris as part of the laptop community. You can get it here: Inetmenu.
What does Inetmenu do?
Simply put, its a utility which allows you to configure your network interfaces on the fly. It works in both GUI and command line mode.
Its specifically geared towards people who are running Solaris 10 on their laptop, and want to be able to boot and start a window session before configuring any interfaces. It supports normal ethernet and wifi interfaces, and you can configure multiple interfaces. It also updates your /etc/inet/hosts and /etc/inet/ipnodes files with the interfaces it has plumbed up (and removes them when you deconfigure).
Summary of features:
1. A component runs as an smf service to clean up dynamic configurations on startup and shutdown. (esp useful if NIS was running)
2. Ability to configure multiple interfaces
3. Handles WIFI configurations. (does a scan when the WIFI interface is plumbed)
4. Prompts for WEP keys if required.
5. User can configure unlimited additional profiles.
6. Updates /etc/hosts and /etc/inet/ipnodes with your current IP settings and NIS server if present.
7. DHCP handles DNS, NIS, DNS+NIS, and you can specify noNIS.
8. Allows you to reconfigure active interfaces.
9. Works with Jumpstart (restarts rarpd for good measure).
10. Optional pop-up summary window to let you know what its done.
11. Allows you to pass command line arguments for those who don't like GUIs.
How it works (how to use it)
Once installed, the first thing you may want to do is edit the /etc/default/inetmenu file and configure your preferences. There's a special interface called Dialup which you can specify there if you've set up ppp, and Inetmenu will let you choose your ISP before connection. Most of the default settings should just work for you, so you only need to edit this file if you want to do something different from the usual. (Probably makes sense to have a look at it to see what's possible.)
You'll need to add yourself to the Inetmenu profile in the /etc/user_attr file. e.g.
yourusername::::type=normal;profiles=Ginetmenu
or
usermod -P 'Ginetmenu' yourusername
Then you simply run the command "inetmenu" (which you can easily associate with an icon in your panel. Its in your gnome menu under Preferences---> System Preferences---> Network Settings (just drag it)).
You can optionally run it with all, some or none of the arguments shown below. If you supply all the info it needs, it won't pop up any windows (useful for headless machines), and just configures the interface for you.
i
p
W
c => Suppress the SUMMARY window.
t => Use command line mode only. (i.e. no GUI)
However, if you run it with no arguments, the following happens:
A menu pops up asking you which interface you want to configure, if more than one interfcase is detected.
If the interface you have chosen is wireless, it displays a list of available wireless networks to choose from (after doing a scan). (as above, you won't see this menu if it only finds one wireless network or if you have specified "auto" either in the config file or on the command line, but whatever ends up being selected is displayed in the title of the next window)
If the interface you have chosen is Dialup, you'll be presented with a list of possible dialup destinations as defined in your /etc/ppp/peers directory.
Finally, it gives a list of configurations you can apply to that interface (if not Dialup). Supplied by default are:
Deconfigure: Unconfigures the interface, including all the nameservice stuff associated with that interface. You'll only see this choice if the interface you've selected is already up.
Static: you will be prompted to supply IP address and netmask
DHCP: Configures the interface using DHCP, using NIS if available.
DHCP-NoNIS: Configures the interface using DHCP, ignoring NIS.
Followed by any of the static profiles you have configured. (my favourite is Home.) The static profiles allow you to specify (a sample is provided in /etc/inetmenu/SAMPLE):
IP address
Netmask
Defaultrouter
DNS domain
DNS servers
DNS search
(only the first 2 fields being mandatory)
You can re-run inetmenu at any time to configure additional interfaces, or reconfigure active ones. (within reason of course.)
Troubleshooting
If you have already manually configured your laptop, Inetmenu might struggle to clean things up so that it can work. (It will try to tell you this, but other things might have been set up.)
The main thing that Inetmenu does in terms of playing with your config, is that it adds your nodename to the 127.0.0.1 line in the /etc/hosts. This allows it to plumb up the real interfaces, and name it differently, while still ensuring that the laptop name still exists! You may want to check that Inetmenu has done this for you. The line in /etc/hosts should be of the form:
127.0.0.1
The other minorly troublesome issue is NIS, esp with dhcp. We've had a couple cases where NIS fails to work, and the machine grinds to a halt. Basically, if the dhcp server does not provide a YP master, it'll try to do broadcast NIS, which means you need a NIS server on your subnet. Also, we've seen instances where the dhcp server provides an incorrect NIS master, which is just as bad. This is why we provide the option of DHCP-NoNIS, which gives you DNS if available, and sometimes thats good enough for most. But at least you're in a position to troubleshoot.