HOWTO FLI4L-Modem-Router (english)


[Scheme of a network connected via modem using a FLI4L-router]

 

Content

- Introduction
- Hardware
- Setting up the FLI4L and creating of the system floppy disk with a Windows-computer
- Setting up the clients (example for a computer running Windows)
- Set up the Local Area Network (LAN) and the modem
- First run of the router
- Problems
- Appendix

 


Introduction


This howto describes step by step how to setup and install a computer, that connects your local area network of several computers to the Internet by using only one modem dialup connection. Therefore FLI4l, a linux-based software, is used. This router runs from only one floppy-disc that contains the whole system, requires rudimental hardware (tested on 486 33MHz computers) and can be administrated with very few linux knowlegde from a computer running Microsoft Windows.
Due to the huge amount of different hardware (combinations) problems may occur - please referr to the ‚readme'-files of FLI4L and the FLI4L-homepage www.fli4l.de. This howto is based on the FLI4L Version 2.0.1!

You need:
Hardware for the router (see below), a telephone link for the modem (some information of your ISP are neccesary later), basic computer and network konwledge, a FLI4L distribution later 2.0.x with the optional package "opt_modem" (download both from the FLI4l-homepage at www.fli4l.de)

 


Hardware


For the router:
- an old 486 or better computer with at least 33MHz and 8MB RAM with floppy drive, a graphic and a network adapter (e.g. 3COM509 - more than 40 types are supported and listed in the base.txt/readme of the FLI4L distribution), harddisk drive or CD-ROM are not required because the software runs only in the RAM!
- An empty floppy disk

For the network:
- A modem (all modern standard modems should work)
- A switch or hub, patchcables

For creating the bootfloppy and as a client:
- One computer running windows (95/98/ME/XP/NT4.0/2000) with network card

Setting up the hardware
- Unmount everything except the mainboard with ist CPU, the RAM, floppydrive, the graphic adapter and serial connections (COM-Ports).
- Mount the Network Interface Card (NIC). (As long as we have only one NIC normally no setup of the is required. Sometimes the NIC should be set to "half-duplex"-mode and "server" settings - therefore you need a DOS-bootdisk (or WIN95) with the setup programm of your NIC. But this is only recommended if you get problems in the data transfer rate...)
- Connect the monitor and keyboard. Start the computer and enter the BIOS - the main setup of a computer - by hitting "DEL", which is next to the "Return"-Pad. Some older Mainboards might use F2 or anything else, look at the bootprompt, it is written there usually.
- Set the harddisks to "None", set the error correction to "Halt on no erros" so that we can run the router without a keyboard later and disable any power management. Set the bootsequence to "A, C" so that we can boot from the floppy disk later.
- "Save and exit setup"
- The hardware of the router is now ready.

 


[A look into a router running FLI4L (486DX33, 8MB RAM, 3COM509B, VGA)]

 


Setting up the FLI4L and creating of the system floppy disk with a Windows-computer

Simply follow step-by-step and ignore the rest - you can add further features of the FLI4L software later by reading the whole readme of the FLI4l distribution. We only want to do the basic installation here. FLI4L is setup by editing simple txt-files. Afterwards a tiny programm reads the parameters witihn these txt-files and copies all necessary linuxfiles to a bootable floppy disk. Hint: Every line with a "#" in front will be ignored by the discbuilder and contains comments - so you can for instance comment or uncomment the given parameters! All configuration-files will found in this config-folder!

- Unzip the "BASIS"-package "fli4l-2.0.1.tar.gz" (make sure you disable "Smart-Tar-CRLF-Conversion" when using Winzip!), unzip the "modem.zip" to the toplevel folder of FLI4L. This will add some files to subfolders that are required. It shoul look like this now:


[Screenshot of the folder structure]

 

- Open the "base.txt" in the config-folder. This file contains the basic parameters of your router.


General settings:
#------------------------------------------------------------------------------
# General settings:
#------------------------------------------------------------------------------
HOSTNAME='fli4l' # name of fli4l router
PASSWORD='fli4l' # password for telnetd, ftpd, sshd, and samba
MOUNT_BOOT='rw' # mount boot device (floppy): ro, rw, no

RAMSIZE='2048' # size of ramdisk for unzipped opt.tgz
MOUNT_OPT='ro' # mount opt device: ro, rw
PART_OPT='hda2' # location of opt-files? ram1 or disk-partition
UPDATE_MODE='full' # add, cfg, full, none, see documentation
- With HOSTNAME you can name your router ;) - this one is called fli4l. Change your PASSWORD please!
- The other parameters can be left untouched by now.


