SEE THIS PAGE FOR HOW TO SETUP DHCP.
v1.1 - January 3rd, 1999.
Bill Bradford
mrbill@frenzy.com
First off, here are a few things you will need. When I've given locations for binary packages, I've given the locations for the Solaris 7 (2.7) versions; if you need 2.6 or 2.5.1 versions, you can find them easily by going to http://www.sunfreeware.com. You must perform these steps with "root" or "superuser" privledges. Anyways, here we go: 1. Ed Orcutt (edo@eosys.com)'s "rrlogin" Perl script. I've got a copy of his version 0.1, edited with the proper settings for RoadRunner Austin, at: http://home.austin.rr.com/sunhelp/rr/rrlogin.perl I suggest that you download this and rename it to "rrlogin". You will also need to edit it and replace "myusername" with your Road Runner username, and "mypassword" with your Road Runner password, *BOTH IN LOWERCASE*. If you've already got Perl 5 installed, but not in /usr/local/bin/perl, you will also need to edit the first line of the script to reflect where your Perl installation resides. 2. "gzip", the GNU compression utility. If you've got it, good, if not, binary packages are available: for SPARC: ---------- ftp://nce.sun.ca/pub/freeware/sparc/7/gzip-1.2.4-sol7-sparc-local for x86/Intel: -------------- ftp://nce.sun.ca/pub/freeware/intel/7/gzip-1.2.4-sol7-intel-local Once you download the package, change to the directory the package is in, and do "pkgadd -d ." This should bring up a menu allowing you to choose the "FSFgzip" package, and install it. It will install the "gzip" binary in the /usr/local/bin/ directory. If "pkgadd -d ." doesent work, try "pkgadd -d ./", e.g., "pkgadd -d ./gzip-1.2.4-sol7-sparc-local". Be sure and use the correct package for your system type. 3. Perl 5.002 or higher, along with the MD5 module. If you've already got it installed, skip this section. If you dont have Perl5 installed, you can get an installable binary package at the following locations: for SPARC: ---------- ftp://nce.sun.ca/pub/freeware/sparc/7/perl-5.005_02-sol7-sparc-local.gz for x86/Intel: -------------- ftp://nce.sun.ca/pub/freeware/intel/7/perl-5.005_02-sol7-intel-local.gz Once you download the package for your system, use the "gzip" program you downloaded in step 2 to uncompress the package, as such (make sure that /usr/local/bin is already in your PATH): "gzip -d perl-5.005_02-sol7-sparc-local.gz" This will leave you with a file called "perl-5.005_02-sol7-sparc-local". You can then install it with the "pkgadd" command as you did earlier with the "gzip" package. It will install to /usr/local/bin/ as well. As for MD5, I've placed a copy of the latest version, MD5-1.7.tar.gz, at: http://home.austin.rr.com/sunhelp/rr/ Alternately, you can get it at: ftp://ftp.cise.ufl.edu/pub/perl/CPAN/modules/by-module/MD5/ After download, you will have to use the "gzip" and "tar" commands to uncompress the file. After uncompressing it, follow the directions in the README file. If you have trouble with the "make" or "perl" commands not being found, make sure that both /usr/ccs/bin and /usr/local/bin are in your PATH. If you have trouble installing the MD5 module, consult your local Perl wizard or email me. DHCP Configuration: ------------------- Once you've got perl 5.002 (or higher) and the MD5 module installed, as well as the "rrlogin" program, you're ready for the easy part - setting up your Solaris system to get its TCP/IP configuration information via DHCP (the Dynamic Host Configuration Protocol, which RoadRunner uses). DHCP under Solaris 2.5.1 is not offically supported by Sun, and no software to do this is provided with Solaris 2.5 or 2.5.1, but you can get software to enable this functionality at http://www.isc.org/dhcp.html. If you need help compiling, installing or configuring ISC's DHCP, contact them; once you've got it installed and working, skip to the next step. As for Solaris 2.6 and Solaris 2.7 (aka Solaris 7), setting up DHCP is very easy. Assuming that your SPARCstation or Intel-based Solaris system is already on a network, this is all that it takes to enable DHCP: 1. "touch /etc/dhcp.le0" (for Intel-based systems, replace the ".le0" for the rest of these instructions with ".iprb0", or whatever the ethernet interface for your system might be) 2. "touch /etc/hostname.le0". You need to make *SURE* that this file is EMPTY - otherwise, DHCP configuration wont work. 3. Make sure that /etc/hosts only has one line in it, the one containing "127.0.0.1 localhost". Any other lines will be ignored, and any additional necessary lines will be added by the DHCP client at boot time. 4. "touch /etc/notrouter" - this creates a file to tell Solaris that your system will not be performing routing or packet-forwarding duties. If it already exists, good. Leave it be. 8-) 5. "touch /etc/defaultrouter" - since the DHCP client software will automatically put the needed entries in this file, we just need to make sure that it exists as a blank/empty file. If it already exists, rename it and create the emtpy file in its place. 6. "touch /etc/resolv.conf" - again, the necessary entries will be added by the DHCP client. If you already have this file, rename it and create an empty file in its place. 7. Edit the file /etc/nsswitch.conf, and look at the "hosts:" line. By default, it reads "files"; change it to read "hosts: files dns". This will enable your machine to resolve addresses using DNS, the Domain Name System. Once you've performed steps 1 through 7, your machine is ready to get its networking information via DHCP. The easiest way to do this is to reboot your machine. You will see status messages during boot about the DHCP client, this is normal. Once the machine is booted, login as root or superuser, and type the "ifconfig -a" command. You will see output similar to this: # ifconfig -a lo0: flags=849 mtu 8232 inet 127.0.0.1 netmask ff000000 le0: flags=4843 mtu 1500 inet 24.93.53.4 netmask ffffff00 broadcast 24.93.53.255 ether 8:0:20:1b:1:72 The entry we're concerned about is le0 (iprb0 on Intel/X86 systems); just make sure that its configured via DHCP, and that an IP address and broadcast address was assigned. You can also check the /etc/resolv.conf and /etc/defaultrouter files to make sure they were configured by the DHCP client. Once you've got all this done, you're ready for the final step. Logging into RoadRunner with your Solaris system. ------------------------------------------------- Assuming that you've gotten to this point without a problem, and that you've got DHCP working, the "rrlogin" script edited with your user information, and Perl and the MD5 module downloaded, you're ready to go. All you need to do is run the "rrlogin" script - here's an example: # /usr/local/bin/rrlogin Sending Login Request ... Recieved message type 9, length 34, bytes 34 Sending Authenticate-Login Request ... Recieved message type 5, length 109, bytes 109 Login Successful! There you go! From this point on, you should be able to cruise the Internet at will with your Solaris system. I also suggest adding the "rrlogin" command to the root user's crontab file, so that your system will automatically login every four to six hours (if your system is connected and turned on all the time). I've also added "rrlogin" to /etc/rc2.d/S99local (create this file, if it doesent already exist), so that the system will log onto Road Runner every time it boots. I hope this document is helpful - despite the number of directions, it actually only takes less than five minutes to get a Solaris system working with RoadRunner. I'm using it here at home with a SPARCstation 10 with 128mb RAM running Solaris 7, and havent had a problem yet. If you've got questions, comments, or suggestions, please feel free to contact me via email at mrbill@frenzy.com. For other Sun and Solaris related help, you might want to take a look at a web site I run, at http://www.sunhelp.com. I've got a local copy up for RoadRunner users as well, at http://home.austin.rr.com/sunhelp. I'd also like to thank Rob Lockhart for providing the Austin-centric version of the "rrlogin" script used with these instructions, and providing me with the updated version of the rrlogin script that fixed the "connection refused" problem. -- Bill