Friday 7 February 2014

Nebeneinander von DNSMASQ DHCPv6 und Fritzbox DHCPv6 Server

Um ein paar Dinge lokal realisieren zu können, musste ich letztlich einen Nameserver im LAN bereitstellen. Um nicht jeden Client einzeln konfigurieren zu müssen, sollte der Nameserver per DHCP verteilt werden.

 Zwar lassen sich in der Fritzbox auch andere Nameserver einstellen, allerdings werden diese nicht über DHCP verteilt. Stattdessen wird nach wie vor die Fritzbox als Nameserver verteilt und die Fritzbox stellt DNS-Queries dann an die in der Fritzbox hinterlegten Server.

 In meinem neuen Setup verteilt dnsmasq sowohl über DHCPv4 als auch DHCPv6:


  •  Lokale Nameserver und Backups, und zwar IPv4 und IPv6 Nameserver - 
  • Via DHCPv4 IPv4-Adressen 
  • Via DHCPv6 lediglich die nicht IP-bezogenen Einstellungen, bei mir die IPv6 Nameserver und ein IPv6-NTP-Server. Die Fritzbox ist weiterhin für die DHCPv6-Verteilung aller IP-bezogegenen Einstellungen (=O-Flag) zuständig.
In meiner Konfiguration bekommt meine Fritzbox über einen SIXXS Tunnel ein IPv6-Subnet und verteilt die öffentlichen IPs an die Clients im LAN, eben über den DHCPv6 Server.

 Bevor wir den DHCPv4 Server abschalten und den DHCP v6 Server auf die IP-Verteilung beschränken, soll zunächst dnsmasq eingestellt werden. Die dnsmasq.conf sollte ungefähr so aussehen:

 # Wir wollen nur DHCP, Nameserver macht in meiner Konfiguration unbound, daher DNS in dnsmasq aus mit 0
port=0

# Die IPv4-Range, die dnsmasq verteilen darf, 2h ist die leasetime.
dhcp-range=10.0.12.100,10.0.12.200,2h

# Der interessante Teil:
# Um DHCPv6 in dnsmasq einzuschalten, *muss* eine IPv6 Range eingestellt sein. Hier eingestellt auf alle Scopes im link-
# local-Bereich und meinen von SIXXS zugeteilten IPv6 Präfix (hier sinnlos verändert).
#
# ra-only befiehlt dnsmasq, nur in dem zuvor bezeichneten Subnets Ansagen zu machen, aber kein DHCP.
# ra-param setzt die Wichtigkeit der Ansagen auf hoch, den Ansage-Intervall auf 60 Sekunden und die lifetime der Route (=1200)

dhcp-range=::0, ra-only, ra-param=high,60,1200
dhcp-range=2001:xxxx:xxxx:xxxx::, ra-only, ra-param=high,60,1200

# "Enable dnsmasq's IPv6 Router Advertisement feature." - Kein weiterer Kommentar:

enable-ra

# DNS-Server, die via DHCPv6 verteilt werden: 
dhcp-option=option6:dns-server,[hier eine IPv6 Adresse eintragen, in Klammern!],[noch:eine::],[noch:eine:],[2001:4860:4860::8888]
dhcp-option=option6:domain-search,fritz.box
dhcp-option=option6:42,[ein::zeit:server:]

# dhcpv4 Subnetzmaske:
dhcp-option=1,255.255.255.0
# Gateway (= IP der Fritzbox)
dhcp-option=3,10.0.30.1
# Nameserver
dhcp-option=6,10.0.30.5,10.0.30.1,8.8.8.8
# Broadcast
dhcp-option=28,10.0.30.255
# Zeitserver (hier die Fritz)
dhcp-option=42,10.0.30.1

# Set the "all subnets are local" flag
dhcp-option=27,1
dhcp-option=option:domain-search,fritz.box
dhcp-authoritative

# The DHCP server needs somewhere on disk to keep its lease database.
# This defaults to a sane location, but if you want to change it, use
# the line below.
dhcp-leasefile=/var/lib/misc/dnsmasq.leases

# Ein paar statische Adressen

dhcp-host=00:24:6d:90:ff:8d,irgendein-name,10.0.12.50,infinite
dhcp-host=00:19:D9:4F:82:4F,noch-ein-name,10.0.12.51,infinite


Friday 3 July 2009

Compile and upgrade or install libtorrent-0.12.4 and rtorrent-0.8.4

Chose a directory where can download the sources to. For instance

/usr/src

we do not need to create this one, as it should already exist.

# mkdir /usr/src


next, get the sources for libtorrent and rtorrent:

# cd /usr/src
# wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.4.tar.gz
# wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.4.tar.gz

Unpack both archives with

# tar xvzf libtorrent-0.12.4.tar.gz
# tar xzvf rtorrent-0.8.4.tar.gz

If you have already compiled and installed rtorrent before and created the symlinks according to my earlier tutorial, we will need to remove the symlinks and create new ones pointing to the new sources:

# rm rtorrent
# rm libtorrent

# ln -s libtorrent-0.12.4 libtorrent
# ln -s rtorrent-0.8.4 rtorrent

