|
Setting up your internet connection for
Linux
Setting up your i12 connection under Linux is
fairly straightforward, simply follow the steps below to get
your computer connected to the internet. It will be assumed
that you have installed the essential networking software
modules from your Linux distribution, and that you have set up
which serial port that is to be used for the /dev/modem. The
default configuration will usually only allow direct access to
/dev/modem as user root.
Step one: setting up
your i12 account To connect to an i12 shell account
directly, and to experiment with connection sequences, you may
use the minicom program. It is pretty straight forward to use.
Configuration of the machine for
use on the net should be done as user root. Before proceeding
any further, ensure that the file /etc/hosts.deny contains
the following line: ALL: ALL
You would normally want to allow
yourself access, so add the following line to /etc/hosts.allow:
ALL: LOCAL Or if you insist: ALL: 127.0.0.1
For the following, note that it is
meant for those connected via PPP and with a dynamic IP address.
If you have the benefit of a fixed connection (such as the
forthcoming i12 ADSL service), there will be some differences.
It is nice to have a name connected
to the machine, a name that the dynamic IP user really can
select as he or she pleases. Put the name in /etc/HOSTNAME:
i12
The next step is to set up the name
server in /etc/resolv.conf: search .nameserver 212.1.130.33
<nidx>nameserver
Step two:
configuring TCP/IP
The name server must be specified by a numeric IP address.
If required, you can have up to three different servers,
each
on a separate line. They will be requested in the sequence
in which they are listed.
If you want to be able to use names
like somemachine as an abbreviation for somemachine.acme.xz
, you must replace the first line with: search acme.xz
A certain minimum of configuration
will also be required in /etc/hosts. Most users will be able
to manage with: 127.0.0.1 localhost 0.0.0.0 i12
Those with a fixed IP-address will
obviously replace 0.0.0.0 with that. Likewise, a minimum /etc/networks
is: loopback 127.0.0.0 localnet 0.0.0.0
You should also set your external
mail domain in /etc/mailname: acme.xz
The username and password at the
ISP must be specified in /etc/ppp/pap-secrets dirk * PrettySecret
Step three: setup
details
Finally, the fine detail regarding the connection procedure
itself must be specified before PPP can be initiated. This
is done in /etc/ppp/chatscript: TIMEOUT 5 "" ATZ
OK ATDT12345678 ABORT "NO CARRIER"
ABORT BUSY ABORT "NO DIALTONE"
ABORT WAITING TIMEOUT 45 CONNECT "" TIMEOUT 5 "name:"
ppp
Details here may have to be tuned
somewhat. The phone number in the third line must of course
be set as required. Some users may need to replace the ATZ
modem initialisation string with something more tailored for
the modem being used. The last line specifies that one is
expecting a prompt that ends with name:, and that the response
should be ppp when it arrives. Other systems may have other
login procedures.
To actually initiate a call, the
PPP protocol may be initiated by issuing the following command:
exec pppd connect \ 'chat -v -f /etc/ppp/chatscript' \ -detach
crtscts modem defaultroute \ user dirk \ /dev/modem 38400
We should now be on-line, and stay
up until the program is closed by keying in a ctrl-C. Any
messages concerning the connection will be appended to the
system logs. To read them, try: tail /var/adm/messages or
dmesg
As long as PPP is up, you will have
direct access to the internet and may use programs like ftp,
ncftp, rlogin, telnet, finger etc. All these programs should
be part of the network package.
Further information concerning PPP
is also available from:
/usr/lib/ppp/README.linux
/usr/lib/ppp/README.linux-chat
Step four: final
details
Finally, an additional word about security The file /etc/inetd.conf
lists all services that your machine will offer externally.
With the /etc/hosts.deny file we have made, no external access
will be allowed. For those who need it, access must be allowed
explicitly in /etc/hosts.allow. Local traffic may be allowed
by: ALL: LOCAL
See also man 5 hosts_access.
A final minor issue: A certain confusion
exists regarding the names of the POP protocols. A definition
in /etc/services compatible with just about everything is:
pop2 109/tcp pop-2 # PostOffice
V.2
pop3 110/tcp pop-3 pop # PostOffice
V.3
ALT: Instead of chatscript, one
might use the much more flexible dip. But not in connection
with
dialled.
ALT: Those fortunate enough to
have a permanent TCP/IP connection via e.g. an Ethernet may
safely ignore anything about PPP and instead start concentrating about
setting up their network card.
ALT: Others may not have the possibility
of using PPP, but may be able to use SLIP instead, for which
there is support in much the same manner as for PPP. Another
possibility is UUCP Others again may have to rely on exchange
of news and email be means of SOUP A description for the latter
case may be found in:
Solving
Linux internet connection problems
If you are getting the error message: 'could
not determine remote address' when connecting with ppp, try
putting in your /ppp/options file: :10.42.42.42 to replace
either noipdefault or 0.0.0.0:0.0.0.0 or any other line which
specifies the IP addresses for the ends of the ppp connection.
pppd seems to have a difficulty with
the unnumbered interface at our end of the ppp connection, but
you can surmount this by specifying an IP address for it. If
you use an IP address beginning with '10.' then you can be
sure this doesn't conflict with a 'real' IP address on the
internet (IP addresses matching 10.x.x.x are reserved for
private networks). All the 'x's there should be numbers
between 1 and 254.
These files are from the /etc/ppp/
directory on a linux system with a working ppp connection,
using kernel 2.1.125 and pppd 2.3.5. They should work with any
pppd from 2.2.0 or greater. Using these files, pppd was
launched with the command:
/usr/sbin/pppd -detach connect
"/usr/sbin/chat -v -r /etc/ppp/report-chat -s -f
/etc/ppp/ppp.chatscript"
Which is the sort of command line
that belongs in a script somewhere...in fact it's the command
installed to launch ppp by the ppp setup utility.
If you would like more information,
then the PPP-HOWTO would be worth reading.
|