Next Previous Contents

3. Setting up Internet (Belgian ISP information)

3.1 Dialing in with your modem (PPP)

To configure PPP correctly, you should check the PPP-HOWTO. I try to explain it briefly, but if you have any questions or problems, read the HOWTO very carefully.

Configuring the modem

To configure your modem, you can alter the initstring of your modem. To learn more about your modem, check Ask Mr. Modem. Beware, if you have a winmodem you will not get it to work. More information about winmodems is at: http://linmodems.org/

Installing pppd

Now, you need to have the ppp-package installed (check this by typing pppd --version), make sure you have a recent one. Then you have to make sure you've got these files:

/usr/local/bin/ppp

        #!/bin/sh
        case $1 in
                on|start)
                TELEPHONE='555-1212'    # The telephone number for the connection
                ACCOUNT='your_login'    # The account name for logon (as in 'George Burns')
                PASSWORD='your_pass'    # The password for this account (and 'Gracie Allen')
                INITSTRING='AT'         # Modem initstring
                IPLOCAL=0.0.0.0         # Local IP address if known. Dynamic = 0.0.0.0
                IPREMOTE=0.0.0.0        # Remote IP address if desired. Normally 0.0.0.0
                DEVICE=/dev/ttyS1       # Serial Device com1=ttyS0, com2=ttyS1,...
                SPEED=57600             # 19200, 38400 or 57600 (don't try something different)
                export TELEPHONE ACCOUNT PASSWORD INITSTRING
                exec /usr/sbin/pppd $DEVICE $SPEED $IPLOCAL:$IPREMOTE \
                        user $ACCOUNT connect /etc/ppp/ppp-on-dialer
                ;;
                off|stop)
                if [ -r /var/run/ppp0.pid ]; then
                        kill -INT `cat /var/run/ppp0.pid`
                        if [ ! "$?" = "0" ]; then
                                rm -f /var/run/ppp0.pid
                                echo "ERROR: Removed stale pid file"
                                exit 1
                        fi
                        exit 0
                fi
                echo "ERROR: PPP link is not active on ppp0"
                exit 1
                ;;
                info|status)
                /usr/sbin/pppstats
                ;;
                *)
                echo "Usage: ppp on|off|info|start|stop|status";
                ;;
        esac
    

/etc/ppp/ppp-on-dialer

        #!/bin/sh
        exec /usr/sbin/chat -v                                  \
                TIMEOUT         3                               \
                ABORT           '\nBUSY\r'                      \
                ABORT           '\nNO ANSWER\r'                 \
                ABORT           '\nNO CARRIER\r'                \
                ABORT           '\nNO DIALTONE\r'               \
                ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
                ''              "\r$INITSTRING\r"               \
                'OK-+++\c-OK'   'ATH0'                          \
                TIMEOUT         30                              \
                OK              "ATDT$TELEPHONE"                \
                CONNECT         ''                              \
                ogin:--ogin:    "$ACCOUNT"                      \
                ord:            "$PASSWORD"
    
You can remove the -v once everything looks normal.

The pppd command uses /etc/ppp/options to list its options, change these options to whatever fits. These defaults normally work in most cases.

        asyncmap 20a0000
        crtscts
        debug
        default-mru
        defaultroute
        detach
        escape 11,13,ff
        hide-password
        ipcp-accept-local
        ipcp-accept-remote
        lcp-echo-failure 4 
        lcp-echo-interval 400 
        modem
        mtu 1500
        netmask 255.255.255.0
        noipdefault
        passive

        #idle 300 
        #kdebug 0
        #lock
        #-vj
    
Once dialing in works like a charm, you can leave debug out.

pap-secrets / chap-secrets

If your ISP requires CHAP or PAP, you need one of these files with their proper username and password:

/etc/ppp/pap-secrets or /etc/ppp/chap-secrets

        #client         server  secret          IP      
        your_login      *       your_pass       *
    

Network

To configure your nameservers, change /etc/resolv.conf. If dialing in is succesfull, but you can't get it to connect to URL's: this is probably the cause.

        domain domain_of_your_isp
        nameserver your_primary_nameserver
        nameserver your_secondary_nameserver
    

Dial + Hangup

Then if /usr/local/bin is in your PATH, you can easily dial in with:

        ppp on
    
and hangup with:
        ppp off
    
and to get some statistics, you do:
        ppp status
    

ISP-dependant information

Digibel:

Web:

http://www.digibel.org/

Eunet:

Authentication:

text-based

Options:

proxyarp

Web:

http://www.eunet.be/

Euronet (Wannadoo):

Authentication:

text-based

Web:

http://www.euronet.be/

Online:

Authentication:

text-based

Options:

noccp

Web:

http://www.online.be/

Ping:

Authentication:

text-based

Web:

http://www.ping.be/

Planet Internet:

Authentication:

CHAP

Web:

http://www.planetinternet.be/

Skynet (Belgacom):

Authentication:

PAP

Options:

defaultroute

Web:

http://www.skynet.be/

UUNet:

Authentication:

PAP

Web:

http://www.uunet.be/

XS4ALL:

Authentication:

PAP

Web:

http://www.xs4all.be/

3.2 Dialing in with your ISDN-modem

Contributed by Christophe Lambin clambin@skynet.be

This section does not aim to be a definitive guide on ISDN for Linux. For a more detailed discussion on the topic, see Paul Slootman's ISDN4Linux HOWTO and ISDN4Linux-FAQ.

Updating the kernel

If you're using a 2.2 kernel, it's recommended to get an updated version of the ISDN code. You can retrieve the CVS at ftp://ftp.suse.com/pub/isdn4linux/. For more information, check: http://www.brisse.dk/site/linux/docs/isdn.htm

