FB 7390 --> VPN --> Zywall USG (mehrere Subnetze)

gonzzo

Neuer User
Mitglied seit
28 Mrz 2007
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Hallo,

Eine Verständnisfrage zu VPN (IPsec) und mehreren Subnetzen.

Ich habe eine VPN zwischen 192.168.1.0/255.255.255.0 (FritzBox .1) und 192.168.11.0/255.255.255.0 (ZyWall USG .1) aufgesetzt. Funktioniert alles prächtig. Auf der ZyWall USG Seite ist eine entsprechende Policy Route definiert die allen Verkehr zu 192.168.1.0 über den Tunnel zur Fritzbox routet.

Nun habe ich auf der ZyWall USG Seite noch weitere Subnetze (192.168.10.0, 192.168.12.0, 192.168.13.0 und 192.168.15.0) und möchte die von der FritzBox Seite erreichbar machen. Was muss ich tun?

Eine Statische Route kann ich nicht konfigurieren. Zum Beispiel wird eine Route nach 192.168.15.0/255.255.255.0 über 192.168.11.1 im FB GUI als "Die Route ist nicht zulässig" angezeigt.

Nicht ganz klar ist mir die Rolle von "accesslist" in der FB Konfigurationsdatei. Ich nehme an dass accesslist nur aussagt dass dies die Netze sind für die sich die Fritzbox lokal "zuständig" fühlt? Nur zum Testen habe ich die zusätzlichen Netze auf der ZyWall Seite in der FP Konfigurationsdatei eingefügt:
Code:
accesslist = "permit ip any 192.168.11.0 255.255.255.0",
                 "permit ip any 192.168.12.0 255.255.255.0",
                 "permit ip any 192.168.13.0 255.255.255.0",
                 "permit ip any 192.168.15.0 255.255.255.0",
                 "permit ip any 192.168.10.0 255.255.255.0";
Resultat: Funktioniert nicht, aber ich war mir ziemlich sicher dass dies eh falsch war.

Irgendwie muss ich der Fritzbox doch sagen können dass die Netze .10,.12,.13 und .15 auf der anderen Seite des .11 VPN Tunnels sind.

Wie mache ich das? Auf der ZyWall USG Seite war das eine simple Policy Route.

Meine Momentane Konfigurationsdatei (ohne meine echten IP's :-) ist angehängt.
Danke für jeden Top.
Dan


Code:
vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "Fritzbox_2_ZyWall_3";
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = <ZyWall USG IP steht hier>;
                remote_virtualip = 0.0.0.0;
                localid {
                        fqdn = <DDNS Name der Fritzbox steht hier>;
                }
                remoteid {
                        ipaddr = <ZyWall USG IP steht hier>;
                }
                mode = phase1_mode_aggressive;
                phase1ss = "alt/aes-3des/sha";
                keytype = connkeytype_pre_shared;
                key = "hier-steht-mein-secret-key";
                cert_do_server_auth = no;
                use_nat_t = no;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.1.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.11.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip any 192.168.11.0 255.255.255.0",
				"permit ip any 192.168.12.0 255.255.255.0",
				"permit ip any 192.168.13.0 255.255.255.0",
				"permit ip any 192.168.15.0 255.255.255.0",
				"permit ip any 192.168.10.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
 
Die Idee mit "accesslist" ist eigentlich richtig ... hast Du denn mal geprüft, daß von der FRITZ!Box-Seite bei geänderter "accesslist" tatsächlich keine Pakete bei der Zywall ankommen?

Die bisherige Interpretation der "accesslist" ist es eigentlich (man möge mich korrigieren, wenn ich das falsch sehe), daß diese nur als "Selektor" für den per IPSec zu verschlüsselnden Verkehr dient. Und damit wäre Dein Ansatz eben genau der richtige ...

Wenn die FRITZ!Box dann für die beteiligten Clients auf ihrer Seite auch noch das Standard-Gateway ist, dann sollte dieser Verkehr eigentlich eingepackt und zur Zywall gesendet werden.

Die Kontrolle auf der FRITZ!Box-Seite ist einfach ... man macht unter "capture.lua" einen Paketmitschnitt von der "Routing-Schnittstelle" und von der "1. Internet-Verbindung". Auf der "Routing-Schnittstelle" sind die Pakete an 192.168.1[0-35].0/24 noch unverschlüsselt zu sehen und für jedes dieser unverschlüsselten Pakete müßte sich auf der "1. Internet-Verbindung" jeweils ein korrespondierendes verschlüsseltes Paket an die öffentliche Adresse der Zywall finden lassen.

EDIT: Da der "avmike" ClosedSource ist, kann man über die Bedeutung der Datei /var/vpnroutes auch nur Vermutungen anstellen ... aber nach meinem Wissen wird diese nicht wirklich für das Routing herangezogen und dient nur dazu, anderen Komponenten der Firmware die Unterscheidung zwischen "öffentlichem Internet" und VPN-Netzen zu ermöglichen, da aus Sicht der Firmware diese Netze alle hinter "dev dsl" liegen.

PS: Deine Konfigurationsdatei ist aber auch nicht uninteressant. Wenn diese so erst einmal funktioniert, ist sie der Beweis, daß auch eine Kombination der möglichen Selektoren für Phase1 (bei Dir einmal FQDN und einmal IP-Adresse) funktioniert. Ich halte mal die Angaben aus Deiner Signatur dazu noch fest, wenn diese falsch sind, korrigiere mich bitte. Es ist aber auch wichtig, daß diese Angaben explizit im Text stehen, denn eine nachträgliche Änderung Deiner Signatur wird auch für diesen Thread wirksam. Im Moment steht in der Signatur: FRITZ!Box 7390 mit Firmware 06.20 - und die Kombination der Selektoren funktioniert nach Deinen Angaben bei dieser Firmware.
 
Zuletzt bearbeitet:
Hallo PeterPawn,
Danke für die Tips.
Ich sehe tatsächlich die ICPM Pakete in der Routing-Schnittstelle und ebenso equivalente EPS Packete auf der Internetverbindung (ich kann die zwei capture Dateien in WireShark aus irgendeinem Grund nicht mergen, aber ich habe die absolute Zeit der Pakete verglichen). Also muss ich mal einen Packetmitschnitt auf der ZyWall Seite machen.

Die Konfigurationsdatei wie sie oben drin ist funktioniert soweit, aber nur zwischen Netz 192.168.1.0 (Fritzbox) und Netz 192.168.11.0 (ZyWall). Auf der Zywall Seite ist noch eine Policy Route aufgesetzt welche allen Traffic von allen lokalen Schnittstellen/Subnets/Vlans, etc) für 192.168.1.0 in den entsprechenden Tunnel zur Fritzbox leitet. Darum denke ich auch dass ich eigentlich auf der Zywall Seite keine zusätzliche Route brauche. Aber ich mach mal erst den Trace.

