Setting up RoadRunner and DSL
by David Johns and Jonathan Arehart
1999.11.22.02



For all of the options we will discuss in this course, you will use the second ethernet card and some external equipment to provide a network connection to your router. In each case, there are some slight differences in the default configuration of the equipment, but overall, the process is a matter of assembling the right information in the right places. So, to begin, you will need to re-configure that second ethernet card. (This is the card that we configured with a static TxIS address during the RedHat install.)

Configuring the second Ethernet card

  1. As root, run linuxconf. Go to the section Config, Networking, Client tasks, Basic host information and press -enter-.

  2. Go down to the section labeled "Adaptor 1" and configure it as follows:
    Do this only if you do not use DHCP; i.e. you have a static IP address from your Internet provider. (Note: Cable modems and most DSL setups use DHCP.)
    			--------Adaptor 1--------
    			[X] Enabled
    Config mode		(o) Manual ( ) Dhcp ( ) Bootp		
    Primary name + domain	lorax.clarkk.net
    Aliases (opt)		lorax
    IP address		208.2.106.124
    Netmask	(opt)		255.255.255.0
    Net device		eth0
    Kernel module		ne2k-pci
    I/O port (opt)
    Irq (opt)
    
    As you fill in the data, you will want to use the names you chose during the install (or were working on) for your computer and network. As mentioned before, the names don't have to be vaild for the whole Internet (i.e. the domain doesn't have to be registered), though it is better if the domain isn't taken. An alternate solution is to use names provided by your Internet provider, though such names aren't usually easy to remember.

    You will also want to be sure to use the address and netmask provided by your Internet company (instead of the examples shown above). Linuxconf is able to compute the network address and broadcast addresses from your machine's address and netmask, so you don't absolutely need that information to set up your Linux machine, though they may be required for your router (i.e. for an ISDN router).

    One more note: Since the hardware you use when you do your own Linux install is likely different than the hardware in the machines in the class your "Kernel module" field will likely be different than ours. You should leave it set to the module that supports your Ethernet card. Changing it will break your networking (not permanently; just until you re-select the correct module).
    Accept the changes.

  3. For the Cable Modem or DHCP based network:
    			--------Adaptor 1--------
    			[X] Enabled
    Config mode		( ) Manual (o) Dhcp ( ) Bootp		
    Primary name + domain   lorax.clarkk.net
    Aliases (opt)		lorax
    IP address
    Netmask	(opt)
    Net device		eth0
    Kernel module		ne2k-pci
    I/O port (opt)
    Irq (opt)
    For a DHCP based network you will want to set your machine and domain names as you would if you had a static address, though you will want to leave the address and netmask fields blank. You should also use the right and/or left arrow keys to move the config mode radio button from "( ) Manual" to "(o) Dhcp".
    Accept the changes.

  4. Go to Config, Networking, Client tasks, Name server specification (DNS) and press -enter-.

    Set the options as follows:

    DNS usage			[X] DNS is required for normal operation
    default domain			clarkk.net
    nameserver 1			127.0.0.1
    nameserver 2 (opt)
    nameserver 3 (opt)
    search domain 1 (opt)		clarkk.net
    search domain 2 (opt)
    search domain 3 (opt)
    
    This screen tells your Linux machine to use itself as a name server. In just a moment you will tell the name server software on your Linux machine where to find information.

    And again, you should use the domain name you chose during the install instead of clarkk.net.
    Accept the changes.

  5. Go to Config, Networking, Client tasks, Routing and Gateways, Defaults. Set the options as follows:

    For ISDN, DSL, and non-DHCP Ethernet networks:

    Default gateway			206.224.86.254
    				[X] enable routing
    
    The default gateway is usually the router upstream from you (at your Internet provider). It knows how to direct your requests to the appropriate servers on the Internet. Your Internet provider should tell you the address for their gateway. The address above is for my ISP and won't work (unless you happen to choose them too).

    For DHCP networks and Cable Modems:

    Default gateway
    				[X] enable routing
    
    In this case the DHCP server hands off the address of your default gateway to your Linux machine and you don't have to worry about setting it by hand.
    Accept the changes.

  6. Last but not least, you need to tell the name server software on your Linux machine were to find information. Go to Config, Networking, Server Tasks, Domain Name Server (DNS), Config, forwarders and press -enter-. Set the option as follows:
    IP address	199.170.88.10
    		199.170.88.29
    
    Here you should fill in the IP addresses of your Internet provider's name servers. Your ISP should give you this information when they give you address information, though a few ISPs that use DHCP are a little more reluctant. The examples above are from my ISP. In most cases you will have two name servers, though some providers such as RoadRunner have four name servers.
    Accept the changes.

