tirsdag 25. januar 2011

dnsmasq

dnsmasq is a wonderful little daemon providing dhcp (IPv4) and dns, and integrates these, so a client provided with an IP-address using DHCP will also be available through DNS.  And it is really easy to set up, it gets all relevant information from /etc/hosts and /etc/ethers, but you can also add extra parameters through command line or config file.


Configuration

The build system for dnsmasq doesn't come with configure, but there are really few options and these can be manipulated with the make command line, or, as I did, by changing config.h. I removed:

  • tftp-support (cmdline: COPTS=-DNO_TFTP), if I want to boot machines through the network, I will use my regular fileserver for tftp, not the firewall
  • script-support (cmdline: COPTS=-DNO_SCRIPT), I don't think I will need scripts, and including them seems like a potential security problem

Build with make and install in /usr/sbin.

installing ssh

Naturally, I could just copy ssh from my regular ubuntu-installation, but that wouldn't as rewarding, and it is nice to be able to exclude features I don't need.

OpenSSL

To build ssh, we first need openssl. I set PREFIX to a separate directory, to be able to run make install with full control over which files is included in the distribution.

mkdir /home/build/firewall/dist
PREFIX=/home/build/firewall/dist
cd openssl-1.0.0c/
./config --prefix=$PREFIX
make -j 3
make install

OpenSSH is statically linked with OpenSSL, so no openssl-files are actually needed on the firewall. The openssl client utilities are meant for manipulating certificates or testing ssl connections. This functionality will not be needed on the firewall.

OpenSSH

Openssh built in a similar fashion:
cd ../openssh-5.6p1/
./configure --help
./configure --with-ssl-dir=$PREFIX --prefix=$PREFIX --with-privsep-user=sshd --with-4in6
./configure --help
make -j 3
make install
From the dist-directory I made a selective installation of just some utilities:
  • ssh
  • ssh-add
  • ssh-agent
  • ssh-keygen
  • ssh-keyscan
all installed in /usr/bin, and sshd installed in /usr/sbin. Configurationfiles are taylored and put in /etc/ssh. The daemon is started from inittab using:
::respawn:/usr/sbin/sshd -f /etc/ssh/sshd_config

Basic linux setup

First things first: basic linux installation. From scratch.

Linux kernel 2.6.37

  • there is no need for every driver available as a module, what I need is xen-support, basic drivers and some networking. As a baseline, a minimum set of driver compiled in should be sufficient. However, quite a few network-modules would be "nice to have" (tunneling, ipsec, vlan, bonding etc) but not needed for booting, and some of these needs to be modules to be able to provide load-time parameters.
  • there is also no need for an initial ram-disk, this will be a small, simple setup with one ext2-partition, and the few drivers needed for boot will be linked into the kernel
I have set up a 4GB logical volume in dom0 for the installation. (Normally I would use iSCSI, but the firewall must be able to boot without any other networking present. Infact, the iSCSI-server expects to get an IP-address from the firewall with DHCP)

BusyBox 1.18.1

I will use BusyBox for basic unix utilities. This has probably been compiled with far more functionality than what is currently needed, but it would be a bother to re-compile just to get that one extra utility. Currently I have included:
  • init and related utilities
  • basic file-utils and text-utils
  • every network-util
  • some filesystem-tools
The boot-sequence is very simple:
  • init starts all daemons through inittab
  • init also starts /etc/init.d/rcS which mounts filesystems and set up networking
Putting it all together

Basic directory structure:

  • /etc
  • /etc/init.d
  • /bin
  • /sbin
  • /usr
  • /usr/bin
  • /usr/sbin
  • /usr/lib
  • /lib
  • /var
  • /lib64
  • /proc
  • /dev
  • /tmp
I added the following files to /etc:
  • fstab
  • group
  • init.d/rcS
  • inittab
  • passwd
  • shadow
  • nsswitch.conf
  • resolv.conf
contents of inittab:
::sysinit:/etc/init.d/rcS
::respawn:/sbin/getty -L hvc0 9600 linux
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:umount -a -r

contents of rcS:

#!/bin/sh

fsck /dev/root
mount -t proc proc /proc
mount -o remount,rw /
#mount -a

hostname firewall2
ip address add dev eth0 local 192.168.32.10/24
ip link set dev eth0 up
ip route add to default via 192.168.32.1
(since everything is mounted in the rc-script, fstab is really not needed)