Meine FB Firmware ist tatsächlich 06.20.
Der Grund für die Konfiguration ist dass die Zywall entweder eine fixe IP der Fritzbox will (hab ich nicht) oder dann eine Synamische Adresse, ohne dass man eine Adresse eingeben kann. Das Resultat ist dass die VPN nur von der Fritzbox Seite her aufgebaut werden kann. In dem Zusammenhang interessiert mich eigentlich auch noch ein Parameter der die Verbindung von der Fritzbox seite aufrechterhält. Irgendwas mit "Keep_Alive".. gibts sowas? Sowieso, gibts irgendwo eine detaillierte Erklärung der möglichen Parameter einer Fritzbox VPB Konfigurationsdatei?

Die Pase Settings auf der USG sind übrigends wie folgt (ich wollte die Verbindung zuerst mal zum laufen bringen):
Phase 1: Negotiation: Aggressive, Proposal: 3DES/SHA1
Phase 2: Active Protocol: ESP, Encapsulation: Tunnel, Proposal: 1 - AES256/SHA1 2 - 3DES/SHA1, PFS DH2

Das Logging auf der USG Seite ist für mich etwas kryptisch... deshalb bin ich nicht ganz sicher welche Verschlüsselung tatsächlich gewählt wurde. Ich denke aber es ist AES256/SHA1 für Phase2.

Interessant ist folgender Logging Eintrag unter ipsec auf der USG:
2015-04-06 13:57:45 error IPSec SPI:0x0 SEQ:0x0 No rule found, Dropping packet [count=3] 192.168.12.10 192.168.1.224 ipsec

Daraus würde ich schliessen dass das Ping Packet tatsächlich bei der USG ankommt (ich habe von 192.168.1.224 aus die Adresse 192.168.12.10 gepingt), diese aber nicht genau weiss was damit anfangen...

Mal schauen.


Dan
 
In dem Zusammenhang interessiert mich eigentlich auch noch ein Parameter der die Verbindung von der Fritzbox seite aufrechterhält.
Der benötigte Parameter heißt "keepalive_ip" und nimmt als Wert die IP-Adresse eines Hosts auf der Gegenseite. Wenn der existiert, schadet es zwar nichts, aber die Box macht nach meinen Tests auch die Meinung "Verbindung steht" nicht von einer Antwort abhängig. Die Vitalität der VPN-Verbindung wird mit DPD geprüft.

Sowieso, gibts irgendwo eine detaillierte Erklärung der möglichen Parameter einer Fritzbox VPB Konfigurationsdatei?
Keine Ahnung, aber so kryptisch sind die Namen der Parameter eigentlich nicht und mit etwas Entdeckerfreude kann man die Bedeutung/Auswirkung der einzelnen Parameter erkunden.

