When you subscribe
to Big Pond Advance (BPA) you'll very quickly find that BPA only support
a couple of operating systems (Win9x/NT/2000 & MacOS). So what if
you want to use Linux? The answer is…you are on your own…well almost.
This article will
describe how to get your Linux machine hooked up to BPA. Each step must
be complete before attempting the later steps. There are quite a few places
& things that can go wrong, so I will give a few places to ask for
help at the bottom of the article.
Last Caveat - These
instructions were written using RedHat Linux 6.1. You can pick it up from
www.lsl.com.au or www.everythinglinux.com.au
for around $7. Other distributions should work, but may be slightly different.
Step 1 - The Network
Interface Card (NIC)
Before anything else,
you have to get the Linux system to detect and support your NIC. If you
do not yet have a NIC, then I recommend a RealTek-based card, they work
just fine, and cost around $15 for the 8029 10Mbps one. These are
generally sold as NE2000 clones.
If you have an unusual
card, you'll need to hunt around some of the Linux sites to find out details
of the card, and ensure you have the correct driver. It may be easier
to get a new $15 PCI card, if your card is too obscure.
If you are installing
a new machine, have the NIC installed before installing Linux, as most
modern distributions (like RedHat, Mandrake, etc) will detect and install
drivers for cards at install time.
Step 2 - DHCP
Now that we have the
NIC installed and a driver for it, we need to set up DHCP. BPA uses DHCP
to assign dynamic IP addresses to the customers. DHCP also provides details
of the Name Servers, and the network domains to the customer.
The easiest way to
do this is to use linuxconf. Linuxconf is installed as standard on RedHat
6.1, and may be included in other distributions. Run linuxconf as root,
and go to Config/Networking/Client tasks/Basic Host Information. For adapter
1, choose Enabled, DHCP, and select the correct driver from the module
list (using Ctrl+X). Add it as eth0 as the device name. If it is an ISA
NIC, you will need to set the IRQ and IO Port for the card. Choose Quit,
and Activate the changes.
If you do not have
linuxconf, you can either set up DHCP based on your distribution, or you
can do the following -
- Download ftp://ftp.isc.org/isc/dhcp/dhcp-2.0.tar.gz.
- Extract the tar,
and cd into the directory
- ./configure
- make install
- Now issue dhclient
eth0 and you should see some info, and a successful DHCP allocation
- Add dhclient
eth0 somewhere in the startup so you get an IP on bootup
Now do an ifconfig,
we should see something like the following -
eth0
Link encap:Ethernet HWaddr 00:40:33:A0:B1:7A
inet addr:144.132.3.XX Bcast:144.132.15.255
Mask:255.255.240.0
UP BROADCAST RUNNING MTU:1500
Metric:1
RX packets:280275 errors:0
dropped:0 overruns:0 frame:0
TX packets:165863 errors:0
dropped:0 overruns:0 carrier:0
collisions:12378 txqueuelen:100
Interrupt:9 Base address:0xe000
If not try doing
an ifup eth0, and see what
messages you get.
There are many varied
things that can go wrong here, and there is no point continuing until
you have eth0 up and using DHCP. Make sure the cables are OK, and that
the cable modem is working and connected.
Step 3 - Check that
the Name server works.
Before you connect to
BPA, there are a couple of machines you can actually connect to without
authenticating. They are the name servers, and a machine called dce-server.
To ensure you have
DHCP correctly working, type ftp
dce-server at the prompt. Its name should resolve, and you should
get a connection to it. If the name doesn't resolve, go back and make
sure the NIC & DHCP are working correctly. If the ftp server do not
respond, it may because BPA are having an internal problem. I have never
seen dce-server not respond, apart from during an outage.
If you have successfully
ftped to dce-server then you are nearly there, and most of the hard part
is done.
Step 4 - Installing
an authentication client.
OK, your system is now
ready to install some software to authenticate with BPA. There are three
choices -
- BPALogin (http://bpalogin.sourceforge.net/)
- Maintained by myself, it works on many different platforms (Windows/UNIX/BeOS)
with a very small footprint size. Source for all platforms is available
- Bids2login (unknown)
- a PERL script written by an ex-BPA contractor. Unsupported.
- BPC_NO (unknown)
- a JAVA based client written by David Seikel
I haven't used the
other 2, so I will just detail how to get BPALogin working. There are
numerous packagings of BPALogin, but there are 4 that relate to Linux
- bpalogin-1.5-3.i386.rpm
- RedHat 6.x & Mandrake 7 RPM file, will only work on x86 systems
- bpalogin-1.5-3.src.rpm
- RedHat 6.x & Mandrake 7 SRPM file. If you have a non-x86 (like
a Sparc) system, you can do a rpm -rebuild bpalogin-1.5-2.src.rpm and
create a new package. This method also works if you have RedHat 5.x
(which has an older version of glibc)
- bpalogin-1.5-unix.src.tar.gz
- a standard UNIX Tarball. This should work with all Linux's, Solaris,
SunOS, and most Unixes.
- bpalogin-1.5-precomp-linux.tar.gz
- a precompiled x86 version for Linux systems with kernels >= 2.2.
This should work on all x86-Linux's.
Once you have decided
which you need to use, the following table describes the steps required
for each version -
System |
Steps |
bpalogin-1.5-2.i386.rpm |
Execute rpm
-i bpalogin-1.5-3.i385.rpm |
bpalogin-1.5-2.src-rpm |
Execute a rpm
-rebuild bpalogin-1.5-3.src.rpm Then you can install the newly
created rpm as above. It will be in /usr/src/redhat/RPMS |
bpalogin-1.5-unix.src.tar.gz |
Extract the
tarball with tar xvfz bpalogin-1.5-unix.src.tar.gz.
cd into the bpalogin-1.5 directory. Then do a make
install. |
bpalogin-1.5-precomp-linux.tar.gz |
Place the file
bpalogin somewhere like /usr/sbin,
and place the file bpalogin.conf into /etc. |
At the end of this
all methods have generally installed the following files -
- bpalogin executable
file. It will generally be in /usr/sbin
- bpalogin.conf
configuration file. This should be in /etc.
Make sure bpalogin.conf is chmod 600 and owned by root. Otherwise you
password is vulnerable.
- bpalogin.init
an initialisation script. This will usually be in /etc/rc.*
somewhere, based on the system. This script can be used to start and
stop bpalogin. On RH systems it gets installed into /etc/rc.d/init.d/bpalogin.
Now edit the bpalogin.conf
file, and set your username and password.
# Default
debug level is 1. Values range from 0-2 with 0 being silent
debuglevel 1
username dparrish
password notmypass
#authserver dce-server
#loginprog /etc/rc.d/rc.masq
Lines starting with
a # are comments. The default value of authserver (which is also dce-server)
is correct, and should work fine.
OK, now we are ready
to start BPALogin. If you have a version that has installed bpalogin.init
(like RedHat/Mandrake), then you can start BPALogin using /etc/rc.d/init.d/bpalogin
start
You can also start
BPALogin using bpalogin -c /etc/bpalogin.conf
OK, now ping
www.bigpond.com.au, and make sure it works. Try other sites as
well, as that site is hosted on BPA, and could possibly be down.
Step 5 - Checking
that BPALogin connected
When BPALogin starts
and performs some authentication, it writes information to the syslog.
The syslog is (of course) the system log. Linux systems generally
write this information into a file, which may be stored in /var/log.
On RedHat systems it goes to /var/log/messages.
It is possible on
a Linux system, for the system log, to go almost anywhere. The reason
I am making this clear, is that it may be up to you to know where the
syslog is being written to. I am assuming that if you are using
a less popular distribution on Linux, you know what you are doing.
Parts of the syslog can be split into different files as well. Check
/etc/syslog.conf to see
where your logging is going.
Anyway, once you
have located your syslog, you can check in there to see what bpalogin
is doing. Just do a grep bpalogin /var/log/messages
(or where your syslog is).
You should see -
Mar 13
22:15:44 trontech bpalogin[25973]: BPALogin v1.5 - lightweight portable
BIDS2 login client
Mar 13 22:15:44 trontech bpalogin[25973]: Auth host = dce-server:5050
Mar 13 22:15:44 trontech bpalogin[25973]: Listening on port 3214
Mar 13 22:15:44 trontech bpalogin[25973]: Logged on as dparrish - successful
at Mon Mar 13 22:15:44 2000
Mar 13 22:15:44 trontech bpalogin: bpalogin startup succeeded
This tells us that
BPALogin was successfully able to authenticate to the BPA system.
If you see other information here, such as "Could
not connect to auth server", you should go back to step 2,
and check that you have an IP address, and you can ping dce-server.
Note that you get the same message when BPA have an outage.
You should now be
able to ping the outside world. Don't try to ping
www.microsoft.com. It is amazing how many try this as the
first ping. MS have disabled pings to/from their systems due to
vulnerabilities in NT4. Try www.bigpond.com.au.
Step 6 - Making BPALogin
start Automatically
If you installed the
rpm file into RedHat or Mandrake, your work is done. BPALogin will
start automatically at init levels 3 & 5. Enjoy.
Otherwise, you need
to make some way for the bpalogin.init script to be executed at start
up. You can use SYS V init scripts, or init directly, or through
rc.local. However you do it is up to you. You need to either
issue a /usr/sbin/bpalogin -c
/etc/bpalogin.conf or use the init
script from where it was installed.
Getting Help
OK, so something isnt
working, where do you go? If you are having trouble with your NIC
or getting DHCP to work, then go to http://www.linuxdoc.org/
and check out the HOWTO files on Ethernet (Ethernet-HOWTO),
Networking-Overview-HOWTO.
Also look into the Mini-HOWTO's and other parts of the LDP.
You can also check
on the News Server at BPA. There is a newsgroup called bigpond.cable.tech.linux,
ask your question there.
You can also mail
me at wrose@zip-it.org,
but I would prefer to keep these to questions/issues about BPALogin itself
not functioning. If you send me a question about getting some obscure
NIC to work in Linux, I'll most probably ignore it.
|