Setting up LINUX as a DHCP client with Qwest (USWEST) ADSL
Or "A lot more than you really wanted to know about ADSL under Linux." by Art Wagner
Before we start let's review the basic requirements for setting up ADSL under linux with Qwest DSL Service. In this configuration set dhcp server enable is set on the 675 and the Linux box is a DHCP client.
  1. Cisco 675 Router (External DSL Modem) (Internal Cisco 605, Intel 2100 WILL NOT WORK)
  2. A ethernet 10baseT or 10/100baseT Network Interface Card (NIC)
  3. Either the RJ45 cat5 turnover cable (the yellow cable provided in the USWest/Qwest installation kit. Or; Two RJ45 cat5 straight thru cables and an ethernet hub.
  4. A computer with Linux installed and configured as a DHCP client.
A description of my system To setup linux to interface to the USWest / Qwest ADSL system with a Cisco 675 ADSL Router (ADSL Modem), the following files in the Linux /etc folder should be setup similar to the files on my system.

  1. The main computer on my network is called "Apollo". It is responsable for (manages) the connection to the Cisco 675. Your computer name can be any name you choose.
  2. The network address for the Cisco 675 is 10.0.0.1. This is the default address set up by Cisco/Qwest.
  3. The network address I have setup for Apollo is 10.0.0.2 I also have a second computer I call "Hercules" at 10.0.0.3. and a third called Jumbo at 10.0.0.4

    The following is a diagram of my system layout including Cisco, Apollo, Hercules, and Jumbo.

    Telephone (POTS) line from
    the Qwest Central Office  ---->|
    |----------------------------------|
    |------> to telephone(s) via POTS filters--------->
        |
        |     (10.0.0.1)
        |-->|<-CISCO 675->|<---straight thru cat5 cable----|
                                                           |
                            4 port hub<--------------------|
                           ^    ^    ^
                           |    |    |
                           |    |    |----> Apollo (10.0.0.2)
                           |    |
                           |    |---------> Hercules (10.0.0.3)
                           |
                           |--------------> Jumbo (10.0.0.4)
                   
    Diagram of a single computer and Cisco router without a hub.
    
    --->POTS line------->to telephones via POTS filters
            |
            |-->Cisco 675<-- turnover cat5 cable--->Computer NIC Card      
              
  4. The name I chose for my local domain is "home.sys" thus Apollo's fully qualified domain name is Apollo.home.sys, Hercules is Hercules.home.sys and Jumbo is Jumbo.home.sys the Cisco 675 is Cisco.home.sys.
  5. When I started my ADSL account USWest assigned me Primary and secondary nameserver URL's of; Primary: 206.80.192.1 Secondary: 206.81.128.1 Your DNS server address may or may-not differ. Use the addresses provided to you by USWest.
  6. USWest also assigned me two Mail addresses, either works;
       Out bound mail address URL is;   mail.phnx.uswest.net
                                  or;   pop.phnx.uswest.net
       
       In bound mail server is;         mail.phnx.uswest.net
                                  or;   pop.phnx.uswest.net
       
       and a News server;               news.uswest.net
       
       and a username of;               awagner

    These web addresses are entered into the appropriate entries in the Netscape other browser's or mail program's preferences. If you are in Phoenix your mail server addresses MAY be the same as mine. In other locations the "phnx" portion will be different. In Seattle this portion is "sttl". Your location may differ. Use the addresses USWest provided you in your installation letter. If you have Windows setup for ADSL the mail addresses are available through your Web Browser,s preference settings, and the DNS values are available and can be extracted via the "My Computer" , Dial-up Networking" options.

Now the configuration files. The lines preceeded by a "#" are comment lines I placed IN the files. The paragraphs preceeded with /* and ended with */ are notes I have added to explain where the data in the files is obtained, for entry in the file. The @======@ lines show the limits of the actual files and are NOT part of the files.
/etc/HOSTNAME
Contents of Art's /etc/HOSTNAME

@==============================================================@
#/etc/HOSTNAME file for Apollo.home.sys
Apollo.home.sys
@==============================================================@
/* The HOSTNAME file defines the "Fully Qualified Domain Name"
(FQDN) of my "Apollo" system which is the system controlling 
the Cisco 675. */
/etc/ethers
Contents of Art's /etc/ethers

@==============================================================@
#/etc/ethers file for Apollo.home.sys + all systems on the LAN
# Network interface Card          System net address or
# Hardware Address                system name (either will work)
00:50:BA:D0:D8:38                 Apollo.home.sys
00:50:BA:32:D5:45                 Hercules.home.sys
00:50:BA:D5:65:94                 Jumbo.home.sys
@==============================================================@
/* I used the FQDN for my systems. I could have used the IP 
address's as in my /etc/hosts file or just the "Nicknames" of 
Apollo, Hercules, and Jumbo. All three options have worked in 
my system.*/
/etc/sysconfig/ network-scripts/ ifcfg-eth0
Contents of Art's /etc/sysconfig/network-scripts/ifcfg-eth0

@==============================================================@
#/etc/sysconfig/network-scripts/ifcfg-eth0 for Apollo.home.sys
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
@==============================================================@
/*The ifcfg-eth0 file set for DHCP tells the system to get an IP 
from the Cisco DHCP server at boot. It is initially set if you 
tell the Linux linuxconf to use DHCP./
/etc/resolv.conf
Contents of Art's /etc/resolv.conf

@==============================================================@
#/etc/resolv.conf file for Apollo.home.sys
search home.sys
nameserver 206.80.192.1
nameserver 206.81.128.1
@==============================================================@
/* The resolv.conf file tells the system what addresses to use 
to request DNS address resolution. These addresses were provided
by USWest as the Primary and Secondary DNS Server addresses when 
my account was set up.*/
/etc/hosts
Contents of Art's /etc/hosts

@==============================================================@
#hosts file for Apollo.home.sys
#Address        FQDN               Nickname
127.0.0.1	localhost	
10.0.0.1	Cisco.home.sys	   Cisco
10.0.0.2	Apollo.home.sys	   Apollo
10.0.0.3        Hercules.home.sys  Hercules
10.0.0.4        Jumbo.home.sys     Jumbo
@==============================================================@
/* The hosts file is the description file for my Local network.
If additional systems were to be connected they would be added 
to this file as are "Hercules" and "Jumbo" above. You should 
have one entry for each computer on your system and one for the 
Cisco router. The "localhost" entry is required for the local 
loopback virtual device used by the linux kernel. */
network logs After getting these items set up, reboot your system and look at your log files in /var/log/messages, dmesg, and boot.log you should find entries from eth0 and dhcpd indicating a proper initialization of your network. Also data is available in /proc/net/ and /proc/interrupts /proc/ioports and /proc/modules.
links HOWTO for Linux Systems
Mini HOWTO for Linux Systems