I put busybox in /bin and ran:

/bin/busybox --install -s
this created symlinks to all busybox commands in /bin, /sbin, /usr/bin and /usr/sbin.

Finally, I copied these libraries from an Ubuntu-installation:

/lib/libm.so.6
/lib/libc.so.6
/lib/libcrypt.so.1
/lib/libdl.so.2
/lib/libnsl.so.1
/lib/libresolv.so.2
/lib/libutil.so.1
/lib/libz.so.1
/lib/libnss_files-2.11.1.so
/lib/libnss_dns-2.11.1.so
/lib64/ld-linux-x86-64.so.2

The kernel itself is not on the guest filesystem, it is started by xen in dom0.

mandag 24. januar 2011

IPv6 at home

Ok, so it's time to get on the IPv6-bandwagon. That means:
  • setting up a firewall/router that can handle both IPv4 and IPv6
  • creating an address-policy for both protocols
  • setting up an IPv6-tunnel while waiting for my ISP to provide IPv6
For the firewall/router, I would like the following functionality:
  • DHCP for IPv4
  • Router advertisements (aka stateless autoconfiguration for IPv6, as defined in RFC 4862)
  • DNS for v4 and v6
  • 6in4 tunnel through Hurricane Electric
  • ntp-daemon for a local time-source
  • ssh for administration
  • running a linux-kernel in a xen virtual machine
  • basic linux-utilities provided by busybox
Some justifications for this setup:
  • running linux on regular hw gives more flexibility than on custom-hw (like a linksys)
  • however, I don't need much computing power for this, so a timeshare of my regular server is OK
  • Hurricane Electric seems to be the most used and easy to set up tunnel service
  • I would like to have a cliean IPv6-network internally and translate in the router, however, I have some clients that might not do IPv6 at all (like a blueray-player and the PS3), and even on regular plattforms, some features are missing (like: getting DNS-setup from the IPv6 autoconfig or even do DNS-lookups over IPv6)
  • IPv6 stateless autoconfiguration is far more elegant than DHCP. I would really like to use stateless autoconfigure for everything but servers, and set up other network parameters using DNS SRV-records or zeroconf/bonjour. But the support for this is scarce, so I'll stick with autoconfiguration for addresses and get the rest through DHCP (v4) for now. (Servers need statefull configuration anyway to have a stable IP-address independent of the network card)
So, the plan is:
  • set up a custom linux-system, running on xen
  • use busybox for providing basic utilities
  • ssh for remote login
  • use linux built in netfilter functionality to provide routing, NAT, filtering etc, configured with iptables
  • isc dhcp or dnsmasq for dhcp-functionality (dnsmasq probably has enough functionalit for IPv4, but has no DHCPv6-support. I will start with using dnsmasq for DHCP and use only stateless configuration of IPv6)
  • radvd sending router advertisement messages providing IPv6 stateless autoconfiguration.
  • dnsmasq for DNS
  • ntpd

fredag 8. januar 2010

Er vi mer enn DNA?

