haxBlog

irgendwas

Amateurfunk
Tue, 28 Jul 2015 16:53:10 +0200

Wie ihr sicherlich bereits wisst, lerne ich seit Februar diesen Jahres für die Amateurfunklizenz Klasse A. Gestern habe ich dann in Reutlingen die Prüfung abgelegt:

Also bestanden!1!!

Nach 2 Stunden (max. 3,5h) war ich mit den Bögen durch, wobei ich Betriebstechnik und Gesetzeskunde doppelt durchgegangen war. Mit dabei waren noch etwa 15 weitere Leute mit teils stark abweichenden Hintergründen. Laut Prüfer hatten alle anwesenden bestanden, was sicherlich auch recht komfortabel für die Prüfer war.

Üblicherweise wird dann direkt im Anschluss die Zulassung mit Rufzeichen beantragt. Zu meiner großen Überraschung konnte ich die Zulassung schon am nächsten Tag aus dem Briefkasten holen. Das #CCCamp15 kann also kommen.

Tags: amateurfunk.
Computer sind nicht schuld
Sun, 28 Jun 2015 20:04:10 +0200

Wie ihr sicherlich wisst, betreue ich zahlreiche Personen im großen Bereich der IT. Oft höre ich den Satz: „Der Computer ist schuld“. Hier wird oft die Schuld einem Glied in der Kette zwischen Entwickler und Anwender gegeben, welches nur in ausführender Position arbeitet. Der Computer selbst nimmt nur Befehle entgegen und arbeitet diese (mit hoher Geschwindigkeit) ab. Diese Befehle kommen in Form von Programmen und Konfigurationen vom Entwickler bzw. dem Admin, der die Software am Ende konfiguriert. Es gilt „Wer einem Computer Unsinn erzählt, muss immer damit rechnen.“ Wenn also beispielsweise ein Emailserver Emails ohne Fehlermeldung weg wirft, liegt dies nicht am Server, sondern dem, der das ganze eingerichtet hat.

Tags: notizen.
Neuigkeitenzusammenf├╝hrung
Mon, 16 Mar 2015 16:53:10 +0100

Wie ihr sicherlich bereits wisst, bin ich Konsument von zahlreichen Newsseiten. Ich habe mir mal ein Tiny Tiny RSS aufgesetzt. Da leider viele RSS/Atom-Feeds nicht die kompletten Artikel enthalten, besteht noch etwas Bedarf für Optimierungen. In diesem Zuge bin ich auf dieses Git-Repo gestoßen, in dem einige recht interessante "Helfer"-Plugins enthalten sind. Weiterhin ganz nett ist die Software hinter fivefilters.org/content-only, welche News-Feeds mittels Magie zu verwendbaren Newsfeeds umbaut.

Tags: notizen.
bird: show route filtered
Sun, 21 Dec 2014 18:27:35 +0100

Für folgende Anleitung braucht ihr eine aktuelle Version von Bird. Version 1.3.7 aus den Standardquellen für wheezy ist zu alt. Nehmt mindestens Version 1.4.5 aus den wheezy-backports

In #dn42 gab es eine kleine Info, wie man bei bird herausfinden kann, welche Routen den eigenen Filtern zum Opfer gefallen sind. Dazu muss bei den protocol-Optionen die Option import keep filtered; gesetzt werden. Bei mir sieht das dann etwa so aus:

protocol bgp dn42_NEIGHBOR {
    table dn42;
    local as my_as;
    source address 172.XX.XXX.XXX;
    neighbor 172.XX.XXX.XXX as XXXXXX;
    import keep filtered;
    import filter dn42_in;
    export filter dn42_out;
}

Mein Filter selbst sieht so aus:

filter dn42_in
prefix set include;
prefix set exclude;
{
        exclude = [     10.10.10.0/24+];                # kabel deutschland dns
        include = [     172.22.0.0/15{22,28},           # dn42 main net
                        172.22.254.0/24{26,30},         # dn42 transfer nets
                        172.22.0.53/32,                 # dn42 anycast dn42
                        10.0.0.0/8{12,30},              # freifunk
                        172.31.0.0/16+];                # chaosvpn
#                       94.45.224.0/19{19,30},          # ccc event
        if net ~ exclude then reject;
        if net ~ include then accept;
        reject;
}

