Inhaltsverzeichnis

VPN mit der Fritzbox

Configdatei erstellen

http://www.avm.de/de/Service/Service-Portale/Service-Portal/VPN_Praxis_und_Tipps/step_by_step_fernzugang.php?portal=VPN

Configdatei für ike Shrew convertieren

Dank des ausgezeichneten Programms vpnseter von http://forum.ubuntuusers.de/topic/vpn-verbindung-zu-fritzbox-7170/?post-1728536 klappt das.

Hier nochmal als Sicherheitskopie, falls das Original mal aus dem Netz verschwindet:

#!/usr/bin/perl -w
 
#print "Lese Config\n";
 
system "clear";
die "Programmiert von Hans und Martin\n\nvpnseter zum erstellen eine ike Shrew Configuration\n\nfür ubuntu anhand der fritzbox.conf Datei\n\nAufruf: $0 fritzbox.conf\n
in der Datei /etc/sysctrl.d/10-network-security.conf\n net.ipv4.conf.default.rp_filter auf 0 setzen\n" if @ARGV <1;
open (CONFIG, "<$ARGV[0]");
    while (<CONFIG>){
         if ((!(/^#/)) && (/=/)){
              chomp;
              my ($key,$value) = split(/=/);
              $key =~ s/\s//g;
              $value =~ s/(^\s*|\t)//g;
              $config{$key} = $value;
         }
    }
 
            ($DYNDNS) = $config{'remotehostname'} =~ m/\"(.*)\"/ if ($config{'remotehostname'});
            if (!$DYNDNS){
            print "Bitte die DynDNS-Adresse der FritzBox! eingeben: ";
            $DYNDNS = <STDIN>;
            chomp $DYNDNS;
 
            print $DYNDNS;
    }
            ($reinkey) = $config{'key'} =~ m/\"(.*)\"/;
            ($userfqdn) = $config{'user_fqdn'} =~ m/\"(.*)\"/;
            ($ipvirt) = $config{'remote_virtualip'} =~ m/(.*);/ if ($config{'remote_virtualip'});
            if (!$ipvirt)
        {
            ($ipvirt) = $config{'virtualip'} =~ m/(.*);/;
        }
            ($policy) = $ipvirt =~ m/(\d+\.\d+\.\d+)\./;
            open (CODE, "echo -n '$reinkey'|base64 |");
            ($base) = <CODE>;
    #        print "$base";
 
 
            chdir;
            mkdir (".ike",0755) unless (-d ".ike");
            mkdir (".ike/sites",0755) unless (-d ".ike/sites");
            open (DATEI, ">.ike/sites/$DYNDNS") ||  die "kann ~/.ike/sites/$DYNDNS nicht erstellen\n";
            print DATEI <<"EOF_text";
n:version:2
n:network-ike-port:500
n:network-mtu-size:1380
n:client-addr-auto:0
n:network-natt-port:4500
n:network-natt-rate:15
n:network-frag-size:540
n:network-dpd-enable:1
n:network-notify-enable:1
n:client-banner-enable:1
n:client-dns-used:0
b:auth-mutual-psk:$base
n:phase1-dhgroup:2
n:phase1-keylen:256
n:phase1-life-secs:3600
n:phase1-life-kbytes:0
n:vendor-chkpt-enable:0
n:phase2-keylen:0
n:phase2-pfsgroup:2
n:phase2-life-secs:3600
n:phase2-life-kbytes:0
n:policy-nailed:0
n:policy-list-auto:0
s:network-host:$DYNDNS
s:client-auto-mode:pull
s:client-iface:virtual
s:client-ip-addr:$ipvirt
s:client-ip-mask:255.255.255.0
s:network-natt-mode:enable
s:network-frag-mode:enable
n:client-dns-auto:0
s:client-dns-suffix:
s:auth-method:mutual-psk
s:ident-client-type:ufqdn
s:ident-client-data:$userfqdn
s:ident-server-type:address
s:phase1-exchange:aggressive
s:phase1-cipher:aes
s:phase1-hash:sha1
s:phase2-transform:auto
s:phase2-hmac:sha1
s:ipcomp-transform:deflate
s:policy-list-include:$policy.0 / 255.255.255.0
EOF_text
close(DATEI);