Dette startet med en diskusjon på fjasboka med utgangspunkt i en artikkel om Stephen Hawking. På et tidspunkt ble det aktuelt å analysere mer i detalj hva nevnte artikkel sier, det kommer her:
Although it has taken homo sapiens several million years to evolve from the apes, the useful information in our DNA, has probably changed by only a few million bits. So the rate of biological evolution in humans, Stephen Hawking points out in his Life in the Universe lecture, is about a bit a year.
Ok, dette er en observasjon, ikke noe mer å si om dette.
“By contrast,” Hawking says, “there are about 50,000 new books published in the English language each year, containing of the order of a hundred billion bits of information. Of course, the great majority of this information is garbage, and no use to any form of life. But, even so, the rate at which useful information can be added is millions, if not billions, higher than with DNA.”
Dette kan jeg også enkelt være enig i
This means Hawking says that we have entered a new phase of evolution. “At first, evolution proceeded by natural selection, from random mutations. This Darwinian phase, lasted about three and a half billion years, and produced us, beings who developed language, to exchange information.”
But what distinguishes us from our cave man ancestors is the knowledge that we have accumulated over the last ten thousand years, and particularly, Hawking points out, over the last three hundred.
“A new phase of evolution”, her faller jeg av. Her snakker han om noe annet enn biologisk evolusjon, men kaller det evolusjon, bare “en ny fase”. Jeg synes han burde ha valgt et annet begrep. Og når han sier at ”this Darwinian phase, lasted about three and a half billion years”, hva mener han egentlig her? At denne ”fasen” nå er over? Hva betyr egentlig det? At biologisk evolusjon nå har stoppet opp? Jeg tror han mener at denne andre ”intelektuelle evolusjonen” eller hva vi skal kalle den, er viktigere for menneskehetens videre utvikling enn den biologiske evolusjonen. Dette er det heller ikke noe problem å være enig i, han sparker inn åpne dører foreløpig.
”I think it is legitimate to take a broader view, and include externally transmitted information, as well as DNA, in the evolution of the human race,” Hawking said.
Dette mener jeg underbygger den tolkningen jeg ga over.
In the last ten thousand years the human species has been in what Hawking calls, “an external transmission phase,” where the internal record of information, handed down to succeeding generations in DNA, has not changed significantly. “But the external record, in books, and other long lasting forms of storage,” Hawking says, “has grown enormously. Some people would use the term, evolution, only for the internally transmitted genetic material, and would object to it being applied to information handed down externally. But I think that is too narrow a view. We are more than just our genes.”
Han snakker om to forskjellige fenomen, biologisk evolusjon av gener, samt “ekstern” akkumulering av informasjon. Det blir bare forvirrende å kalle begge to for ”evolusjon”. Og ”we are more than just our genes”, det er da ingen som påstår noe annet?
The time scale for evolution, in the external transmission period, has collapsed to about 50 years, or less.
Jeg skjønner ikke helt hva han snakker om her, men jeg tolker det slik at hvis hele evolusjonen de siste X millioner år (hvor stor er X?) skulle skjedd i samme tempo som den eksterne akkumulering av kunnskap, ville den bli komprimert til 50 år. Det er jo en interressant lek med tall for å sette ting i perspektiv, men også en grov forenkling. Biologisk evolusjon henger tett sammen med vår forståelse av begrepet ”liv”. Det blir et langt og kronglete argument hvis man skal forsøke å definere den ”eksterne” kunnskapen som ”liv”.
Meanwhile, Hawking observes, our human brains "with which we process this information have evolved only on the Darwinian time scale, of hundreds of thousands of years. This is beginning to cause problems. In the 18th century, there was said to be a man who had read every book written. But nowadays, if you read one book a day, it would take you about 15,000 years to read through the books in a national Library. By which time, many more books would have been written."
Typisk Hawking å gjøre en slik lek med tall som han synes er imponerende store, men poenget er altså at vi akkumulerer informasjon raskere enn vi klarer å tilegne oss det. Ok. Så langt i denne artikkelen har det ikke kommet frem noe som helst nytt eller oppsiktsvekkende annet enn at han bruker begrepet ”evolusjon” om to forskjellige ting: biologisk evolusjon (den tradisjonelle betydningen) og ”ekstern akkumulering av kunnskap” (ekstern som i: utenfor kroppen, i motsetning til DNA som opplagt er inne i kroppen)
But we are now entering a new phase, of what Hawking calls "self designed evolution," in which we will be able to change and improve our DNA.
Og her drar han inn et tredje begrep hvor han også bruker ordet ”evolusjon”. Dette er hva jeg ville kalt ”genmanipulering”, men la oss ikke dvele for mye ved valg av ord.
“At first,” he continues “these changes will be confined to the repair of genetic defects, like cystic fibrosis, and muscular dystrophy. These are controlled by single genes, and so are fairly easy to identify, and correct. Other qualities, such as intelligence, are probably controlled by a large number of genes. It will be much more difficult to find them, and work out the relations between them. Nevertheless, I am sure that during the next century, people will discover how to modify both intelligence, and instincts like aggression.”
Dette er hva jeg mener er “science fiction”, han snakker om hva vi potensielt kan oppnå i løpet av neste århundre. Dette er jo for så vidt interessant å diskutere, men er jo foreløpig bare spekulasjoner rundt hva som kanskje kan bli mulig en gang.
If the human race manages to redesign itself, to reduce or eliminate the risk of self-destruction, we will probably reach out to the stars and colonize other planets. But this will be done, Hawking believes, with intelligent machines based on mechanical and electronic components, rather than macromolecules, which could eventually replace DNA based life, just as DNA may have replaced an earlier form of life.
Og dette er i hvert fall sci-fi. Skal vi diskutere dette i et filosofisk perspektiv bør vi først begynne med å definere begrepet ”liv”. Skal vi diskutere praktiske, sosiale, politiske, etc konsekvenser kan vi begynne med å lese for eksempel Asimov og Clarke.

