ubuntuusers.de

ipsec VPN Tunnel Fritzbox -> OpenSwan

Status: Ungelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

wrathstorm

Anmeldungsdatum:
6. März 2012

Beiträge: 35

Hey Leute,

ich bin im Moment dabei einen ipsec Tunnel zwischen einer Fritzbox und einem OpenSwan Server zu konfigurieren. Der OpenSwan Server läuft auf einer Nethserver Installation und diese wiederrum in einer Virtuellen Maschine auf einem Proxmox Node.

Der Nethserver dient als Router in meinem Heimnetzwerk und hängt direkt an einer Glasfaser Leitung mit dyndns. Die Fritzbox hängt an einem normalen 16.000er DSL Anschluss der Telekom, ebenfalls mit dyndns.

Hier meine Konfiguration (NS = Nethserver):

/etc/ipsec.conf

# basic configuration

config setup
        # Debug-logging controls:  "none" for (almost) none, "all" for lots.
        # klipsdebug=none
        # plutodebug="control parsing"
        # For Red Hat Enterprise Linux and Fedora, leave protostack=netkey
        protostack=netkey
        nat_traversal=yes
        virtual_private=%v4:192.168.179.0./24,%v4:192.168.177.0./24
        oe=off
        # Enable this if you see "failed to find any available worker"
        # nhelpers=

conn Site-to-Site
        authby=secret
        auto=add
        type=tunnel
        aggrmode=yes
        left= NS PUBLIC IP
        leftid= NS DYNDNS FQDN
        leftnexthop=%defaultroute
        leftsourceip=192.168.177.21
        leftsubnet=192.168.177.0/24
        right=%any
        rightsubnet=192.168.179.0/24
        rightid= FRITZBOX DYNDNS FQDN
        ike=aes256-sha1;modp2048
        phase2=esp
        phase2alg=aes256-sha1;modp2048

/etc/ipsec.secrets

NS PUBLIC IP %any: PSK "PRE-SHARED-KEY"

Fritzbox config:

vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "NS FQDN";
                always_renew = yes;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = PUBLIC IP NS;
                remote_virtualip = 0.0.0.0;
                localid {
                        fqdn = "FRITZBOX FQDN";
                }
                remoteid {
                        fqdn = "NS FQDN";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "PRE SHARED KEY";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = yes;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.179.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.177.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip any 192.168.177.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

Es wird aber keine Verbindung aufgebaut. Im Logfile vom OpenSwan Server steht das hier:

Sep 26 12:44:34 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [XAUTH]
Sep 26 12:44:34 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [Dead Peer Detection]
Sep 26 12:44:34 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [RFC 3947]
Sep 26 12:44:34 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03]
Sep 26 12:44:34 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring unknown Vendor ID payload [a2226fc364500f5634ff77db3b74f41b]
Sep 26 12:44:34 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: initial Aggressive Mode message from 79.235.28.32 but no (wildcard) connection has been configured with policy PSK+AGGRESSIVE+IKEV1_ALLOW
Sep 26 12:44:36 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [XAUTH]
Sep 26 12:44:36 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [Dead Peer Detection]
Sep 26 12:44:36 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [RFC 3947]
Sep 26 12:44:36 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03]
Sep 26 12:44:36 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring unknown Vendor ID payload [a2226fc364500f5634ff77db3b74f41b]
Sep 26 12:44:36 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: initial Aggressive Mode message from 79.235.28.32 but no (wildcard) connection has been configured with policy PSK+AGGRESSIVE+IKEV1_ALLOW
Sep 26 12:44:40 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [XAUTH]
Sep 26 12:44:40 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [Dead Peer Detection]
Sep 26 12:44:40 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [RFC 3947]
Sep 26 12:44:40 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03]
Sep 26 12:44:40 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring unknown Vendor ID payload [a2226fc364500f5634ff77db3b74f41b]
Sep 26 12:44:40 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: initial Aggressive Mode message from 79.235.28.32 but no (wildcard) connection has been configured with policy PSK+AGGRESSIVE+IKEV1_ALLOW
Sep 26 12:44:48 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [XAUTH]
Sep 26 12:44:48 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [Dead Peer Detection]
Sep 26 12:44:48 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: received Vendor ID payload [RFC 3947]
Sep 26 12:44:48 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03]
Sep 26 12:44:48 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: ignoring unknown Vendor ID payload [a2226fc364500f5634ff77db3b74f41b]
Sep 26 12:44:48 NET01 pluto[8477]: packet from PUBLIC IP FRITZBOX: initial Aggressive Mode message from 79.235.28.32 but no (wildcard) connection has been configured with policy PSK+AGGRESSIVE+IKEV1_ALLOW