Choose your Ethernet Card (NIC):
#------------------------------------------------------------------------------
# Ethernet card drivers:
# uncomment your ethernet card
#------------------------------------------------------------------------------
ETH_DRV_N='1' # number of ethernet drivers to load, usually 1
#ETH_DRV_1='3c505' # ISA: 3COM Etherlink Plus (3c505)
#ETH_DRV_1='3c507' # ISA: 3COM Etherlink 16 (3c507)
#ETH_DRV_1='3c509' # ISA: 3COM EtherLinkIII (3c509)
#ETH_DRV_1='3c515' # ISA: 3COM EtherLink XL ISA (3c515)
#ETH_DRV_1='3c59x' # PCI: 3COM Vortex/Boomerang 3c59x,3c900,3c905
#ETH_DRV_1='82596' # Apricot Xen-II on board Ethernet
#ETH_DRV_1='8390 3c503' # ISA: 3COM EtherLinkII (3c503)
#ETH_DRV_1='8390 cs89x0' # ISA: CRYSTAL LAN CS8900/CS8920
#ETH_DRV_1='8390 e2100' # ISA: Cabletron E21xx ISA
#ETH_DRV_1='8390 hp' # ISA: HP PCLAN (27245, 27xxx) ISA
#ETH_DRV_1='8390 hp-plus' # ISA: HP PCLAN+ (27247B and 27252A) ISA
ETH_DRV_1='8390 ne' # ISA: NE2000 ISA clone
#ETH_DRV_1='8390 ne2k-pci' # PCI: NE2000 PCI clone (Realtek 8019/8029)
#ETH_DRV_1='8390 smc-ultra' # ISA: SMC ULTRA
#ETH_DRV_1='8390 wd' # ISA: SMC WD80*3
#ETH_DRV_1='at1700' # ISA: AT1700 (Fujitsu 86965) ISA
#ETH_DRV_1='de4x5' # PCI/EISA: Digital DE425, DE434, DE435, DE450, DE500
#ETH_DRV_1='depca' # ISA: DEPCA, DE10x, DE200, DE201, DE202, DE422
#ETH_DRV_1='dgrs' # PCI: Digi International RightSwitch PCI/EISA
#ETH_DRV_1='dmfe' # PCI: DM9102 compatible PCI cards from Davicom
#ETH_DRV_1='elp486' # ISA: (NEW) Intel Professional Workstation/panther 82596
#ETH_DRV_1='eepro' # ISA: Intel EtherExpress Pro/10
#ETH_DRV_1='pci-scan eepro100' # PCI: Intel EtherExpressPro PCI 10+/100B/100+ (NEW)
#ETH_DRV_1='eexpress' # ISA: EtherExpress16 ISA
#ETH_DRV_1='epic100' # PCI: SMC EPIC/100 (EtherPower II) PCI
#ETH_DRV_1='eth16i' # ISA/EISA: ICL EtherTeam 16i/32
#ETH_DRV_1='ewrk3' # ISA: EtherWORKS 3 ISA (DE203, DE204, DE205)
#ETH_DRV_1='hp100' # ISA/EISA/PCI: HP 10/100VG PCLAN (ISA, EISA, PCI)
#ETH_DRV_1='lance' # ISA: AMD LANCE and PCnet (AT1500, NE2100) ISA
#ETH_DRV_1='old_tulip' # PCI: Old DECchip Tulip (dc21x4x) PCI
#ETH_DRV_1='pcnet32' # PCI: AMD PCI PCnet32
#ETH_DRV_1='rtl8139' # PCI: RealTek 8129/8139 (not 8019/8029!) PCI
#ETH_DRV_1='sis900' # PCI: SiS 900/7016
#ETH_DRV_1='tlan' # PCI: TI ThunderLAN (Compaq Netelligent ...)
#ETH_DRV_1='tulip' # PCI: DECchip Tulip (dc21x4x) PCI
#ETH_DRV_1='pci-scan natsemi' # PCI: Nat Semi (NEW)
#ETH_DRV_1='pci-scan starfire' # PCI: Starfire (NEW)
#ETH_DRV_1='pci-scan via-rhine' # PCI: VIA Rhine PCI (3043, VT86c100A, dfe-530tx) (NEW)
#ETH_DRV_1='pci-scan winbond-840' # PCI: Winbond 840 (NEW)
#ETH_DRV_1='lanstreamer' # Token Ring: IBM Auto LANStreamer PCI Adapter
#ETH_DRV_1='olympic' # Token Ring: IBM cards (Pit/Pit-Phy/Olympic)
#ETH_DRV_1='ibmtr' # Token Ring: IBM 16/4
#ETH_DRV_1='8390 pcnet_cs' # PCMCIA: NS8390-based cards (NE2000, DLINK etc)
#ETH_DRV_1='3c574_cs' # PCMCIA: 3Com 574
#ETH_DRV_1='3c575_cb' # PCMCIA: 3Com 575 (NEW)
#ETH_DRV_1='3c589_cs' # PCMCIA: 3Com 589
#ETH_DRV_1='airo' # PCMCIA: Airo 4500 & 4800 series cards (NEW)
#ETH_DRV_1='airo_cs' # PCMCIA: Airo 4500 & 4800 series cards (NEW)
#ETH_DRV_1='eepro100_cb' # PCMCIA: EtherExpress Pro 100 (NEW)
#ETH_DRV_1='epic_cb' # PCMCIA: SMC 83c170 EPIC/100 (NEW)
#ETH_DRV_1='ibmtr_cs' # PCMCIA: IBM Token Ring (NEW)
#ETH_DRV_1='netwave_cs' # PCMCIA: Netwave AirSurfer Wireless LAN
#ETH_DRV_1='nmclan_cs' # PCMCIA: New Media Ethernet LAN
#ETH_DRV_1='pcnet_cs' # PCMCIA: NS8390 Based cards (NEW)
#ETH_DRV_1='ray_cs' # PCMCIA: Raylink wireless cards (NEW)
#ETH_DRV_1='smc91c92_cs' # PCMCIA: SMC91c92-based cards
#ETH_DRV_1='tulip_cb' # PCMCIA: DEC 21040-family cards (NEW)
#ETH_DRV_1='wavelan_cs' # PCMCIA: WaveLAN
#ETH_DRV_1='wavelan2_cs' # PCMCIA: WaveLAN2
#ETH_DRV_1='wvlan_cs' # PCMCIA: Lucent WaveLAN/IEEE 802.11 (NEW)
#ETH_DRV_1='xirc2ps_cs' # PCMCIA: Xircom: CE2, CEM28, CEM33, or CE3