Men om vi nå tar dette seriøst og diskuterer enten konsekvensene av å manipulere egne gener eller diskutere andre former for liv, vil jo ikke dette på noen måte gjøre teorien om biologisk evolusjon mindre relevant.

Hawking definerer et slags tidsskille her, fra tiden da biologisk evolusjon var styrende for menneskehetens utvikling, til en ny tid da menneskers akkumulerte kunnskap er styrende. Dette skillet vil jeg si skjedde for flere tusen år siden. Vi må i hvert fall tilbake til starten av jordbruksrevolusjonen (forsåvidt også hva Hawking sier, "the last ten thousand years"). Dette er altså stort sett observasjoner og fakta, med et par nye (forvirrende) definisjoner av "evolusjon" og en sci-fi fremtidsvisjon.

onsdag 28. oktober 2009

November-troll

Snart tid for ny troll-i-eske på cinemateket. Jeg har litt ekstra tid om dagen, så jeg har kunnet gå gjennom listen av kommende filmer for noen måneder fremover. Det første jeg oppdager, er at filmer som falt ut av listen tidligere i høst fordi de etter opprinnelig plan hadde hatt premiere, ikke har hatt premiere ennå likevel. For eksempel er Jim Jarmusch siste film "The limits of control" (som har vært på long-listen siden mai) ennå ikke vist og derfor fortsatt aktuell. Jeg har vurdert filmer til og med januar, for etter dette er listen på filmweb uansett ikke særlig pålitelig. Men listen for februar, og spesielt mars, har mange spennende titler, så det er bare å glede seg. Forøvrig kan jeg "avsløre" en observasjon jeg har gjort når det gjelder hvordan jeg på "intuisjon" velger ut filmer til denne listen (med varierende hell, må sies). I praksis ser jeg først og fremst på bildet som filmweb har i sin liste, og for de som har et typisk cinematek-troll-film-bilde, finner jeg alltids et argument for hvorfor filmen hører hjemme i listen. Se for eksempel på listen for januar: "up in the air" ligner på en cinemateket-film, "whip it" gjør det ikke. Uansett, nok prat, til listen. Denne gangen har jeg besluttet å gjengi hele den lange listen før jeg filtrerer ut til en short-list på 5 filmer som vanlig. (På den måten kan jeg si "hva var det jeg sa", selv om jeg egentlig gjetter feil...)
  • Observe and report (USA 2008, Sandrew, ubestemt). Action-komedier er ikke klassisk troll-i-eske-materiale, men de har overrasket oss før. Utfra omtalen kan dette være i samme kategori som "hot fuzz", "pink panter" eller "confidence" som alle har vært troll tidligere.
  • Det hvite båndet (Tyskland 2009, Arthaus, 2009-12-26)
  • A serious man (USA 2009, Focus, 2009-11-06) Coen-brothers
  • Man tenker sitt (Sverige 2009, Arthaus, 2009-11-06) Drama fra en Svensk forstad, "Med et rått filmatisk uttrykk formidler den urovekkende stemninger, inspirert av poeten og filosofen Henry David Thoreau."
  • Séraphine (Frankrike 2008, Fidalgo, 2009-11-13) Fransk film om en selvlært kunstner med handling fra begynnelsen av 1900-tallet
  • Tokyo Sonata (Japan 2008, Filmoptimistene, 2009-11-13), fikk juryens spesialpris i cannes 2008
  • Pour elle (Frankrike 2008, Euforia, 2009-11-20) Thriller om skyld og konsekvenser
  • I skyggen av varmen (Sverige 2009, SF Norge, 2008-11-20). Varm kjærlighetshistorie med vanskelige undertoner.
  • Los Bastardos (Mexiuco 2008, Arthaus, 2008-11-20) Eksplosiv og provoserende film fra grensen mellom Mexico og USA
  • Klass (Estland 2007, Europafilm, 2009-11-27). Film fra en ukjent Estisk filmskaper som endelig får internasjonal distribusjon. Dette lukter det cinemateket av...
  • CasaNegra (Marokko, Europafilm, ubestemt). Marokkos kandidat til oscar for beste utenlandske film.
  • La Belle Personne (Frankrike 2008, Tour de Force, ubestemt). Romantisk komedie. Dette senker sannsynligheten for at den velges som troll, men den er fransk og har vunnet en pris og fått noen nominasjoner.
  • Stella (Frankrike 2008, Tour de Force, ubestemt). Enda en film om en lærer i Paris. "klasse og sosial tilpasning i en nyansert fortelling fra 70-tallets Paris"
  • Gyldne tider (Frankrike/Romania 2008, Tour de force, 2009-12-26). Valgt til å være med på listen utelukkende på grunn av bildet i filmweb-artikkelen...
  • Lourdes (Østerrike/Frankrike/Tyskland 2009, Fidalgo, 2009-12-26). 4 priser i Venezia, sier ikke mer...
  • New York, I love you (USA/Frankrike 2009, SF Norge, 2009-12-26). Virker som samme film som "Paris je t'aime" som var troll i 2006 (noen som husker hvilken måned?). Mange kjente navn, både på regi og spill.
  • Precious (USA 2009, ORO Film, Ubestemt). Drøssevis med priser, mer info hos imdb
  • Up in the air (USA 2009, UIP, 2010-01-15). Cinemateket liker vel Clooney
  • The lovely bones (USA 2008, UIO, 2010-01-29) Stjernespekket lag med Peter Jackson i regi-stolen. Har ikke veldig stor tro på denne, men setter den på listen for å ha nevnt den...
  • Thirst (Sør Korea 2009, Tour de force, 2010-01-29) Klassifisert i den ekstremt tydelige og velkjente genren: "Drama / Romantikk / Spenning / Sort komedie"