Diese Meldung wird ca. alle 10 Sekunden in die Logfile geschrieben. Kann mir jemand sagen woran das liegt?

wrathstorm

(Themenstarter)

Anmeldungsdatum:
6. März 2012

Beiträge: 35

Okay habs schon hinbekommen. Bei mir läuft es mit folgenden Konfigs:

Fritzbox-VPN.cfg

vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "ANY-NAME";
                always_renew = yes;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip =  PUBLIC IP ADRESS OF OPENSWAN SERVER;
                remote_virtualip = 0.0.0.0;
                localid {
                        fqdn = "FQDN (in my case DYNS) OF FRITZBOX";
                }
                remoteid {
                        ipaddr = "FQDN (in my case DYNS) OF OPENSWAN SERVER (Nethserver)";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "RANDOM PRE SHARED KEY";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = yes;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.179.0;			//LOCAL IPADRESS OF FRITZBOX LAN
                                mask = 255.255.255.0;			//LOCAL SUBNETMASK OF FRITZBOX LAN
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.177.0;			//LOCAL IPADRESS OF OPENSWAN LAN
                                mask = 255.255.255.0;			//LOCAL SUBNETMASK OF OPENSWAN LAN
                        }
                }
                phase2ss = "esp-aes256-3des-sha/ah-all-sha/comp-lzs-no/pfs";
                accesslist = "permit ip any 192.168.177.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

/etc/ipsec.conf

config setup
        # Debug-logging controls:  "none" for (almost) none, "all" for lots.
        # klipsdebug=none
        # plutodebug="control parsing"
        # For Red Hat Enterprise Linux and Fedora, leave protostack=netkey
        protostack=netkey
        nat_traversal=yes
        virtual_private=%v4:192.168.179.0./24,%v4:192.168.177.0./24
        oe=off
        # Enable this if you see "failed to find any available worker"
        # nhelpers=

conn Site-to-Site
        authby=secret
        auto=add
        type=tunnel
        aggrmode=yes
        left=PUBLIC IP ADRESS OF OPENSWAN SERVER
        leftid= FQDN OF OPENSWAN SERVER (IMPORTANT: put a @ in fron of. Example: @my.dyndns.com)
        leftnexthop=%defaultroute
        leftsourceip=LOCAL IP ADRESS AT OPENSWAN LAN
        leftsubnet=192.168.177.0/24
        right=%any
        rightsubnet=192.168.179.0/24
        rightid=FQDN OF FRITZBOX (IMPORTANT: put a @ in fron of. Example: @my.dyndns.com)
        ike=aes256-sha1;modp1024
        phase2=esp
        phase2alg=aes256-sha1;modp1024

Dann noch drauf achten, dass in der /etc/sysctl.conf der Eintrag gemacht wurde:

net.ipv4.ip_forward = 1

donulfo

Anmeldungsdatum:
29. Dezember 2016

Beiträge: 3

Hi wrathstorm,

danke dir für den Post! ich habe nur eine Frage dazu...

und zwar hast du ja auch an beiden Seiten DynDNS

Was trägst du in der ipsec.conf bei folgender Zeile ein ?

left=PUBLIC IP ADRESS OF OPENSWAN SERVER

ebenso bei ipsec.secrets ?

Die DynDNS Adresse ? Und falls ja mit @ oder ohne ?

Grüße und schonmal Danke, donulfo

wrathstorm

(Themenstarter)