ETH_DRV_1_OPTION='' # additional option, e.g. 'io=0x340' for ne

- As long as we only use one card, leave "ETH_DRV_N='1' " untouched. Delete the "#" in front of the line, that matches your ethernet card and make sure you set a "#" in front of all others! By default the '8390 ne' will be installed.
- "ETH_DRV_1_OPTION='' # additional option, e.g. 'io=0x340' for ne" - some older ISA-cards need the IRQ-settings to be found correctly, read the readme for details. E.g. the 3COM509B - a very common ISA-card does not need this. So try first by leaving this option untouched.


Setting up your Local Area Network
#------------------------------------------------------------------------------
# Ether networks used with IP protocol:
#------------------------------------------------------------------------------
IP_ETH_N='1' # number of ip ethernet networks, usually 1
IP_ETH_1_NAME='' # optional: other device name than ethX
IP_ETH_1_IPADDR='192.168.6.1' # IP address of your n'th ethernet card
IP_ETH_1_NETWORK='192.168.6.0' # network of your LAN
IP_ETH_1_NETMASK='255.255.255.0' # netmask of your LAN

- This means that you will install one network and that it will be connected to your ethernet card (NIC).
- "IP_ETH_1_IPADDR='192.168.6.1'" - the 192.168.6.1 will be IP-adress of your router later.
- Leave this untouched - it matches all your wishes!!


Domain configuration:
#------------------------------------------------------------------------------
# Domain configuration:
#------------------------------------------------------------------------------
START_DNS='yes' # start dns server: yes or no
DNS_FORWARDERS='192.76.144.66' # DNS servers of your provider, e.g. MSN
DNS_VERBOSE='no' # log queries in /usr/local/ens/ens.log
DOMAIN_NAME='lan.fli4l' # your domain name
DNS_FORBIDDEN_N='0' # number of forbidden domains
DNS_FORBIDDEN_1='foo.bar' # 1st forbidden domain
DNS_FORBIDDEN_2='bar.foo' # 2nd forbidden domain
HOSTS_N='4' # number of hosts in your domain
HOST_1='192.168.6.1 fli4l' # 1st host: ip and name
HOST_2='192.168.6.2 client2' # 2nd host: ip and name
HOST_3='192.168.6.3 client3' # 3rd host: ip and name
HOST_4='192.168.6.4 client4' # 4th host: ip and name