Dette var altså hele listen, men jeg skal også våge meg ut på glattisen og liste de 5 jeg har mest tro på:
  • the limits of control
  • lourdes
  • precious
  • los bastardos
  • det hvite båndet (selv om jeg har mest tro på at denne kommer i desember)

søndag 4. oktober 2009

Oktober-troll

Sent ute med spekulasjonene denne gangen. Jeg har heller ikke studert listen av kommende filmer så veldig nøye denne uken, men jeg har en ganske omfattende liste fra tidligere som jeg har sortert og ryddet opp i. En del filmer forsvant ut av listen denne måneden fordi de blir vist på film fra sør. Men noen andre filmer står overraskende fortsatt der, fordi de ikke fikk premiere i september likevel slik opprinnelig annonsert. Vi sitter igjen med:
  • The limits of control (USA 2009, Nordisk film, ubestemt). Siste film fra Jim Jarmush. Dette er et meget hett tips, han er godt likt på Cinemateket. Skulle opprinnelig ha premiere i september, men har ikke hatt det ennå.
  • Looking for Eric (Belgia/Storbritania/Italia/Frankrike 2009, 2009-10-16). Virker som en skikkelig europeisk film som er en lett blanding av komedie og dokumentar. (Jeg må også si at dette opprinnelig var Jens sitt tips, ikke mitt). Også vist i Haugesund i år.
  • Barn (Island, 2008, 2009-10-30) eller Foreldre (Island, 2007, 2009-10-30). En stund siden sist vi fikk en film fra Island nå. Iflg mine notater var sist "Noi Albinoi" i september 2003, og såvidt jeg husker sa Langlo noe om at dette var et undervurdert film-land det kom mye bra fra, så da er det vel på tide? Dette er en duologi (er det et ord? hva er egentlig en trilogi med bare to episoder?) som utforsker forholdet mellom barn og foreldre. Virker som typisk cinematek-mat dette.
  • A serious man (USA 2009, Focus, 2009-11-06) Coen-brødrene, sier ikke mer...
  • Man tenker sitt (Sverige 2009, Arthaus, 2009-11-06) Drama fra en Svensk forstad, "Med et rått filmatisk uttrykk formidler den urovekkende stemninger, inspirert av poeten og filosofen Henry David Thoreau."