FreeSCO
door Simon Voortman

Huh? FreeSCO? Wat is dat eigenlijk?

FreeSCO is een combinatie van de woorden Free en ciSCO, wat in dit geval wil zeggen, een gratis TCP/IP router.

En wat kun je daar mee?

Hiermee kun je op een veilige manier verbinding maken met het internet. 'Verbinding' kan met van alles gemaakt worden: modem, ISDN-adapter, ethernet. Je kunt een DNS server opzetten, een DHCP server, een HTTP server en een time server. Je kunt er ook nog een print server van maken, zodat je 1 of 2 printers met je netwerk kunt delen.

Ah! Zou best wel handig zijn, maar dat is zeker heel moeilijk allemaal?

Nee hoor, niet met onderstaande handleiding erbij... ;-)

Laten we het dan eens proberen. Wat heb ik er eigenlijk allemaal voor nodig?

En hoe moet dat dan?

Nou - als volgt:
Configureer eerst het netwerk op je RISC OS machine:

De machine wil zich nu resetten om de instellingen van kracht te laten worden. Dat is okee.

Bouw je PC op (als je alleen de losse onderdelen hebt liggen):

Maak op een draaiend dos/windows systeem de FreeSCO bootflop aan. Daarvoor moet je het archief via pkunzip of winzip uit laten pakken (naar bv. c:\temp).
Start hier na de batchfile make_fd.bat (onder dos: cd \temp<Enter>make_fd<Enter>; onder windows dubbelklik je make_fd.bat), deze batchfile vraagt om een lege dos-flop en maakt daar een FreeSCO bootflop van.
Plaats de bootflop in je FreeSCO-computer, en zet 'm aan of reset 'm. Vergeet niet de 'Boot sequence A,C' instelling van de bios goed te zetten, omdat je van floppie moet opstarten!

Ah! Het wordt spannend! Wat gaat er nu gebeuren?

Nu verschijnt het inlogscherm van je systeem:

setup followed by ENTER - start router in config mode
ENTER or wait 5 seconds - start router in normal mode.

Type in: SETUP (om de instellingen op te kunnen geven).

Loading ramdisk...
Loading kernel...

Hierna flitsen er een groot aantal berichten over je scherm, resulterend in een:

Please login as root to setup your router or codess Control-D to continue

- login: root

password: root

Nu komt het setup scherm in beeld:

Welcome to Freesco v0.2.7 Setup (etc.)

met als laatste regel:

codess ENTER to continue

Phew! Als dat alles is...

Druk dus op de Enter toets...

Ehm, enne, wat is dit dan weer?

Op het volgende scherm ga je beginnen om de instellingen op te geven. Je moet hier kiezen wat voor soort router je wilt hebben. Keuzes zijn:

d) Dialup line router (modem/ISDN terminal adapter verbinding)
l) Leased line router (heeft er werkelijk iemand een huurlijn?!)
e) Ethernet router (ADSL/kabel verbinding)
b) Ethernet bridge (dit is voor tussen twee bestaande, losse netwerken)
p) Print server (delen van je printer(s) )
r) Remote access server (inbel server opzetten)

Kies hier je type router. Ik heb als eerste een dialup line router gekozen, da's de d. <Enter>

Ehuh! Kijk nou, hele lappen tekst! Wat zijn die nummers die voor die vragen staan?

Elke vraag wordt vooraf gegaan door een korte, Engelstalige inleiding. Die verschijnt vanzelf op je scherm, dus die ga ik niet overtikken. De nummers slaan op de vragen die gesteld worden, later kun je elke vraag nog apart beantwoorden aan de hand van zijn nummer. Als eerste:

711 Hostname of this computer [router]?

Je kunt hier de computer een naam geven. De computer suggereert zelf de naam router, maar een andere naam is ook goed. (Mijn router heet ook gewoon router). Voor zover je die suggestie overneemt kun je op Enter drukken.

<Enter>

712 Domain name [inet]?