Warning: if you've recently purchased an Eicon Diva 2.0 PCI (eg, via Belgacom), there's a good chance you've actually got a Diva 2.01.In this case, you must get a version dated 1 July 1999 or later !

Once the ISDN is in place, you can start up the driver. Eg:

        modprobe hisax type=11 protocol=2 
    
Refer to the Readme's for the right parameters and values for your card.

ISDN4Linux toolkit

Next, you'll need the ISDN4Linux toolkit. You can retrieve the latest version of the toolkit at: ftp://ftp.suse.com/pub/isdn4linux/

Configuring the interface

With the tools installed and configured, write a script to configure the interface, to be used for the ISDN connection. As always in Linux, there's no one correct way of doing this. I've put these in a script

/etc/rc.d/rc.isdn:

        #!/bin/sh
        MSNREMOTE='555-1212'    # Phone number of ISP
        MSNLOCAL='555-1313'     # my number, without 0, with areacode
        ACCOUNT='george'        # The account for logon (as 'George Burns')
        IPLOCAL=10.0.0.2        # my fixed IP (use 10.0.0.2 if no fixed)
        IPREMOTE=0.0.0.0        # IP number of ISP
        INTERFACE=ippp0
        /sbin/modprobe hisax type=11 protocol=2
        /sbin/isdnctrl verbose 3 system on
        /sbin/isdnctrl addif $IF
        /sbin/isdnctrl secure $IF on 
        /sbin/isdnctrl addphone $IF out $MSNREMOTE
        /sbin/isdnctrl eaz $IF $MSNLOCAL
        /sbin/isdnctrl huptimeout $IF 300
        /sbin/isdnctrl l2_prot $IF hdlc
        /sbin/isdnctrl l3_prot $IF trans
        /sbin/isdnctrl encap $IF syncppp
#       /sbin/isdnctrl dialmode $IF auto
        /sbin/ifconfig $IF $IPLOCAL pointopoint $IPREMOTE -arp -broadcast
        /sbin/ipppd /dev/ippp0 user $ACCOUNT $IPLOCAL:$IPREMOTE
    

To start this at boot time, make it executable and append the following to /etc/rc.d/rc.local:

        if [ -x /etc/rc.d/rc.isdn ]; then
                . /etc/rc.d/rc.isdn
        fi
    

The ipppd command gets its parameters passed through a file, /etc/ppp/ioptions:

        -ac
        -bsdcomp
        debug
        defaultroute
        ipcp-accept-local
        ipcp-accept-remote
        mru 1524
        mtu 1500
        noipdefault
        -pc
        useifip
        -vj
        -vjccomp

        #idle 360
        #persistent
    

Warning: do NOT specify +pap or +chap in this file. This specifies the authentication that ipppd should use for an INCOMING client. If you were to use this to connect to your ISP, ipppd would wait for the ISP to authenticate itself using the specified protocol.

Finally, create /etc/ppp/ip-down.local to handle the shutdown of the interface:

        #!/bin/sh
        /sbin/ifconfig $1 down
        sleep 1
        /sbin/ifconfig $1 10.0.0.2 pointopoint 
    

Note: this is to handle some problems with routes on shutdowns. Anyone know of a clean(er) solution ?

pap-secrets / chap-secrets

If your ISP uses PAP or CHAP, create a file /etc/ppp/pap-secrets or /etc/ppp/chap-secrets. Its format is:

        #client         server  secret          IP      
        your_login      *       your_pass       *
    

Network

Not really related to ISDN, but a lot of people forget this step (too eager to try out all the stuff they typed in above ? :-)).

Anyway, you need to configure the DNS, by creating a file /etc/resolv.conf:

        domain your_domain_of_your_isp
        nameserver your_primary_nameserver
        nameserver your_secondary_nameserver
    

Dial + Hangup

Finally, you can write a little wrapper to start and stop the ISDN connection. I've put this as /usr/local/bin/isdn:

        #!/bin/bash
        case $1 in
                on|start)
                /sbin/isdnctrl dial ippp0
                ;;
                off|stop)
                /sbin/isdnctrl hangup ippp0
                ;;
                info|status)
                /sbin/isdnctrl list ippp0
                ;;
                *)
                echo "Usage: isdn on|off|info|start|stop|status"
                ;;
        esac
    

Then if /usr/local/bin is in your PATH, you can easily dial in with:

        isdn on
    
and hangup with:
        isdn off
    

3.3 Cablemodem (DHCP)

DHCP was designed to make life easier, and most of the times it does ;) More information to set up your DHCP client can be found at: http://metalab.unc.edu/LDP/HOWTO/mini/DHCP.html which describes everything you need to know. (along with the information below)

Lots of people want to connect a whole network to their cablemodem, that's not a problem. You'll need IP-Masquerading ( http://metalab.unc.edu/LDP/HOWTO/mini/IP-Masquerade.html) and make sure the interface (that speaks to the cablemodem) has the right MAC-address !! Another solution (in case of problems) is to reset your cablemodem.

Chello (TVD):

Web:

http://www.chello.be/

More information:

http://foobar.starlab.net/~soggie/tvd_linux/

Pandora (Telenet):

Automatic proxy:

http://pac.pandora.be:8080

http proxy:

export http_proxy="http://proxy.pandora.be:8080/"

Web:

http://www.pandora.be/

3.4 ADSL

Turboline (Belgacom):

Some things:

using DANA

Web:

http://www.turboline.be/

More information:

http://foobar.starlab.net/~soggie/turboline/


Next Previous Contents