Das Eventnetz lasse ich nur dann zu, wenn es genutzt wird. Interessanterweise verhindere ich mit dem Filter tatsächlich, dass mir neue default-Routen untergeschoben werden:

root@chero ~ # birdc
BIRD 1.4.5 ready.
bird> show route table dn42 filtered
0.0.0.0/1          via 172.XX.XX.X on dn42.XXXXX [dn42_XXXXX 18:21:21] * (100) [ASXXXXXXXXXXi]
172.23.245.1/32    via 172.XX.XXX.XXX on dn42.XXXXXXX [dn42_XXXXXXX 18:20:28] * (100) [ASXXXXXi]
172.22.247.128/32  via 172.XX.XXX.XXX on dn42.XXXXXXX [dn42_XXXXXXX 18:20:28] * (100) [ASXXXXXi]
[…]
128.0.0.0/1        via 172.XX.XX.X on dn42.XXXXX [dn42_XXXXX 18:21:21] * (100) [ASXXXXXXXXXXi]
[…]

Es lohnt sich also, nachzusehen und evtl. Leute zu informieren. Beim Rest handelt es sich hauptsächlich um Routen zu /31 und /32er Netzen.

Tags: bird, configs, dn42, notizen.
wget und die robots.txt
Sat, 20 Dec 2014 21:47:30 +0100

Mit dem Parameter -e robots=off ignoriert wget die robots.txt, die ihn sonst daran hindert, Backups zu ziehen.

Tags: notizen.
dn42: bird4,6
Tue, 16 Dec 2014 14:16:45 +0100

/etc/bird/bird.conf

router id YOUR_INTERNAL_IP;
log syslog all;
define my_as = YOUR_ASN;

protocol kernel {
    persist;
    scan time 20;
    export all;
}

protocol device {
    scan time 10;
}

protocol static {
    route YOUR_INTERNAL_IP/NETMASK reject;
}

## DN42 FILTERING ##
function is_dn42_net(prefix p)
    prefix set include;
    prefix set exclude;
{
    exclude = [
        10.10.10.0/24+          # mgmt and kabel deutschland dns, dhcp
    ];

    include = [
        10.0.0.0/8{12,30},      # Freifunk
        172.22.0.0/15{22,28},       # DN42
        172.22.0.43/32,         # DN42 anycast WHOIS
        172.22.0.53/32,         # DN42 anycast DNS
        94.45.224.0/19,         # CCCV GmbH
        172.31.0.0/16{22,28},       # ChaosVPN
        195.191.196.0/23,       # ichdasich
        46.19.90.48/28,         # Planet Cyborg
        46.19.90.96/28,         # Planet Cyborg
        46.4.248.192/27         # welterde
    ];

    if p ~ exclude then return false;
    if p ~ include then return true;
    return false;
}

## DN42 PEERINGS ##
template bgp dn42_peer {
    local as my_as;
    source address YOUR_INTERNAL_IP;
    import keep filtered;
    import filter {
        if is_dn42_net(net) then {
            accept;
        } else {
            reject;
        }
    };
    export where source = RTS_BGP || source = RTS_STATIC;
}

protocol bgp PEERING_NAME from dn42_peer {
    neighbor INTERNAL_IP as ASN;
}
protocol bgp PEERING_NAME from dn42_peer {
    neighbor INTERNAL_IP as ASN;
}

/etc/bird/bird6.conf

log syslog { info, remote, warning, error, auth, fatal, bug };
router id MY_ROUTER_ID;

define my_as = MY_ASN;
table dn42;

filter dn42_out
prefix set include;
prefix set exclude;
{
#   exclude = [];
    include = [ fd00::/8{48,64}];
#   if net ~ exclude then reject;
    if net ~ include then accept;
    reject;
}

