IPSec VPN zwischen FRITZ!Box und Securepoint V2007nx Firewall

Bei einer FRITZ!Box wird das VPN mit einer Konfigurationsdatei eingerichtet, die über das Webinterface eingespielt wird (Achtung das einspielen löst einen Neustart der FRITZ!Box aus). Nähere Informationen zu dem Thema FRITZ!Box und VPN können im AVM VPN Service-Portal gefunden werden.

Das Windows Programm zum erstellen der Konfigurationsdatei ist sehr puritanisch und lässt eine Einrichtung er VPN-Verbindung zu einer Securepoint V2007nx Firewall leider nicht zu. Allerdings kann man die Konfigurationsdatei hinterher mit einem Editor bearbeiten und es gibt im AVM VPN Service-Portal einige Beispielkonfigurationen. Leider hat in meinem Fall aber keine dieser Beispielkonfigurationen funktioniert. Also habe ich die Einstellungen der unterschiedlichen Beispielkonfigurationen mit einander kombiniert und schließlich die folgende Konfigurationsdatei mit einer Securepoint V2007nx Firewall (3DES/SHA in beiden Phasen und PFS) zum laufen bekommen:

/*
 
 * C:\Dokumente und Einstellungen\kristian\Anwendungsdaten\AVM\FRITZ!Fernzugang\hostname_dnsalias_net\fritzbox_hostname_dnsalias_net.cfg
 * Wed Apr 29 13:05:41 2009
 */
 
vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "Name der VPN-Verbindung";
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 123.123.123.123;
                remote_virtualip = 0.0.0.0;
                localid {
                        fqdn = "hostname.dnsalias.net";
                }
                remoteid {
                        ipadr = 123.123.123.123;
                }
                mode = phase1_mode_idp;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "geheim";
                cert_do_server_auth = no;
                use_nat_t = no;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.31.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.1.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-3des-sha/ah-no/comp-no/pfs";
                accesslist = "permit ip any 192.168.1.0 255.255.255.0";
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500", 
                            "udp 0.0.0.0:4500 0.0.0.0:4500";
}
 
 
// EOF

Der Vollständigkeit halber hier die Konfiguration der beiden IPSec Phasen auf der Securepoint V2007nx Firewall:

IPSec Phase 1
IPSec Phase 1

IPSec Phase 2
IPSec Phase 2

Upgrade eines Ubuntu Server von Version 8.10 auf 9.04

Ein Upgrade eines Servers mit Ubuntu Linux ist trivial. Es gibt dabei nur zu beachten, dass ein Upgrade immer nur auf die direkte Nachfolgeversion gemacht werden kann. Also nur ein Upgrade von 8.10 auf 9.04 und nicht auf 9.10. Nur bei den alle zwei Jahre erscheinenden Versionen mit LTS (Long Term Support) kann man ein Upgrade sowohl auf die direkte Nachfolgeversion als auch auf die nächste Version mit LST machen. Nähere Informationen findet man unter http://www.ubuntu.com/getubuntu/upgrading.

Um ein Upgrade von Ubuntu Linux über die Kommando Zeile zu veranlassen, muss man nur als root nacheinander die folgenden Befehle eingeben:

apt-get update
apt-get upgrade
apt-get install update-manager-core
do-release-upgrade

Danach ist ein Neustart des Betriebssystem nötig und das Upgrade ist geschaft.

Entfernen einer alten Netzwerkkarte unter Windows

Windows zeigt Netzwerkkarten nicht an, die nicht mehr im System sind. Deshalb kann man Netzwerkkarten nicht mehr sauber entfernen, wenn sie ausgetauscht wurden oder der Computer virtualisiert wurde. Dadurch verbleibt die Konfiguration der alten Netzwerkkarte (Fest IP oder anderes) in der Registry. Man findet z.B. die TCP/IP Einstellungen der Karten unter HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services. Dort erscheinen ganz oben so lange Zahlen in geschweifter Klammer, die GUIDs der Karten. Leider sind die Karten nicht unter ihrem Namen zu finden. Deshalb muss man sich die einzelnen Werte anschauen, um die Karten an Hand der eingetragenen IPs zu identifizieren. Diese Nummern tauchen nochmals weiter unten unter TCP/Parameters/Interfaces auf.

Bevor man sich jedoch die Mühe macht, Werte von Hand aus der Registry zu löschen, sollte man probieren die Systemumgebungsvariable devmgr_show_nonpresent_devices auf den Wert 1 zu setzen und danach den Gerätemanager zu starten. Dazu startet man eine Shell (unter Windows ja auch DOS-Fenster genannt) und gibt die drei folgenden Befehle ein:

set devmgr_show_details=1
set devmgr_show_nonpresent_devices=1
start devmgmt.msc

Danach wählt man im Menü des gestarteten Gerätemanager unter „Ansicht“ die Option „Ausgeblendete Geräte anzeigen“ aus, um die Ansicht der Geräte auch wirklich zu erhalten. Die Geräte welche nicht mehr vorhanden sind, werden danach als halbtransparente Geräte angezeigt. Man kann diese Einträge jetzt gefahrlos löschen und somit aus dem System entfernen.

Fehlerdiagnose auf einer Securepoint V2007nx Firewall mit Hilfe von tcpdump