Verzin eventueel een betere naam voor je netwerk. Maar deze hebben we ook al opgegeven bij het instellen van het netwerk op de RISC OS machine.

<Enter>

Autodetect modems now ? y/n [y]?

Lijkt me een goed idee...

<Enter>

Looking for modems on:
cua0 - no modem found
cua1 - no modem found
cua2 - no modem found
cua3 - [Speed 115200] /dev/cua3 at 0x02e0 (irq = 3) is a 16550A

Configured - Modem #1

Da's een interne modemkaart. Ook dat werkt dus!

53 1st modem init string [ATZ]?

<Enter>
(tenzij je weet dat je modem iets anders nodig heeft om z'n werk goed te kunnen doen)

8xx How many network interface cards do you have (1-3) []?

Ik heb er 1 in zitten, dus:

1<Enter>

811 I/O port address of 1st ethernet card [0x300]?

Dit is zo ongeveer een standaard adres voor netwerkkaarten. En je kunt het altijd nog aanpassen als het niet werkt...

<Enter>

812 IRQ line of 1st ethernet card [10]?

Idem als bij vraag 811.

<Enter>

721 interface name of 1st network, eth0/eth1/eth2 etc [eth0]?

eth0 is de standaard benaming, neem maar over met:

<Enter>

724 IP address of 1st network interface [192.168.0.1]?

IP adressen zijn er bij bosjes. Tussen alle -gereserveerde- adressen, zijn een aantal bereiken die vrij zijn voor persoonlijk gebruik, en dit is het eerste adres van zo'n bereik.

Tenzij je meer dan 254 computers aan je netwerk gaat hangen, is dit een goede keuze. En we hebben 'm ook al op de RO-machine opgegeven...

<Enter>

725 Network mask [255.255.255.0]?

Bij een bepaald IP adres(-bereik) hoort een bepaald netwerk masker. Zie ook TCP/IP literatuur.

<Enter>

726 IP range []?

Heb je wel een DHCP server nodig? Dit kan handig zijn als je veel PC's hebt, of als je een laptop van de baas zonder problemen in je eigen netwerk wilt kunnen gebruiken.

RISC OS machines (t/m versie 4.24) hebben geen DHCP client, dus dan gaat het instellen van deze service hier, de FreeSCO machine alleen maar extra geheugen kosten (en je kunt het later altijd nog instellen). Met alleen een - geef je aan dat je geen DHCP gaat gebruiken.

-<Enter>

411 Enable caching DNS server y/s/n [s]?

We zijn nu beland bij het opgeven van optionele instellingen. Let op de teksten voorafgaande aan de vragen als je 8M intern geheugen hebt!

Een DNS server is handig, maar dan wel alleen voor je eigen netwerkje. De boze buitenwereld ziet zelf maar aan een adres te komen! Derhalve nemen we de gesuggereerde instelling over.

<Enter>

412 Enable DNS requests logging for debug purposes y/n [n]?

Invullen naar behoefte.

<Enter>

421 Enable DHCP server y/s/n [n]?

Als je een DHCP server nodig mocht hebben, dan zou je 'm hier aan zetten.

<Enter>

431 Enable public HTTP server y/s/n [n]?

Invullen naar behoefte.

<Enter>

441 Enable time server and router control via HTTP y/s/n [n]?

Dit is wel handig, want dan kun je via je browser de status van de verbinding met internet opbrengen of verbreken. Maar dan wel alleen vanaf je eigen netwerk!

s<Enter>

442 Control HTTP server IP port [82]?

Deze service heeft een 'poort' nummer nodig om te weten waar verzoeken van je browser binnenkomen. Dit is evt. zelf op te geven, maar 82 is goed.

<Enter>

443 Host time server address, '-' disable time service [www.clock.org]?

Invullen naar behoefte. Ik heb 'm niet nodig.

-<Enter>

451 Enable Print Server(s) y/s/n [n]?

Kan handig zijn. Er is zelfs een LPR client voor RISC OS (!LPR van Roger Gammans) die werkt! (Maar bij mij kan ik maar 1 RISC OS printjob versturen, dan gaat er blijkbaar wat fout en werkt het niet meer voordat ik de machine reset). Maar affijn, we proberen het gewoon...

s<Enter>

452 1st print server IP port [515]?

Poort nummer zoals bij vraag 442. Het nummer 515 is standaard.

<Enter>

453 Output device name [lp1]?

Dit is je PC's eerste printer aansluiting.

<Enter>

454 2nd print server IP port. '-' - disable [516]?

Invullen naar behoefte. Ik heb 'm niet nodig.

-<Enter>

455 Output device name [lp2]?

Dit is je PC's tweede printer aansluiting. Komt 'ie toch mee, ondanks '-' bij vraag 454...

<Enter>

46 Enable telnet server y/s/n [s]?

Dit is heel handig om je router vanaf je netwerk in te kunnen stellen. Goed bruikbare programma's daarvoor zijn oa. Connector (met een goeie telnet-blockdriver) of Nettle.

<Enter>

14 Savers - screen(min),hdd(x5 sec) 0 -off [0,0]?

Als je het scherm of de harddisk na een x-aantal minuten uit wilt hebben, kun je dat hier instellen. Ik geef het scherm 20 minuten, en de harddisk 1 minuut:

20,12<Enter>

15 Swap file size in Megabytes (on boot device). 0 - disable [16]?

Als je geen genoeg intern geheugen hebt, moet je hier opgeven hoeveel harddisk ruimte de swapfile in mag gaan nemen. Voor minder dan 16M intern geheugen moet je minimaal 8M extern geheugen opgeven, met een maximum van 127M.

Er zit momenteel 16M in - dus ik geef 0 op:

0<Enter>

13 Do you want to enable extra modules/programs y/n [n]?

Met deze optie kun je ile inschakelen, dat is een command history tooltje, en wel handig.

y<Enter>

16 Log sizes in bytes. syslog,logins_log [50000,5000]?

Invullen naar behoefte. Ik neem de suggestie over.

<Enter>

47 Do you want to export services y/n []?

Ik wil geen services exporteren, dus kies ik voor:

n<Enter>

480 Do you want to enable the DynDNS client y/n/- []?

Ik kan me voorstellen dat je dit kunt gebruiken als je regelmatig een nieuw IP adres opgedrongen krijgt van je provider en toch een eigen server wilt draaien, maar ik heb die behoefte niet.

n<Enter>

30 ISP/connection name (1-8 chars) []?

We gaan nu de gegevens van je ISP in kloppen, houdt die dus bij de hand. Vul een naam in voor je ISP (TMFweb, ZonNet, Demon, ...). Ik heb er bv. eentje bij TMFweb:

TMFweb<Enter>

31 ISP phone numbers []?

Volgens de info op de website heeft TMFweb nog geen 0676-nummer, dus:

7000321 8804321 (eventueel vooraf gegaan door een 'T' voor Tone dialing, en een '0,' voor een buitenlijn mocht je op een huistelefooncentrale zitten)

32 Keep up the ppp link for N sec. 0 - use filer.cfg; 1 - forever [0]?

Dit gaan we zo nog instellen.

<Enter>

33 Primary DNS address (usually your prividers DNS []?

Wordt door de provider opgegeven. Voor TMFweb:

62.100.30.228<Enter>

34 Secondairy DNS address (otherwise - '-') []?

Staat ook bij je gegevens, voor als het nummer bij vraag 33 niet zou werken:

62.100.30.244<Enter>

35 ISP HTTP proxy address, (otherwise '-') []?

Een proxy slaat veel opgevraagde pagina's lokaal (op de machine waar de proxy op draait, bij je provider meestal) op, en kan op die manier dus sneller gegevens leveren dan als je ze via het internet uit bv. America moet op halen. Dat ben ik bij TMFweb niet tegen gekomen.

-<Enter>

36 Does your ISP give you a dynamic IP address [y]?

TMFweb doet dat.

<Enter>

39 Custom initialisation string (otherwise '-') []?

Is hier niet nodig.

-<Enter>

40 Authentication method - pap/chap/script [pap]?

Elke ISP 'doet' tegenwoordig wel aan pap, dus:

<Enter>

R0 Login name []?

Krijg je van TMFweb, iets met tm<nummer>

tm000000<Enter> (bv.)

R1 Password []?

Krijg je van TMFweb.

UpEnDownCased<Enter> (bv.)

En dat was het al!
Diskdrive aktiviteit, en de vraag om je nieuwe FreeSCO wachtwoord:

Enter new password: geheim

Re-type new password: geheim

Password changed.

Aangezien we bij vraag 441 het webpanel hadden aangezet, moeten we ook een wachtwoord opgeven:

Changing password for user admin

New password: raadeens?

Re-type new password: raadeens?

Configured. Save settings, restart system and test it.

codess ENTER to continue <Enter>

Phew! Wat was dat een waslijst zeg! Gaat het nu werken?

Hangt er vanaf of je nu je instellingen opslaat...! Zie je: s) Save config!

s<Enter>

Nu gaat 'ie eerst rebooten, en hopelijk werkt het dan!

Kom mee, nu eerst een bakkie koffie!

Na de koffie:

Enne, hoe kun je nu zien of het zakie ook werkelijk werkt zoals beloofd in de advertenties?

Nou, probeer maar eens in te loggen, zou ik zeggen:

router.inet login: root Password: (******)<Enter> ile rev.2.01 [Linux]

Hee! Dat lijkt wel ergens op! En nou?

Eh, wil je zeggen dat je niet weet hoe Linux werkt? (kijkt heel ongelovig)

Hm, tja, eh, nee dus!

Nou, gelukkig is het eigenlijk best wel simpel. Een paar maanden geleden keek ik ook zo!

Kijk eerst maar eens in je logfile. Er moet iets staan over je netwerkkaart, eth0 was dat.

Om je logfile te bekijken type je:

more /var/log/log

<heleboel info komt voorbij>

Oh, kijk: kernel: eth0: 3c509 at 0x300 tag 1, BNC port, address 00 a0 24 6b b0 2a, IRQ 10.

Is dat 'm? Enne, kan ik nou al internetten? En hoe stop ik more eigenlijk?

Ja, dat is je netwerkkaart. more kun je niet stoppen, die moet je even uit laten draaien.

En internetten... Probeer eerst eens of je webadmin paneeltje werkt?

Hoe doe je dat ook al weer?

Met je browser, natuurlijk! Hier, even 192.168.0.1:82/ intikken in het URL balkje van je browser.

Hee, kijk nou: FREESCO Control Panel Login <klikt op Login>

En wat vul ik nou in bij Name en Password?

Name was de naam van je administrator, admin dus, en je password was...? raadeens?

Oh ja! Hee, kijk nou, het werkt nog ook! Danne - doet 'ie het nou?

Lijkt er wel op, he? Uit ervaring weet ik dat 'ie gelijk uit gaat bellen als je nu een onbekende URL in tikt, dus laten we eens naar onze provider surfen! Tik maar in:

www.tmfweb.nl

En zo waar! Daar komt de site van TMFweb in beeld!

Grandioos! Het werkt echt!
Ehm - moesten we niet nog wat instellen ofzo? Daar zei je daarnet toch iets over?

Ja, inderdaad moeten we nog wat instellingen nalopen. Als je dan later nog eens wilt pingen naar een andere computer op je netwerk, dan kan dat tenminste met die computer z'n naam, en hoef je z'n adres niet te weten. Daarvoor moet je twee bestandjes aanpassen.

Die staan in /mnt/router/etc, en ze heten:

named192.rev (voor de 192.xxx-nummers, achterstevoren) en: named.hst (daar staan de hostnamen gewoon leesbaar in)

Tik maar in:

[Linux] cd /mnt/router/etc [Linux] edit named192.rev

Fiets naar beneden, tot onder de regel '8.0<Tab>IN...'

Hier voer je per computer een regel in. In dit geval alleen een regel om de computer 'riscstation' op adres 192.168.0.254 te beschrijven:

254.0<Tab>IN<Tab>PTR<Tab>riscstation. DOMAIN.<Tab>; m'n riscstation<Enter> <Esc>x

Nu vraagt de editor: Save file ([y]es/[n]o/[c]ancel)? y

Nu het volgende bestand:

[Linux] edit named.hst

Fiets naar beneden, tot onder de regel 'vasya<Tab>IN<Tab>...'

Voer in:

riscstation<Tab>IN<Tab>A<Tab>192.168.0.254< Tab>; m'n riscstation.inet<Enter> <Esc>x

Nu vraagt de editor: Save file ([y]es/[n]o/[c]ancel)? y

Om de wijzigingen van kracht te laten worden moet je de boel even restarten. Dat doe je (heel logisch toch?) met: reboot

Tja, toch maar goed dat jij dat allemaal uit je hoofd weet!

Maarreh, als ik nu ga internetten, blijft die verbinding dan staan tot Sint Juttemis, moet ik 'm zelf weer verbreken, of hoe werkt dat dan?

Oke, dan wachten we nog even met die reboot, gaan we eerst wat anders instellen.

Zitten we nog steeds in /mnt/router/etc ?

Hoe zie je dat?

Heel simpel, met pwd:

[Linux] pwd /mnt/router/etc

Oke, dan moeten we nu filter.cfg aanpassen:

[Linux] edit filter.cfg

Fiets naar beneden tot onder de regel:

'# If we don't catch it above, give the link 10 minutes up time.'

Daar staat nu:

accept tcp 600 any

dat zijn 600 seconden, maak er wat leuks van! (bv. 420, dat is 7 minuten)

Zo'n zelfde regel staat wat lager ook nog een keer voor udp-pakketjes, verander die ook maar:

accept udp 600 any

En nu we toch hier zijn, er zit een bugje in diald die er af en toe voor zorgt dat het modem uitbelt en gelijk weer op hangt. Ga maar helemaal naar beneden en tik in:

# Fix een bug in diald die uitbelt en gelijk weer ophangt:<Enter> ignore any any<Enter>

Nu druk je weer op <Esc>x y, dan is de boel weer opgeslagen.

Nog even rebooten, en dan kunnen we eindelijk gaan internetten zonder dat die telefoonlijn te lang open blijft staan!

Maarreh, nou wordt die verbinding vanzelf wel verbroken als ik te lang zit te niksen, maar als ik 'm nu eerder wil verbreken om even iemand op te bellen? Hoe moet dat dan?

Da's een hele goeie! En ook heel simpel, trouwens. Je kunt het op meerdere manieren doen, ook nog eens.

Hoe wil je dat doen, via je browser? Die heb je dan meestal toch al open, dus ga maar naar dat mooie control panel toe, log in, en kijk eens aan de linkerkant van je scherm?

Daar staat bv: Dialout Link, met daaronder:

Status, Up Down, Un Block, Un Force

Als je trouwens op de machine ingelogd bent, of er via een telnet-sessie op kunt werken, kun je het ook vanaf de commandline doen. Je moet dan het programma 'control' gebruiken, die heeft ook nog eens meer opties dan de webversie:

[Linux] control
Available commands are:

force/unforce Bring up the link continuously.
block/unblock Block outgoing calls. Also brings the link down.
up/down Force the link up/down. This is a one shot operation.
Link is subject to normal on-demand timeouts.
debug <flags> Set the diald debug flags.
See diald manpage for values.
delay-quit Terminate diald as the link next goes idle.
quit Force the link down and exit diald.
reset Force diald to reread its configuration.
If configuration incorrect, diald will terminate with an error condition.
queue Force diald to to print the contents of the filter queue to the syslog.

Ga daar maar eens fijn mee spelen, en als je nog meer vragen hebt, dan lees ik wel weer een (e)mailtje van je!

Simon Voortman AcoNet#77:8500/100.1, of

simon_voortman@aconet.org