Version 0.14b Thu Dec 21 10:05 2000
The most recent version of this FAQ will be found on:
http://home.austin.rr.com/rcp/RRRHFAQ.html.
This version is no longer maintained so expect links to be broken. It is left here for those
still running RH 5.2. The see the current version of the page for later versions.
When I hooked up to Road Runner with my Linux box, I found the information I needed scattered all over the net. My goal was to connect to Road Runner using RedHat Linux version 5.2 using the stock kernel with minimum changes to the standard RedHat configuration.
I use a Dell Pentium running Redhat 5.2 as a masquerading gateway for my household LAN. I use two separate ethernet interfaces: one for my LAN and one for the net connection to the cable modem. You need two ethernet cards so that you can firewall your internal LAN from the Internet. In my opinion this is essential if you have a LAN with local servers on it.
Road Runner requires two steps to gain full Internet access:
NO! However, there are two versions that will work with the 2.0 Linux Kernel used by RedHat 5.2 and with the NT based DHCP service used by Road Runner in Austin.
dhclient is
available from http://www.isc.org/products/DHCP/
I used this version successfully in Austin. It however has a different interface than the version included with RedHat so I prefer the other.
dhcpcd DHCP client developed by Yoichi Hariguch
has been modified to work with NT DHCP - rrdhcpd. The
RRLOGIND distribution comes with versions that work with both 2.0
(rrdhcpcd-1.03) and 2.1 (rrdhcpcd-2.0) kernels.
I am using the version 1.03 dhcpcd with RedHat 5.2. It is included with the RRLOGIND 1.2 distribution found at: http://www.vortech.net/rrlinux/
Yes, but there are several versions. Only some work here in Austin. Road Runner uses two different protocols for its login. Cable systems using Unix servers (e.g. San Diego) use one and systems using WinNT servers (e.g. Austin and Hawaii) use a different proprietary protocol.
There are two versions of the login software that will work in Austin: One is written in Perl, the other in C.
loginrr - in perl
The Linux Road Runner Hawaii HOWTO by Ed Orcutt (link bad now - http://hoku.net/projects/rrhowto/RoadRunner-Hawaii-HOWTO.html) explains the setup with the perl based script. The script is found at: (link bad now - ftp://wormhole.eosys.com/pub/rr/login/ )
This script has been customized for Austin by Robert Lockhart and may be found at: http://members.nbci.com/AustinRob/
Note that Robert's instructions for RedHat 5.2 include updating to an experimental 2.1 kernel.
rrlogind - in c
Rrlogind claims to be a more complete implementation of the Road Runner login protocol than loginrr. It can detect and reestablish broken sessions. I used version 1.2 which is found at: http://www.vortech.net/rrlinux/rrlogind.htm
This distribution also includes the required dhcpcd (see above).
dhcpcd. Version 1.02 installs as
/usr/sbin/rrdhcpcd so it will not interfere with your
RedHat /sbin/dhcpcd.
cd /sbin/
diff -c /sbin/ifup.dist /sbin/ifup
*** /sbin/ifup.dist Thu Dec 31 01:14:48 1998
--- /sbin/ifup Tue Jan 12 11:48:38 1999
***************
*** 112,117 ****
--- 112,137 ----
echo "done."
IPSETUP=yes
fi
+ elif [ "$BOOTPROTO" = rrdhcp -a "$ISALIAS" = no ]; then
+ echo -n "Using RRDHCP for ${DEVICE}... "
+ /sbin/ifconfig ${DEVICE} down
+ /sbin/ifconfig ${DEVICE} -promisc arp -allmulti trailers \
+ -pointopoint multicast
+ /sbin/ifconfig ${DEVICE} up
+ /sbin/route add -host 255.255.255.255 dev ${DEVICE}
+ IFNAME=${DEVICE} \
+ /usr/sbin/rrdhcpcd -c /etc/sysconfig/network-scripts/ifdhcpc-done
${DEVICE}
+ echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh
+
+ if [ -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
+ echo "failed."
+ exit 1
+ else
+ rm -f /var/run/dhcp-wait-${DEVICE}.pid
+ echo "done."
+ . /etc/dhcpc/hostinfo-${DEVICE}
+ IPSETUP=no
+ fi
fi
if [ "$IPSETUP" != yes ]; then
***************
*** 136,144 ****
fi
# this is broken! it's only here for compatibility with old RH systems
! if [ "${GATEWAY}" != "" -a "${GATEWAY}" != "none" ]; then
! route add default gw ${GATEWAY} metric 1 ${DEVICE}
! fi
. /etc/sysconfig/network
--- 156,164 ----
fi
# this is broken! it's only here for compatibility with old RH systems
! # if [ "${GATEWAY}" != "" -a "${GATEWAY}" != "none" ]; then
! # route add default gw ${GATEWAY} metric 1 ${DEVICE}
! # fi
. /etc/sysconfig/network
Diff finished at Tue Jan 12 11:48:46
/etc/sysconfig/network-scripts.
The RedHat visual config tools won't let you define the interface
with th new "rrdhcp" type that you just defined. Here are
the contents of the ifcfg-eth1 file there:
DEVICE=eth1 USERCTL=yes ONBOOT=yes DEFROUTE=yes BOOTPROTO=rrdhcp BROADCAST=24.93.255.255 NETWORK=24.93.0.0 NETMASK=255.255.0.0 IPADDR=0.0.0.0If your external network ethernet card is configured as a device other than eth1, you will need to change the interface name above.
I also customized ifup-post to start my rrlogind when the
interface comes up:
cd /etc/sysconfig/network-scripts/ diff -c /etc/sysconfig/network-scripts/ifup-post\~ /etc/sysconfig/network-scripts/ifup-post *** /etc/sysconfig/network-scripts/ifup-post~ Thu Oct 15 11:07:52 1998 --- /etc/sysconfig/network-scripts/ifup-post Sun Jan 3 14:16:09 1999 *************** *** 30,33 **** --- 30,41 ---- # Notify programs that have requested notification do_netreport + #local additions + if [ "$DEVICE" = eth1 ] ; then + /etc/rrlogind/rrrestart + fi + exit 0
/etc/rrlogind/
rrrestart is a script which kills any running rrlogind and
restarts it. I customized one I found (sorry, I forgot where):
#!/bin/sh # rrrestart: logs the system out and back into Road Runner # First, kill the running rrclientd and wait for it to exit /usr/bin/killall -w -q rrlogind # Restart the rrclientd daemon /etc/rrlogind/rrlogind -u youruserid /etc/rrlogind/.password logon-server & # logon-server.austin.rr.com is the logon host in Austin
The basic operation should be to use /sbin/ifup eth1
to start the connection and /sbin/ifdown eth1 to shut it
down. It seems that the Road Runner "login" does time out
and some people run scripts that re-login every few hours. This seems
excessive to me although a crontab entry that runs rrrestart to log
you in just prior to times that your routinely use the connection
might be useful.
More or less... The Vortech software (http://www.vortech.net/rrlinux/) includes versions for the 2.2 kernels and instructions for other Linux distributions. In general you should expect the scripting that incorporates dhcpcd and rrlogind to be distribution specific.
Road Runner dhcp and login information:
Firewalls and Masquerading:
HOWTOs:
©1999 Robert Pettengill - permission is given for any non-commercial use provided the content is unaltered and attribution is given.