After that, enter the respective directories and run ./autogen.sh, then configure, the make. Before you run make install, make sure you have quit any running instances of rtorrent.

cd to libtorrent, later to rtorrent and run:
# ./autogen.sh
# make
# make install

After the long compiling process we want to make sure, rtorrent is actually working. run rtorrent

# rtorrent

Should you get an error message like this:

error while loading shared libraries: libtorrent.so.11: cannot open shared object file: No such file or directory


Run ldconfig to create and cache the links.

# ldconfig

This should solve the problem.

Saturday 13 June 2009

compile and install current rtorrent for debian lenny on NSLU2

A solution without using subversion. For subversion we would only need the client, but you only get the full package from the repositories, together with all dependencies we would quickly reach > 50 MB. It's just too much for my little slug (1 GB USB-Flash Stick).

Well,

first of all, we create a directory in /usr/src named rtorrent. This is where we will download the sources to and where we are going to decompress the archives.:

# mkdir /usr/src/rtorrent
# cd /usr/src/rtorrent

We get the sources (note that the numbers in the filenames will change with new versions. It's best you verify at http://libtorrent.rakshasa.no/wiki.

# wget libtorrent-0.12.2.tar.gz
# wget rtorrent-0.8.2.tar.gz

assuming a fresh basic install of debian lenny, we need:

# apt-get install build-essential
# apt-get install libtool
# apt-get install automake autoconf
# apt-get install libsigc++-2.0-dev
# apt-get install pkg-config
# apt-get install libssl-dev
# apt-get install libcurl3-dev [libcurl4-openssl-dev]
# apt-get install libncurses5 libncurses5-dev


now we unzip the sources:

# tar xvzf libtorrent-0.12.2.tar.gz
# tar xzvf rtorrent-0.8.2.tar.gz

create a symbolic link to the cryptic extracted directories:

# ln -s libtorrent-0.12.2 libtorrent
# ln -s rtorrent-0.8.2 rtorrent


then move up to the libtorrent directory:

# cd libtorrent


I got an error like "make[4]: *** [file_list_iterator.lo] Error 1" when compiling with make. Fortunately, this is known and can be easily fixed by applying the libtorrent-gcc43-v2.patch before compiling.

So, when in the libtorrent source directory, wget the patch

# wget http://libtorrent.rakshasa.no/raw-attachment/ticket/1266/libtorrent-gcc43-v2.patch

and apply it with

# patch -p1 < libtorrent-gcc43-v2.patch

next, we start the usual procedure (cf. here). Before we begin we open a screen session, so that we don't need to stay connected to the NSLU2 the whole time. If you've not already done so, install screen (you will probably use it with rtorrent anyways).

# apt-get install screen

Then, start a new screen session. We name it rtorrcompiling (chose whatever you want).

# screen -S rtorrcompiling.

Now do:

# ./autogen.sh
# ./configure
# make

note that make is going to take several hours (in my case more than 6). Sigh. You can detach the screen with CTRL-A d. Logout, power off your PC (not the NSLU ;)), get a coffee or go to sleep. Or you can take a look how hard your slug is working by

# top

Exit top by pressing q.

If you want to check how far make got, login to your slug and resume the screen session with

# screen -r

When make is done, go on with

# make install

and we're done with libtorrent. Next is rtorrent:

# cd ..
# cd rtorrent
# wget http://libtorrent.rakshasa.no/raw-attachment/ticket/1554/rtorrent-0.8.2-g%2B%2B4.3.patch
# patch -p1 < rtorrent-0.8.2-g++4.3.patch
# ./autogen.sh
# ./configure
# make
# make install

That's it.
Please leave a comment if this worked or not worked for you. Thanks.

Tuesday 29 July 2008

iPhone und 802.1X (eduroam) an der FU Berlin (Tutorial)

UPDATE 02.08.2008: VPN geht auch, einfach ne Mail an die ZEDAT und ihr bekommt das entsprechende Profil an eure FU-Mail-Adresse gesandt.

UPDATE 09.09.2008:
Eine Mail ist nicht mehr erforderlich. Die Profile für eduroam und VPN sind jetzt auf den entsprechenden Webseiten abrufbar: http://www.zedat.fu-berlin.de/Eduroam-iPhone und http://www.zedat.fu-berlin.de/VPNclient-iPhone


Zutaten:Hinweis: Diese Anleitung wurde mithilfe der von der FU ZEDAT bereitgestellten Parameter für 802.1X eduroam erstellt.

Für FUler auf dem ganzen FU-Campus und dank eduroam auch an der FHTW Berlin und an der TU sowie sämtlichen sonst teilnehmenden Universitäten (Liste scheint nicht besonders aktuell zu sein) gibts schnellen WLAN Zugang fürs iPhone und iPod Touch mit 2.0 Firmware.

Leider funktioniert die Einrichtung nicht direkt über das Gerät. Stattdessen ist der Umweg über das iPhone Configuration Utility (im folgenden ICU) zu nehmen (Download von Apple), welches eine Konfigurationsdatei erstellt, die man sich anschließend zumailen kann oder auf einen webserver stellen kann. Dann wird die Datei mit dem iPhone aufgerufen und der Rest erklärt sich von selbst.