The rest of the configuration options for setting up your router are secondary. The options for the range of equipment used to connect to ISPs varies so wildly that one should contact their ISP for the external equipment's appropriate configuration.


If your ISP uses DHCP and the above didn't work... (i.e. RoadRunner)

In all likelyhood the configuration above will work for DSL and RoadRunner, especially now that RoadRunner no longer requires you to login to their "login server" just to use the service (they still require you to "login" if you want to change account preferences). However, it is possible that the setup via Linuxconf won't work. In that case, things can be made to work though the setup is a bit more difficult.

The first step is to go back and edit your "Adaptor 1" configuration in Linuxconf. The adaptor configuration is under Config, Networking, Client tasks, Basic host information. The first thing I do is set the external Ethernet card to a static address that would otherwise be unused. I usually do this by incrementing the address of my internal Ethernet card by one. So my configuration in Linuxconf would look like this:

			--------Adaptor 1--------
			[X] Enabled
Config mode		(o) Manual ( ) Dhcp ( ) Bootp		
Primary name + domain	lorax.clarkk.net
Aliases (opt)		lorax
IP address		192.168.2.1
Netmask	(opt)		255.255.255.0
Net device		eth0
Kernel module		ne2k-pci
I/O port (opt)
Irq (opt)

As you can see, instead of using 192.168.1.1 (the address of the private Ethernet card) I've used 192.168.2.1 which is on a different subnet and therefore shouldn't conflict with other machines.

Then I usually go modify my /etc/rc.d/rc.local file to add the custom RoadRunner software. So an rc.local file that ended with:

echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0
/sbin/insmod ip_masq_ftp
/sbin/insmod ip_masq_raudio
/sbin/insmod ip_masq_vdolive
/sbin/insmod ip_masq_cuseeme
/sbin/insmod ip_masq_irc

with the RoadRunner software would look more like this:

/usr/local/bin/fake.rrdhcpcd eth0
/usr/local/bin/rrlogind

echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0
/sbin/insmod ip_masq_ftp
/sbin/insmod ip_masq_raudio
/sbin/insmod ip_masq_vdolive
/sbin/insmod ip_masq_cuseeme
/sbin/insmod ip_masq_irc

/bin/cp -f /etc/resolv.conf~~ /etc/resolv.conf

The first two lines get an address from RoadRunner and log you in to their "login" server. The fake.rrdhcpcd is named so because it was the one of a set of DHCP clients that James (one of TxIS' other Linux guys) found to work with Austin RoadRunner. After those couple of lines go by, we're back to the standard ones that start IP Masquerading. Then we have a fix for an oddity of the rrlogind program. It likes to rewrite the name server setting for the machine on which it runs. Since we don't really want it to do so, we put a backup over the edited file it creates.

So now all we have to do is make that backup and get rrconf, rrlogind, and fake.rrdhcpcd installed.

First the resolv.conf fix: The name server settings should be correct right now because the rrlogind program hasn't yet been run. So as root execute the following commands.

[root@computer directory]$ cd /etc
[root@computer /etc]$ cp ./resolv.conf ./resolv.conf~~

Now we can get the RoadRunner software. I have put copies on the class website, so if you use Lynx and go to http://www.linuxaustin.com/members/files/ you can download them. Here are the steps for installing them:

[root@computer directory]$ cd /usr/local/bin
[root@computer bin]$ lynx http://www.linuxaustin.com/members/files/


Once the page loads in Lynx, download rrconf, fake.rrdhcpd, and rrlogind. Then quite Lynx. You should still be in the /usr/local/bin directory.

[root@computer bin]$ chmod +x ./rrconf ./rrlogind ./fake.rrdhcpcd
[root@computer bin]$ rrconf


When you run rrconf it will ask you for your RoadRunner login name and password. If you don't yet have them from RoadRunner, then you will want to wait and run rrconf later. rrconf creates the configuration files that rrlogind expects to find, so rrlogind will not work without you having run rrconf. Also, if you don't care about connecting to the RoadRunner "login" server, then you can avoid rrlogind and rrconf altogether. Simply leave out their lines in /etc/rc.d/rc.local.

Okay. Now everything should be configured. If you reboot your machine it should come up, DHCP client an address from RoadRunner and then be ready to go. :-)