- Here you have to change some important parameters - it is absolutely necessary that the names given to your clients, which are connected to your LAN, are written down here! Otherwise the modem will dial although you don't want to go to the Internet.
- "DNS_FORWARDERS='192.76.144.66'" - write here the IP-Adress of your provider's DNS-Server. This server will translate any name (like www.fli4l.de ) into a valid IP-Adress. This DNS-Server should be the one of your provider, if you don't have this information, leave this untouched. As default the IP-adress of the DNS-Server of MSN is written. This should work but might be slower.
- "DOMAIN_NAME='lan.fli4l'" - here you set the name of your local workgroup. We need this name later while setting up the client-computers. Make sure the name is not present in the internet (so don't use .de or .com - or simply leave this untouched..)
- HOSTS_N='4' - enter the number of computers (including your router)
- "HOST_1='192.168.6.1 fli4l'" - enter the name of your router here instead of the default fli4l!
- "HOST_2='192.168.6.2 client2'" - enter the name of your first client here instead of clients.
- Increase the IP-Adress and the number of hosts as given in the example and enter ALL hostnames - the system should be obvious now ;)).


Syslog - might help by searching for errors..
#------------------------------------------------------------------------------
# optional package: syslogd
#------------------------------------------------------------------------------
OPT_SYSLOGD='yes' # start syslogd: yes or no
SYSLOGD_DEST_N='1' # number of destinations
SYSLOGD_DEST_1='*.* /dev/console' # n'th prio & destination of syslog msgs
SYSLOGD_DEST_2='*.* @192.168.6.2' # example: loghost 192.168.6.2
SYSLOGD_DEST_3='kern.info /var/log/dial.log' # example: log infos

- set "OPT_SYSLOGD='yes'" - this might help you for troubleshooting. This is optional but very helpful. The information will appear on the monitor.


- These were the main parameters within the base.txt.
- Save the file!

 

- Now open the "modem.txt" in the config-folder. This file contains the modem parameters of your router.


Modem configuration:
#------------------------------------------------------------------------------
# Optional package: MODEM for dialout (experimental)
#------------------------------------------------------------------------------

OPT_MODEM='yes'
MODEM_DEV='ttyS0' # which port is your modem connected to? (ttyS0=com1)
MODEM_SPEED='115200' # what modemspeed do you want to use (leave this unchanged)
MODEM_COMMANDS='' # additional commands eg 'sync'
MODEM_CHAT_COMMANDS='' # additional chat commands like 'OK ATM0L0'
MODEM_DIALOUT='010900191799' # the phonenumber of your provider
MODEM_DEBUG='' # put in 'debug' here for debug information in syslog
MODEM_MTU='1424' #
MODEM_MRU='1424' #
MODEM_HUP_TIMEOUT='120' # after this time, the modem hangs up if there was no traffic
MODEM_USER='anonymer' # username for your dial out
MODEM_PASSWD='surfer' # password for your dial out

- "OPT_MODEM='yes'" - set this to yes in order to install the modem!!
- "MODEM_DEV='ttyS0'" - this will decide which COM-Port you connect your modem to! Beneath Linux there are different names> ttyS0=COM1 and ttyS1=COM2. By default your modem must be connected to COM1.
- "MODEM_DIALOUT='010900191799'" - the telephone number of your provider must be written down here. If you are behind a telephone system that requires a leading "0" before dialing, simply use , (kommas) to force a pause (example : MODEM_DIALOUT='0,,,,010900191799' - this will take about 6 seconds before dialing the telephone number).
- "MODEM_HUP_TIMEOUT='120'" - if there is no traffic to the internet the modem will hangup after this period of time (here two minutes=120 seconds). Due to the long time for establishing a connection don't set this time too low, otherwise the modem will hangup too fast.
- "MODEM_USER='anonymer'" - your username for your dial out
- "MODEM_PASSWD='surfer'" - your password for your dial out
- All the other parameters should be left untouched unless you experience problems...

- These were the parameters within the "modem.txt"!
- Save the file!

 