filter dn42_in
prefix set include;
prefix set exclude;
{
        exclude = [     INTERNAL_NETWORK::/64];       # eigenes Subnetz
        include = [     fd00::/8{48,64}];       # ULA dn42
        if net ~ exclude then reject;
        if net ~ include then accept;
        reject;
}

protocol kernel dn42k{
        scan time 10;           # Scan kernel routing table every 20 seconds
        table dn42;
        export filter {
                if net ~ [ INTERNAL_NETWORK ] then {
                        reject;
                }   
                accept;
        };  
        import none;
}

protocol device {
    scan time 10;       # Scan interfaces every 10 seconds
}

protocol static {
        table dn42;
        route INTERNAL_NETWORK via "lo";
}

protocol bgp dn42_PEERNAME {
    table dn42;
    local as my_as;

    source address INTERNAL_ADDRESS;
    neighbor EXTERNAL_ADDRESS as EXTERNAL_ASN;

    import keep filtered;
    import filter dn42_in;
    export filter dn42_out;
}
Tags: configs, dn42, notizen.
dn42: Tunnel via OpenVPN
Mon, 15 Dec 2014 14:16:45 +0100

Folgende Konfigurationsdateien enthalten die Konfiguration für den Tunnel. Soll der Tunnel über ipv6 aufgebaut werden, die Option "proto udp" durch "proto udp6" ersetzen. Wenn kein IPv6 innerhalb vom Tunnel gebraucht wirdi, kann die Zeile "up /etc/open..." und das up-Script weg gelassen werden. Ich verwende das separate up-Script, weil die direkte Einrichtung durch OpenVPN keine Netzgröße kleiner als /64 annimmt.

/etc/openvpn/dn42-NICK.conf

mode p2p
rport REMOTE-PORT
lport LOCAL-PORT
remote REMOTE-HOST
proto udp
dev-type tun
dev dn42.NICK
comp-lzo
secret /etc/openvpn/dn42-NICK.key
user nobody
group nogroup
persist-key
persist-tun
ifconfig LOCAL-TUNNEL-IP REMOTE-TUNNEL-IP
float
script-security 2
up /etc/openvpn/dn42-NICK.up
keepalive 10 60

/etc/openvpn/dn42-NICK.up

#!/bin/sh
/sbin/ip -6 a add fd58:XXXX:XXXX:42/124 dev $1
Tags: configs, dn42, notizen.
dn42: Links
Sun, 14 Dec 2014 14:16:45 +0100

Wie ihr sicherlich wisst, bin ich mit dem dn42 verbunden. Hier mal Dinge, die ich relevant genug halte, um diese hier zu posten:

Tags: configs, dn42, notizen.
Do not IRC as root
Mon, 10 Nov 2014 23:50:00 +0100

Wie ihr sicherlich wisst, verwende ich üblicherweise Weechat für IRC. Neuerdings tue ich dies in einem Dockercontainer, der zusätzlich noch bitlbee enthält. Beim Einrichten haben dann manche Server die Verbindung abgewiesen. Grund:

Do not IRC as root

Ich will aber!1!! Weiterhin hat dieser root eh nur Zugriffsrechte auf den Container. Viel kann er also nicht zerstören. In diesem Fall hilft es, die Variable irc.server_default.username auf etwas ungleich "root" zu setzen.

ACHTUNG: Dass manche Server dieses Verhalten haben, wird daran liegen, dass es viel zu viele Leute gibt, die nicht wissen, was sie tun. Tut dies also nur, wenn ihr genau wisst, warum ihr auf diesen "Sicherheitsmechanismus" verzichten könnt.

Tags: irc.
TRIM/discard bei luks/dm-crypt
Sat, 12 Jul 2014 17:29:00 +0200

Da ich auf meiner Agenda habe, künftig mit SSDs zu arbeiten, verlinke ich mal auf diesen Artikel von Thomas Leist, der da über einen Fallstrick berichtet.

Tags: notizen.

RSS feed

Created by Chronicle v