Ich denke aber es ist AES256/SHA1 für Phase2.
Irgendwo habe ich mal gelesen (hier im IPPF, aber frag' nicht nach dem Thread, ich weiß es nicht mehr), daß der "avmike" Probleme mit AES256 haben soll, die mit AES128 nicht auftreten. Ob das tatsächlich stimmt, kann ich persönlich nicht bestätigen, bei mir klappt AES256 gegen "racoon" problemlos.

PS: Wenn die Zywall die Absenderadresse 192.168.1.224 "sieht", dann ist das Paket ja schon mal übertragen und auch ordnungsgemäß entschlüsselt worden, damit sollte das nur noch ein Routing-Problem auf dieser Seite sein.
 
Zuletzt bearbeitet:
Danke. Ich werde keepalive_ip in die Konfiguration einpflegen wenn ich das Multi-Subnetz Problem gelöst habe. Anscheinend muss ich keepalive_ip in der Fritzbox konfigurieren weil sonst die Verbindung bei nichtgebrauch abgebaut wird. Aufbauen kann ich sie wegen der Dynamischen IP ja nur von der Fritzbox Seite aus.
Es sei denn das geht mit einem anderen Parameter? Jedenfalls kann ich auf der USG Seite bei einem Peer mit Dynamischer IP (eben meine Fritzbos) das Flag "Nailed up" nicht setzen. Aber vielleicht gibts einen "nailed_up = true" Befehl in der Fritzbox Konfiguration?


Das "Routing Problem" auf der USG Seite gibt mir immer noch zu denken. Anscheinend (laut einem Artikel im Zyxel Forum: http://www.zyxelforum.de/viewtopic.php?f=53&t=3239) muss ich die LocalPolicy richtig einstellen (wahrscheinlich in etwa das equivalent von "accesslist"?). Das Problem artet dann aber aus, denn wenn ich die Local Policy ändere, dann erhalte ich auf der USG den Fehler "Phase 2 Local policy mismatch". Auf der Fritzbox Seite zeigt sich das dann als IKE-Error 0x2026 "no proposal chosen". Also müsste ich wohl etwas in der Fritzbox Konfiguration anpassen? Nur, was?

Im Moment weiss ich grad nicht weiter...

Dan
 
Zuletzt bearbeitet:
Wenn ich das richtig sehe, sind alle Netze abseits der FRITZ!Box ja größer als 192.168.8.0/24. Dann müßtest Du ja eigentlich auch mit einem "ipnet" für Remote von 192.168.8.0/21 in der VPN-Konfiguration der FRITZ!Box zurecht kommen.

Wenn dann die Zywall das auf ihrer Seite auch so macht (also für sich lokal ein solches Netz konfiguriert), dann sollte auch Phase2 wieder klappen. Wenn Du nicht noch irgendwelche Randbedingungen in Form weiterer Netze "unterschlagen" hast, müßte sich das ja so lösen lassen.

Die "accesslist" der FRITZ!Box könntest Du dann natürlich auch auf "192.168.8.0 255.255.248.0" verkürzen.
 
Zuletzt bearbeitet:
Nach deinen Angaben habe ich jetzt dir Fritzbox umkonfiguriert und auch die USG Seite. Tatsächlich kann die VPN Verbindung aufgebaut werden. Im Moment allerdings nur mit esp/3des/sha1. Aber daran werde ich noch arbeiten.
Ich kann vom 192.168.1.0 Netz jeweils die Router Interfaces 192.168.10.1, 192.168.11.1, etc erfolgreich pingen.
Nur ins Netz dahinter komme ich bei keinem. Dafür jede Menge
2015-04-06 13:57:45 error IPSec SPI:0x0 SEQ:0x0 No rule found, Dropping packet
Und das auch von Geräten, zum BNeispiel im Netz 11 welche ich nicht anpinge. Es sind aber Drucker die ich auf meinem PC aufgesetzt habe.

Ich kann also daraus schliessen dass der Traffic vom Netz 1 tatsächlich im Netz 11 (und in den anderen Netzen) ankommt. Nur der Rückweg ist noch nicht freigemacht.

Nachtrag: Und auch das habe ich jetzt gelöst. Die USG Policy Route für den Rückweg war noch auf ein anderes Connection Profil aufgesetzt. Jetzt funktioniert es tadellos.
Zum Testen werde ich jetzt noch gleich die andere Lösung ausprobieren. Dass ich die falsche Policy Route hatte wurmt mich etwas.. vielleicht gehts auch einfacher? Mal sehen.
 
Zuletzt bearbeitet:
Von der Zywall-Konfiguration habe ich keine Ahnung, damit kann ich da auch definitiv nicht weiterhelfen, solange es nicht um VPN-Theorie geht.

Da das ja aber inzwischen auch mehr in Richtung Zyxel geht, bist Du wahrscheinlich (ich weiß nicht, ob hier noch Leute mit entsprechender Erfahrung mitlesen) in einem anderen Unterforum oder sogar auf einer anderen Web-Präsenz (Link hast Du ja selbst schon angegeben) besser aufgehoben.

Ich drücke Dir die Daumen und bin dann hier raus ...
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,876
Beiträge
2,303,712
Mitglieder
378,542
Neuestes Mitglied
viktor1181