The setup of the FLI4L router-software is now finished. Because Linux requires only a very few hardware information, this configuration will run on every computer with the same NIC - from 486-DX33 up to 2GHz Pentium 4 with hundreds of different mainboards and RAM!


Creating the bootable floppy:
- Put a formatted Floppy-Disc into the floppydiscdrive
- Doubleclick on "mkfloppy.bat" in the main folder and a window will pop up. If everything went right, it will look alike this:


[mkfloppy - the FLI4L disbuilder - is creating a bootdisk]

 

- if no error occured, press "Enter" and the system disk will be created.
- Pull out the disk and put it into the router.
- The router has ist system now and will be ready to run!

 


Setting up the clients (example for a computer running Windows)

- open the network settings and choose TCP/IP. Set the IP-adress to which you wrote down in the DNS-settings. Here it is IP-adress "192.168.6.2" for the computer called "client2".
- Set the subnet mask to 255.255.255.0 - this is recommended for a normal home LAN.


[TCP-IP-settings - set the IP-adress and subnetmask]

 

- Now go to the "Gateway"-tab and enter the IP-adress of the router, because this will be the way to the internet for the client - you see ;)


[Gateway will be the router, of course]

 

- Now open the "DNS"-tab and set the hostname to your clients, the domain to your domain and as DNS-Server enter the router again, because he will ask for the client oder DNS-Servers in the internet - you see :)


[DNS-settings - set the hostname and domain and set the router as the local DNS]

 

- Now open the "Identification"-tab and set the computername and change the workgroup to your domain again - here "lan.fli4l"


[Identification - set the right hostname and the workgroup again - choose the same like the DNS-settings]

 

That's it, accept the changes and reboot your client so that the changes take effect.
Set up the Local Area Network (LAN) and the modem

 

Connect the computers
- Now connect your client computers with patchcables to the Hub or Switch.
- Connect the router to it too as if it was a normal client. You don't need any crosslink cable for that.
- Connect the modem to the telephoneline and the chosen serial port (COM-Port). It should look now like this (or like the scheme at the beginning):


[router with modem an network cable]

 


First run of the router

- Start the router.
- It should now boot from the floppy disk. This can take between 2 and 5 minutes.
- If nothing went wrong, you will reach the login - login with your password and see the


Welcome to FLI4L!

 

 

- Open a DOS-box on your windows client and try to ping the router (say "ping" and then the IP-adress) - the example is taken from my router here with a different IP... ;)


[the ping is sent to IP 192.168.111.1 - the adress of my local router]

- If the "ping" was succesfull, switch on the modem and open your webbrowser -now the modem should dial automatically!
- When closing the browser and any programm that tries to connect to the internet, the modem will hangup after the time you selected.

That's it - have fun...
Note: at the login type your password to get access to your sytem! Although, it should work now without any mainteanance... You can now boot the computer without a keyboard and monitor (you can try it without the graphic adapter, too..), to shutdown simply switch off...

Problems
I've got a problem - where do I get help from?
- Read the readme-files of FLI4L (in the subfolder "doc").
- Look at the FLI4L-homepage for latest news (www.fli4l.de)
- There is a mailinglist, the adress can be found on the FLI4L-homepage. Although FLI4L is a german distribution it should be no problem to get help in english, too. Describe your problem in detail and send along all information about hardware with your question.
- Use Linuxnewsgroups - FLI4L is quite good known in the scene...

Known problems:
- The modem dials although there is no programm requesting data from the web: Check the settings for DNS, IP-adress, subnetmask and identification carefully, mostly you'll find the reason here. Remember that many programms try to connect to a server in the background (some programms with an icon next t othe clock). Use a local firewall to see which programm is running and disable all features that try to establish an internet connection without demand.

Appendix
THANX to:
- the guys and girls of FLI4L - you did a very good job...
- the author of opt_modem - although FLI4L was invented for ISDN in the beginning, someone took care of the modemusers...
- the guys and girls in the newsgroup - who helped me several times...
- Linus Thorvalds, the inventor of Linux - mmmmh...
Note: FLI4L is free! It can not be sold! It can be distributed freely - if you have a question contact the authors of FLI4L!
About me:
Lars-Hendrik Schneider, study Geography at the University of Bonn, work as systemadministrator beside my studies. Work since 2001 for the RUNetwork project (www.runetwork.de) - an internet-based informationsystem for rural regions.contact: lhschneider@web.de or visit me: www.trinityvision.de

Klicken Sie hier, um die Seite auszudrucken.