Das iCU installiert auf Windows PCs einen lokalen Webserver, der unter http://localhost:3000 (oder eben http://127.0.0.1:3000) erreichbar ist.
Benutzername und Passwort lauten jeweils admin.

Ist man im iCU eingeloggt, ist das erforderliche Profil schnell erstellt. Wir beschränken uns zunächst auf 802.1X (eduroam).


1. General

Unter General füllt man zunächst die Felder aus, was man genau einträgt ist egal, wichtig ist jedoch, dass alle required-Felder ausgefüllt werden. Anschließend zwischenspeichern mit save.

2. Credentials
Unter credentials ladet ihr die Stammzertifikatsdatei der Deutschen Telekom hoch, die ihr bei der Zedat bekommt (Link auf Deutsche-Telekom.cer).
Ob es tatsächlich erforderlich ist, auch das FU-CA Zertifikat hochzuladen, weiß ich nicht, es schadet aber nicht. Dieses heißt FU-CA.cer und ist ebenfalls auf den Servern der ZEDAT erhältlich.

3. Wi-Fi

Anschließend wechselt Ihr zur Registerkarte "Wi-Fi".


Dort tragt ihr als SSID eduroam ein, stellt den Security Type auf WPA/WPA2 Enterprise

Bei Enterprise settings stellt ihr Protocols auf TTLS.

Dann wechselt ihr auf "Authentication".













Bei Authentication tragt Ihr bei Username euren Zedat-Namen gefolgt von @zedat.fu-berlin.de ein. Also zedatname@zedat.fu-berlin.de (siehe auch Bild). Inner Authentication sollte auf "PAP" eingestellt sein. Das war's schon für hier, als nächstes geht's zu Trust.

















Bei Trust setzt Ihr ein Häkchen vor das im Schritt 2 importierte Telekom Zertifikat:
"Deutsche Telekom Root CA 2".
Anschließend wird mit Save gespeichert.



4. Profil speichern

Zuletzt wechselt ihr wieder zurück zu "General" und speichert das ganze als Datei ab, indem ihr auf "Export Profile" klickt. Am einfachsten funktionierte bei mir der Profil-Import, indem ich es mir selbst als Anhang einer Mail zugeschickt und die Mail im iPhone abgerufen habe.

Das iPhone fragt dann noch euer Zedat Passwort ab. Ab sofort sollte es möglich sein, sich im WLAN "eduroam" einzuwählen.

Beachtet hierbei, dass ihr nicht zugleich mit dem VPN Client oder mit einem anderen PC per 802.1X eingewählt sein dürft. Zwar bucht sich das iPhone bei eduroam ein, ihr kommt aber nicht ins Netz.

Das wars!

Monday 28 July 2008

iPhone, Voicemail und T-Mobile

Als T-Mobile Neukunde war ich zunächst gehörig verwirrt: Ohne mein Zutun verschwanden Voicemail-Nachrichten nach einiger Zeit. Hatte ich dies zunächst noch den nicht unüblichen Abstürzen des iPhone 3G zugeschrieben, bin ich heute klüger geworden.

Entgegen geschätzten Gepflogenheiten anderer Mobilfunkanbieter in Deutschland werden bei T-Mobile Nachrichten ungefragt gelöscht. Abgehörte Nachrichten bereits nach sieben Tagen, nicht abgehörte Nachrichten nach 21 Tagen. Wichtige Nummern, die auf die Voicebox gesprochen werden, sollten also schleunigst notiert werden.

Sunday 27 July 2008

iTunes erkennt nicht iPhone / iPod Touch remote

Seitdem es im Apple-Appstore das tolle Programm remote gibt, verzweifle ich daran. iTunes wollte partout nicht mein iPhone remote erkennen, ich konnte nicht einmal das Passwort eingeben.

Neben den üblichen Fehlerquellen (googlen. Z.B.: Routereinstellungen (Kommunikation erlauben)), habe ich mich dann mal mit Wireshark rangesetzt und nachgeschaut, ob denn überhaupt Pakete vom iPhone ankommen.

Bei mir war der Schuldige jedenfalls AVM. Ich habe vor einiger Zeit Fritz Fernzugang installiert, um per VPN von außerhalb auf mein Netzwerk zugreifen können. AVMs VPN-Lösung verbockt aber offenbar die Erkennung des iPhones übers (W)-LAN.

Rettung für alle Verzweifelten; dem Problem ist ganz schnell beizukommen:

Systemsteuerung --> Netzwerkverbindungen. Dort die Netzwerkkarte anwählen, über die die Netzwerkverbindung zum Router (Fritzbox) besteht, also im Zweifel "Drahtlose Netzwerkverbindung", wenn der iTunes-Rechner per WLAN im LAN hängt. Rechtsklick, dann auf Eigenschaften und dort in der Liste das Häkchen vor "AVM VPN Driver" entfernen. Dann auf OK und voilá, das war's. Bei mir tauchte im iTunes direkt nach dem OK-Klick das iPhone auf.



Ich fand die AVM VPN-Lösung ohnehin nicht so dolle. :)