The MkLinux Journal
 The MkLinux Journal
Think Differently. Think MkLinux
Home | About | News | FAQ-O-Matic | Getting Started | Using MkLinux | Advanced Admin

Getting Your Cable Modem Working with MkLinux

Cable modems are becoming an increasingly popular way to connect to the Internet with speeds that make it seem like you have your own T1 line. Although most cable modemserice providers only list suport for WinXX and MacOS, configuring yout connection with Linux is not a difficult task.

Originally, I thought that this would be a very involved article. When I was home for school in the summer of 1998, the RoadRunner service in my area required an authentication using a proprietary login program. Although this program wasn't made for linux, a few people made login programs for linux. Back then, I had to download and compile a dhcp client, login client and kerberos client to get RoadRunner to work. Now Roadrunner, at least in my area, is doing a simple DHCP login. Since @home, the other large cable modem service provider is using DHCP and RoadRunner is phasing out the authentication, I decided not to includ the directions for compiling the login client and kerberos client because I wouldn't be able to test them. If there is enough interest, I'll try to add them to this article. Please mail me with such requests.

So, as of now, this article assumes you have a working cable modem setup that uses dhcp for network configuration. If this is not the case, please scroll to the bottom of this page for the list of links that helped me get everything installed in the first place.

Getting Started

Before you start to adjust your network settings in MkLinux, it's important to make sure that you have the latest kernel/server pair. GENERIC_07 includes such niceities as IP Packet forwarding support that did not come with the standard DR3 package. What's more, it is important that you have a dhcp client installed. If don't have dhcp installed, or aren't sure you should download dhcpcd. (see Mirrors of DR3 in the following path for a dhcpcd RPM: RedHat/RPMS/dhcpcd-0.65-1b.ppc.rpm. If you are using LinuxPPC and have a newer version of the linux kernel(2.1.XX) you should download a newer version that is compatible with that kernel. Once you have downloaded dhcpcd, install it using rpm. You can find help with package installation here

Once you have dhcp installed, reboot into MacOS.

Getting Your Network Settings from MacOS

Once you have started MacOS, make sure that you are logged in to your cable modem. The default MacOS settings do not start dhcp upon startup. To ensure that you are logged in and the network is working, open an Internet applcation such as Netscape and open up any url. Once logged in, Open up the TCP/IP control panel with MacOS. Write down the numbers that are in the fields next to: IP Address, Default Router, and Subnet Mask. There may or may not be a number next to Name Servers. If there is, write it down and go on to the next step.[NOTE:At the time of installation, your service provider may have given you the numbers for the router, subnet mask, and name servers.

If no Name Servers showed up, don't worry. The theory behind dhcp is to take the netowrk configuration out of your hands. These numbers are always good for reference, and can be helpful in the installation process. To get the name servers, you will need to ping the proxy-server from MacOS. You can do this from a unix shell account or you can use IP Net Monitor. Use ping to find the IP address for proxy-server.your.rooadrunner.domain(in my case it is proxy-server.stny.lrun.com). To lookup the address using IP Net Monitor try here for instructions.

After you have all your numbers witten down, reboot into MkLinux.

Configuring DHCP in MkLinux

Once in mklinux, start up xwindows and run the program netcfg while logged on as root.

At this time, the Network Confgiruation window will come up. There are four buttons at the top. Click on "Names". It gives you options for hostname, domain, additional hostnames to search in, and the names of the name servers. Your domain should be the name of of the main road runner server in your area without the www at the front. My domain is stny.rr.com. The hostname should look like somename.your.domain.com, or something similar. It doesn't really matter since you name won't be registered, but I found that it helps DHCP work regardless. The third field can be left blank and the Nameservers field whould contain the addresses of the domain name servers, one per line.

Similarly, you can edit these parameters at the consolie in /etc/resolv.conf. Mine looks like this:

domain stny.rr.com
nameserver 24.94.33.65
nameserver 24.94.33.64

Next, click on the "Routing" button, and enter the name of your default gateway. If not using X, then open /etc/sysconfig/network, it should look something like this:

NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=stonefox.stny.rr.com
GATEWAYDEV=
GATEWAY=24.94.47.1

"GATEWAY" is the most important and you should enter your defualt gateway there. "HOSTNAME" can be anything, but remember that it's not registered, so it's not really important. "NETWORKING" enables networking, "FORWARD_IPV4" allows IP Forwarding, covered in another section of this website and "GATEWAYDEV"can be removed or left blank.

Lastly, click on "Interfaces". Here you should have an "lo" interface at IP 127.0.0.1. This is called the loopback device. You should not touch that. If you have an interface called eht0, then select it and click the edit button at the bootom. If you do not have an eth0 interface listed, click the add button to create an "ethernet" interface. Once you have done that, fill in the IP and Netmask for eth0. Press the tab key and the network and broadcast numbers will be filled in automatically.Make sure the "Activate interface at boot time" is checked if you want to be logged in on startup.

Under the "Interface configuration protocol" select DHCP. Click Done, it will prompt you to save changes. Click Save. From there, deactivate and then activate your eth0(dhcp) interface to become connected to the network.

If you are doing this at the console, then open /etc/sysconfig/network-scripts/ifcfg-eth0, you should see something similar to the following:

DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=dhcp
BROADCAST=24.94.47.255
NETWORK=24.94.47.0
NETMASK=255.255.255.0
IPADDR=24.94.47.107

Since this is DHCP, and it should be getting all the information for you, it is only completely necessary to have values for DEVICE, ONBOOT, and BOOTPROTO. The others are there for backup and can get changed when the dhcp server actually establishes a connection.

You are now ready to test out your cable connection. Try using your favorite network app. Notice how fast your netscape pages load now :). If you get errors, try restarting your computer. If you need more help, try looking at DHCP mini-HOWTO

What Now?

Now that you have a cable modem, you are free to enjoy the high speed network access combined with the high speed network throughput of Linux. Now is the time to download all of those GNOME binaries you've always wanted to try...

Perhaps the most useful part of using MkLinux for your connections is that it can be used to serve multiple computers on the same account. You can share the network acess from one cable connection to several computers with a simple ethernet hub. IP Masquerading instructions are available here

Useful links

Joseph M. Fahs
fahs@coos.dartmouth.edu


webmaster


Home | About | News | FAQ | Getting Started | Using MkLinux | Advanced Admin

Contact the web team at mklinux-www@mklinux.org.

Copyright (©) 2001 MkLinux Developers Association. Permission to freely distribute this document is hereby granted, provided that it is distributed at no charge other than normal connect-time charges. All rights other than those specifically granted above are reserved.