Um Fehler im Regelwerk einer Securepoint V2007nx Firewall zu finden kann der Befehl tcpdump sehr nützlich sein. tcpdump ist zwar grundsätzlich installiert, kann jedoch nur in der root-shell benutzt werden. Um auf die root-shell zu gelangen muss zuvor der Benutzer root angelegt werden. Wie dies geht kann in dem Artikel root auf einer Securepoint V2007nx Firewall anlegen nachgelesen werden.

Wenn man in einer root-shell z.B. tcpdump icmp eingibt werden alle ICMP-Pakete angezeigt, welche die Netzwerkkarte der Firewall erreichen. Wenn man nun Pings durch die Firewall laufen lässt sieht dies etwa wie folgt aus:

17:56:57.357001 IP 172.30.5.3 > 192.168.1.2: icmp 1480: echo request seq 57072
17:56:57.547443 IP 172.30.5.3 > 192.168.1.2: icmp 1480: echo request seq 57072
17:57:33.336344 IP 172.30.18.155 > 192.168.1.26: icmp 40: echo request seq 23552
17:57:41.512609 IP blubber.blubbertest.de > mail.blubbertest.de: icmp 68: mail.ohl.de tcp port 113 unreachable
17:57:49.473517 IP 192.168.1.237 > 172.30.3.1: icmp 40: echo request seq 57286
17:57:49.986709 IP blubber.blubbertest.de > mail.blubbertest.be: icmp 68: mail.blubbertest.de tcp port 113 unreachable
17:57:51.785764 IP 192.168.1.237 > 172.30.3.1: icmp 40: echo request seq 57542
17:58:41.619018 IP blubber.blubbertest.de > mail.blubbertest.be: icmp 68: mail.blubbertest.de tcp port 113 unreachable
17:58:49.474053 IP 192.168.1.237 > 172.30.3.1: icmp 40: echo request seq 57798
17:58:51.866193 IP 192.168.1.237 > 172.30.3.1: icmp 40: echo request seq 58054
17:58:54.942763 IP 172.30.2.26 > 192.168.1.22: icmp 40: echo reply seq 48118
17:58:55.423427 IP 172.30.4.31 > 192.168.1.22: icmp 40: echo reply seq 48374
17:58:55.438019 IP 172.30.4.31 > 192.168.1.22: icmp 40: echo reply seq 48630
17:58:55.905084 IP 172.30.4.26 > 192.168.1.22: icmp 40: echo reply seq 48886
17:58:55.919020 IP 172.30.4.26 > 192.168.1.22: icmp 40: echo reply seq 49142
17:58:56.230197 IP 172.30.4.25 > 192.168.1.22: icmp 40: echo reply seq 49398
17:58:56.244292 IP 172.30.4.25 > 192.168.1.22: icmp 40: echo reply seq 49654

Insbesondere Fehler in einem Regelwerke für NAT (Network Address Translation) oder VPN (Virtual Privat Network) sind mit Hilfe von tcpdump wesentlich leichter zu finden, als wenn man nur den „log client“ von Securepoint verwendet.

Cisco IOS: PPPoE für einen symmetrischen T-DSL Business 2000 Anschluss einrichten

Ich habe gerade einen Cisco 871 Router mit einem IOS in der Version 12.4 für einen symmetrischen T-DSL Business 2000 Anschluss verwendet. Die Telekom liefert bei diesem Anschluss im Augenblick einen Sphairon G5100 SHDSL Router mit, der aber nur als DSL-Modem konfiguriert wird. Dies liegt sicherlich daran, dass SHDSL Router im Augenblick in Deutschland noch nicht weit verbreitet sind und deshalb nicht so leicht und kostengünstig im normalen Einzelhandel zu bekommen sind.

Um den Cisco Router dazu zu bringen das DSL-Modem zu benutzen muss man auf einem Ethernet-Interface PPPoE konfigurieren. Dies kann IOS ab der Version 12.1. Eine recht gute Anleitung für die Konfiguration von T-DSL ist auf der Webseite von GepaNet zu finden. In meinem Fall brauchte ich jedoch kein vpdn. Außerdem funktionierte die Authentifizierung nur mit CHAP anstelle von PAP.

Ich brauchte also nur das Inside Interface konfigurieren:

interface Ethernet0
ip address 192.168.37.254 255.255.255.0
ip nat inside 

Das Outside Interface konfigurieren:

interface Ethernet4
no ip address
pppoe-client dial-pool-number 1
no cdp enable

Den Dialer konfigurieren (natürlich mit den entsprechenden Zugangskennung und dem Passwort):

interface Dialer1
ip address negotiated
ip mtu 1492
ip nat outside
encapsulation ppp
no ip mroute-cache
dialer pool 1
dialer-group 1
no cdp enable
ppp authentication chap callin
ppp chap hostname feste-ip7/zugangskennung@t-online-com.de
ppp chap password geheimeskennwort

NAT definieren und die Route setzen:

ip nat inside source list 101 interface Dialer1 overload
ip route 0.0.0.0 0.0.0.0 Dialer1
access - list 101 permit ip 192.168.37.0 0.255.255.255 any
dialer-list 1 protocol ip permit

Danach funktionierte die Verbindung.

Man sollte anschließend natürlich noch ein paar Access-Listen einbauen, um für die nötige Sicherheit zu sorgen.