Anmeldungsdatum:
6. März 2012

Beiträge: 35

Hi donulfo,

leider habe ich diesen Thread nicht mehr ganz Aktuell gehalten. An dieser Stelle habe ich "left=%defaultroute" eingetragen (ohne die Anführungszeichen").

Hier nochmal meine aktuelle ipsec.conf:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
config setup
         # Debug-logging controls:  "none" for (almost) none, "all" for lots.
         # klipsdebug=none
         # plutodebug="control parsing"
         # For Red Hat Enterprise Linux and Fedora, leave protostack=netkey
         protostack=netkey
         nat_traversal=yes
         virtual_private=%v4:192.168.179.0./24,%v4:192.168.177.0./24
         oe=off
         # Enable this if you see "failed to find any available worker"
         # nhelpers=
 
 conn Site-to-Site
         authby=secret
         auto=add
         type=tunnel
         aggrmode=yes
         left=%defaultroute
         leftid=@MYDYNDNS
         leftnexthop=%defaultroute
         leftsourceip=192.168.177.21 //FREIE IP IN MEINEM NETZWERK
         leftsubnet=192.168.177.0/24 //MEIN NETZ
         right=%any
         rightsubnet=192.168.179.0/24 //GEGENSEITIGES NETZ
         rightid=@GEGENSEITIGER DYDNS NAME
         ike=aes256-sha1;modp1024
         phase2=esp
         phase2alg=aes256-sha1;modp1024

Meine ipsec.secrets sieht so aus:

1
%any %any: PSK "SECRETKEY"

donulfo

Anmeldungsdatum:
29. Dezember 2016

Beiträge: 3

hi wrathstorm,

danke Dir für deine Nachricht.

Die Fritz Config ist immer noch diesselbe wie im zweiten Post ?

Stand jetzt bekomme ich dieselben Fehlermeldungen wie du zu Beginn:

ignoring unknown Vendor ID payload
 
und

...but no (wildcard) connection has been configured with policy=PSK+AGGRESSIVE

Grüße, donulfo

wrathstorm

(Themenstarter)

Anmeldungsdatum:
6. März 2012

Beiträge: 35

Ach sorry das ist auch eine ältere! Das liegt vermutlich an den Verschlüsselungsmethoden. Hier meine aktuelle fritzbox config:

vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "MYDNS.no-ip.org";
                always_renew = yes;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 0.0.0.0;
		remotehostname = "MYDNS.no-ip.org";
                localid {
                        fqdn = "OTHERSITEDNS.no-ip.org";
                }
                remoteid {
                        ipaddr = "MYDNS.no-ip.org";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "f4y]1fc98a01ed1d+caKc7iK!c402fda1";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = yes;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.179.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.177.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-aes256-3des-sha/ah-all-sha/comp-lzs-no/pfs";
                accesslist = "permit ip any 192.168.177.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

donulfo

Anmeldungsdatum:
29. Dezember 2016

Beiträge: 3

Perfekt - Danke Dir. Hab den Tunnel nun zum Laufen bekommen...

Jetzt besteht nur noch das Problem, dass die FritzBox Seite bei mir auf der Firewall dann mit der externen IP erscheint.

Ping vom FritzBox Netzwerk auf lokale IP des OpenSwan Servers → Ping wird geblockt, da als IP die externe public IP vom FritzBox Netz kommt.

Hast du da evtl. noch ne Idee dazu ?

Dank dir schonmal für deine bisherige Unterstützung!

DonUlfo

wrathstorm

(Themenstarter)

Anmeldungsdatum:
6. März 2012

Beiträge: 35

Ich meine du brauchst noch eine Regel in deinen iptables. Sowas:

1
iptables -t nat -I POSTROUTING -s <loakles IP Netz des openswan Servers, inklusive Netzmaske> -d <loakles IP Netz der FB, inklusive Netzmaske> -j ACCEPT

Habe ich von https://elcravo-networks.eu/security-tipps/details/ipsec-vpn-zwischen-openswan-und-einer-fritz-box-unter-centos-6/

Antworten |