Archiv verlassen und diese Seite im Standarddesign anzeigen : IPSec Problem
Hi,
ich habe ein kleines Problemchen mit FreeS/WAN Version 2.04 + x509 Zerts.
- System Debian
- FreeS/WAN selbst kompiliert (Kernel + Programme)
Besonders das hier ist mir schleierhaft:
Nov 18 18:41:32 name1 pluto[1812]: "packetdefault": prepare-client output: /usr/local/lib/ipsec/_updown: `ip route del 0.0.0.0/1 2>&1 ; ip route del 128.0.0.0/1 2>&1' failed (/usr/local/lib/ipsec/_updown: ip: command not found
Nov 18 18:41:32 name1 pluto[1812]: "packetdefault": prepare-client output: /usr/local/lib/ipsec/_updown: ip: command not found)
Nov 18 18:41:32 name1 pluto[1812]: "packetdefault": prepare-client command exited with status 127
Nov 18 18:41:32 name1 pluto[1812]: "packetdefault": route-client output: /usr/local/lib/ipsec/_updown: ip: command not found
Nov 18 18:41:32 name1 pluto[1812]: "packetdefault": route-client output: /usr/local/lib/ipsec/_updown: `ip route add 0.0.0.0/1 via 192.168.0.1 dev ipsec0 && ip route add 128.0.0.0/1 via 192.168.0.1 dev ipsec0' failed
Nov 18 18:41:32 name1 pluto[1812]: "packetdefault": route-client command exited with status 127
Nov 18 18:41:32 name1 pluto[1812]: "private-or-clear#0.0.0.0/0": prepare-host output: /usr/local/lib/ipsec/_updown: `ip route del 0.0.0.0/1 2>&1 ; ip route del 128.0.0.0/1 2>&1' failed (/usr/local/lib/ipsec/_updown: ip: command not found
Nov 18 18:41:32 name1 pluto[1812]: "private-or-clear#0.0.0.0/0": prepare-host output: /usr/local/lib/ipsec/_updown: ip: command not found)
Nov 18 18:41:32 name1 pluto[1812]: "private-or-clear#0.0.0.0/0": prepare-host command exited with status 127
Nov 18 18:41:32 name1 pluto[1812]: "private-or-clear#0.0.0.0/0": route-host output: /usr/local/lib/ipsec/_updown: ip: command not found
Nov 18 18:41:32 name1 pluto[1812]: "private-or-clear#0.0.0.0/0": route-host output: /usr/local/lib/ipsec/_updown: `ip route add 0.0.0.0/1 via 192.168.0.1 dev ipsec0 && ip route add 128.0.0.0/1 via 192.168.0.1 dev ipsec0' failed
Nov 18 18:41:32 name1 pluto[1812]: "private-or-clear#0.0.0.0/0": route-host command exited with status 127
Detallierte Logs + Config siehe Anhang (barf.txt)
Wäre nett wenn da jemand weiterhelfen kann.
Grüße
DaGrrr
Hi!
Das ist diese ganze Opportunistic Encryption Sch***e, die Du nich haben möchtest.
Mach mal folgendes in Deine ipsec.conf rein:
## OE ausschalten
conn block
auto=ignore
conn private
auto=ignore
conn private-or-clear
auto=ignore
conn clear-or-private
auto=ignore
conn clear
auto=ignore
conn packetdefault
auto=ignore
.. sonst schaut's gut aus ;)
Manx
Huch, so schnell? :)
ok, ich werde es bei beiden Gegenstellen einbauen.
thx.
Grüße
DaGrrr
Hallo,
die Verbindung "scheint" zu klappen, jedenfalls wirft ein
ipsec auto --status ein "IKEMP SA ethablished" aus, wenn ich vorher ein
ipsec auto --up name-name1 ausgegührt habe.
cat /proc/net/dev wirft wie im Beispiel (barf.txt, siehe oben)
nur Datenpakete über eth0, nicht aber über ipsec0.
Wie kann ich FreeS/WAN nun sagen, dass er über ipsec0 die Pakete senden / empfangen soll?
Eine Firewall habe ich noch nicht aufgesetzt.
Der Aufbau sieht so aus:
Gateway1---Router---Gateway2
Es soll ein Tunnem von Gateway1 zu Gateway2 und umgekehrt aufgebaut werden.
Der Router simuliert in meinem Fall das "Internet", auf dem ich dann auch mitsniffe ob alles
verschlüsselt ist.
Das Routing funktioniert.
Weiß wer Rat?
Grüße
DaGrrr
Frage aus Deiner PN:
Bin gerade etwas erschrocken, weil ich nen bissel was zu openvpn gelesen habe...
braucht man GRE und das tun/tap-Device im Kernel ?
Nein/Nein, die IPSEC Sachen reichen aus.
> Wie kann ich FreeS/WAN nun sagen, dass er über ipsec0 die Pakete senden / empfangen soll?
... das ergibt sich normalerweise von allein, wenn Du z.B selber in einem 192er LAN sitzt und durch's Internet ein 10er ereichen willst, geht's halt ohne VPN gar nicht.
Aber poste mal eine Zusammenstellung der IPs aller Beteiligten, eventuell noch die "route"-Ausgabe beider VPN-Gateways.
... so long
Manx
Aber poste mal eine Zusammenstellung der IPs aller Beteiligten, eventuell noch die "route"-Ausgabe beider VPN-Gateways.
Gateway1
eth0 192.168.0.5 ipsec0 192.168.0.5
|
|
eth0 192.168.0.10
Router
eth1 192.168.1.10
|
|
Gateway2
eth0 192.168.1.5 ipsec0 192.168.1.5
genauere Angaben kann ich erst Morgen geben.
Danke dir schonmal ;)
Grüße
DaGrrr
Hier mal die Route von Gateway2:
192.168.2.0 * 255.255.255.0 U 0 0 0 eth1
localnet * 255.255.255.0 U 0 0 0 eth0
localnet * 255.255.255.0 U 0 0 0 ipsec0
default 192.168.1.10 0.0.0.0 UG 0 0 0 eth0
Gateway 1:
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 ipsec0
default 192.168.0.10 0.0.0.0 UG 0 0 0 eth0
(eth1 ist noch net konfiguriert, Kernel)
Grüße
DaGrrr
Hi & guten Morgen ;)
Ich hatte meine ersten FreeS/WAN Versuche auch im LAN gemacht.
Folgendes wäre noch interessant. Wie schauen Deine ipsec.conf_s aus?
Möchtest Du ein host2host VPN, oder ein net2net, oder eben host2net erreichen.
Denn Du solltest bei bestehender ipsec-Verbindung einen zusätzlichen route-Eintrag bekommen. Angenommen host2host: Gateway 1
ohne VPN-Verbindung ca. so
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 ipsec0
default 192.168.0.10 0.0.0.0 UG 0 0 0 eth0
nach ipsec auto --add (oder --up bei auto=add) connection-name ca. so
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.1.5 192.168.0.10 255.255.255.0 UG 0 0 0 ipsec0 ### <= VPN Endpunkt
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 ipsec0
default 192.168.0.10 0.0.0.0 UG 0 0 0 eth0
Grüße
Manx
Ich teste das ganze im LAN und später sollen die beiden als Firewall im Internet stehen und einen Tunnel aufabuen.
Wenn ich mit ipsec auto --up name-name1 eine
Vebindung aufbaue, dann bekomme ich keinen zusätzlichen route-Eintrag. :(
Wo könnte das Problem liegen?
... beide ipsec.conf_s posten ;)
Manx
Beide configs sind gleich:
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
# Debug-logging controls: "none" for (almost) none, "all" for lots.
klipsdebug=none
plutodebug=none
interfaces=%defaultroute
uniqueids=yes
conn name-name1
type=tunnel
authby=rsasig
left=192.168.0.5
leftsubnet=192.168.1.0/24
leftnexthop=192.168.0.10
leftrsasigkey=%cert
leftid="C=DE/ST=Domain IT/O=Domain1.com/OU=IT/CN=name.Domain.com/emailAddress=user@Domain.com"
rightrsasigkey=%cert
leftcert=name-cert.pem
rightcert=name1-cert.pem
right=192.168.1.5
rightsubnet=192.168.2.0/24
rightnexthop=192.168.1.10
rightid="C=DE/ST=Domain IT/O=Domain.com/OU=IT/CN=name1.Domain.com/emailAddress=user@Domain.com"
auto=add
keyingtries=1
compress=yes
pfs=yes
conn block
auto=ignore
conn private
auto=ignore
conn private-or-clear
auto=ignore
conn clear-or-private
auto=ignore
conn clear
auto=ignore
conn packetdefault
auto=ignore
/var/auth.log sagt:
Nov 20 12:30:32 name1 ipsec__plutorun: Starting Pluto subsystem...
Nov 20 12:30:33 name1 pluto[312]: Starting Pluto (FreeS/WAN Version 2.04 X.509-1.4.8 PLUTO_USES_KEYRR)
Nov 20 12:30:33 name1 pluto[312]: Using KLIPS IPsec interface code
Nov 20 12:30:34 name1 pluto[312]: Changing to directory '/etc/ipsec.d/cacerts'
Nov 20 12:30:34 name1 pluto[312]: loaded cacert file 'cacert.pem' (1708 bytes)
Nov 20 12:30:34 name1 pluto[312]: Changing to directory '/etc/ipsec.d/crls'
Nov 20 12:30:34 name1 pluto[312]: Warning: empty directory
Nov 20 12:30:34 name1 pluto[312]: loaded host cert file '/etc/ipsec.d/certs/name-cert.pem' (5095 bytes)
Nov 20 12:30:34 name1 pluto[312]: loaded host cert file '/etc/ipsec.d/certs/name1-cert.pem' (5095 bytes)
Nov 20 12:30:34 name1 pluto[312]: added connection description "name-name1"
Nov 20 12:30:34 name1 pluto[312]: listening for IKE messages
Nov 20 12:30:34 name1 pluto[312]: adding interface ipsec0/eth0 192.168.1.5
Nov 20 12:30:34 name1 pluto[312]: loading secrets from "/etc/ipsec.secrets"
Nov 20 12:30:34 name1 pluto[312]: loaded private key file '/etc/ipsec.d/private/name1-key.pem' (1751 bytes)
Nov 20 12:30:49 name1 pluto[312]: "lg-riga" #1: initiating Main Mode
Nov 20 12:30:49 name1 pluto[312]: "lg-riga" #1: Peer ID is ID_DER_ASN1_DN: 'C=DE, ST=Domain IT, O=Domain.com, OU=IT, CN=name.Domain.com, E=user@Domain.com'
Nov 20 12:30:49 name1 pluto[312]: "name-name1" #1: issuer crl not found
Nov 20 12:30:49 name1 pluto[312]: "name-name1" #1: issuer crl not found
Nov 20 12:30:49 name1 pluto[312]: "name-name1" #1: ISAKMP SA established
Nov 20 12:30:49 name1 pluto[312]: "name-name1" #2: initiating Quick Mode RSASIG+ENCRYPT+COMPRESS+TUNNEL+PFS+UP {using isakmp#1}
Nov 20 12:30:50 name1 pluto[312]: "name-name1" #2: prepare-client output: /usr/local/lib/ipsec/_updown: `ip route del 192.168.3.0/24 2>&1' failed (/usr/local/lib/ipsec/_updown: ip: command not found)
Nov 20 12:30:50 name1 pluto[312]: "name-name1" #2: prepare-client command exited with status 127
Nov 20 12:30:50 name1 pluto[312]: "name-name1" #2: route-client output: /usr/local/lib/ipsec/_updown: ip: command not found
Nov 20 12:30:50 name1 pluto[312]: "name-name1" #2: route-client output: /usr/local/lib/ipsec/_updown: `ip route add 192.168.3.0/24 via 192.168.1.10 dev ipsec0' failed
Nov 20 12:30:50 name1 pluto[312]: "name-name1" #2: route-client command exited with status 127
Nov 20 12:31:00 name1 pluto[312]: "name-name1" #2: prepare-client output: /usr/local/lib/ipsec/_updown: `ip route del 192.168.3.0/24 2>&1' failed (/usr/local/lib/ipsec/_updown: ip: command not found)
Nov 20 12:31:00 name1 pluto[312]: "name-name1" #2: prepare-client command exited with status 127
Nov 20 12:31:00 name1 pluto[312]: "name-name1" #2: route-client output: /usr/local/lib/ipsec/_updown: ip: command not found
Nov 20 12:31:00 name1 pluto[312]: "name-name1" #2: route-client output: /usr/local/lib/ipsec/_updown: `ip route add 192.168.3.0/24 via 192.168.1.10 dev ipsec0' failed
Nov 20 12:31:00 name1 pluto[312]: "name-name1" #2: route-client command exited with status 127
Nov 20 12:31:14 name1 pluto[312]: "name-name1" #3: responding to Quick Mode
Nov 20 12:31:20 name1 pluto[312]: "name-name1" #2: prepare-client output: /usr/local/lib/ipsec/_updown: `ip route del 192.168.3.0/24 2>&1' failed (/usr/local/lib/ipsec/_updown: ip: command not found)
Nov 20 12:31:20 name1 pluto[312]: "name-name1" #2: prepare-client command exited with status 127
Nov 20 12:31:20 name1 pluto[312]: "name-name1" #2: route-client output: /usr/local/lib/ipsec/_updown: ip: command not found
Nov 20 12:31:20 name1 pluto[312]: "name-name1" #2: route-client output: /usr/local/lib/ipsec/_updown: `ip route add 192.168.3.0/24 via 192.168.1.10 dev ipsec0' failed
Nov 20 12:31:20 name1 pluto[312]: "name-name1" #2: route-client command exited with status 127
Nov 20 12:31:24 name1 pluto[312]: "name-name1" #3: discarding duplicate packet; already STATE_QUICK_R1
Nov 20 12:31:43 name1 pluto[312]: "name-name1" #3: discarding duplicate packet; already STATE_QUICK_R1
Nov 20 12:31:59 name1 pluto[312]: "nam-name1" #2: max number of retransmissions (2) reached STATE_QUICK_I1. No acceptable response to our first Quick Mode message: perhaps peer likes no proposal
Nov 20 12:32:24 name1 pluto[312]: "name-name1" #3: max number of retransmissions (2) reached STATE_QUICK_R1
/usr/local/lib/ipsec/_updown ist im angegeben Pfad vorhanden.
Hi!
Beide confs können sinngemäß gleich sein. Ich halte es immer so, dass left der Rechner ist, auf dem die config läuft, obwohl FreeS/WAN da glaub ich nicht so genau ist:
Gateway1:
config setup => o.k eventuell => interfaces="ipsec0=eth0"
...
conn name-name1
type=tunnel
authby=rsasig
left=192.168.0.5
leftsubnet=192.168.0.0/24 ### logisch, da es das subnet bezeichnet in dem sich Gate1 befindet
leftnexthop=192.168.0.10
leftrsasigkey=%cert
leftid="C=DE/ST=Domain IT/O=Domain1.com/OU=IT/CN=name.Domain.com/emailAddress=user@Domain.com"
rightrsasigkey=%cert
leftcert=name-cert.pem
rightcert=name1-cert.pem
right=192.168.1.5
rightsubnet=192.168.1.0/24 ### Netz des Gate2
rightnexthop=192.168.1.10
rightid="C=DE/ST=Domain IT/O=Domain.com/OU=IT/CN=name1.Domain.com/emailAddress=user@xyz.com"
auto=add
keyingtries=1
compress=yes
pfs=yes
Bei Gate2 left und right eventuell anpassen.
Du hast nun eine net2net Verbindung eingerichtet. Dabei könnte es sein, dass Du von einem Gate das andere Gate nicht pingen kannst (siehe FreeSWAN FAQ). Pingen sollte aber von Netz zu Netz möglich sein. Sonst mach ein Host2Net VPN.
Manx
Hi!
Das _updown Script sollte nicht verwendet werden müssen, da es IMHO mit dem ip Kommando arbeitet, das Teil des iproute Paketes ist (Command not found) und iproute für Kernels 2.2.x gedacht ist.
Vielleicht behebt ein interfaces="ipsec0=eth0" die _updown Geschichte.
Manx
Ok, die Änderungen habe ich getätigt.
In der Konsole erscheint nun nach ipsec auto --up name-name1:
112 "name-name1" #2: State_Quick_I1: initiate
010 "name-name1" #2: State_Quick_I1: retransmission; will wait 20s for response
010 "name-name1" #2: State_Quick_I1: retransmission; will wait 40s for response
031 "name-name1" #2: max number of retransmissions (2) reached State_Quick_I1. No acceptable response to our first Quick Mode message: perhaps peer likes no proposal
In auth.log steht unter anderem:
pluto[302]: "name-name1" #1: sent MR3, ISAKMP SA established
pluto[302]: "name-name1" #1 cannont respond to IPSec SA request because no connection is known for 192.168.1.0/24===192.168.1.5[C=DE, ST=Domain IT, ........]===192.168.0.0/24
pluto[302]: "name-name1" #1 Quick Mode I1 message is unacceptable because it uses a previously used Message ID 0x9dd0b6c2 (perhaps this is a duplicated packet)
Hm, sehr seltsam:confused:
Grüße
DaGrrr
> Hm, sehr seltsam :confused:
Nein, das ist gar nicht so schlecht, denn Du bist kurz davor ;)
> no connection is known for 192.168.1.0/24===192.168.1.5[C=DE, ST=Domain IT, ........]===192.168.0.0/24
... dann passt's mit den left, leftsubnet, ... Einstellungen nicht 100%
lesen: http://www.freeswan.org/freeswan_trees/freeswan-2.04/doc/faq.html#noconn
Grüße
Manx
PS: das sind nur mehr kleine Einstellungen. Zu beachten ist immer was es werden soll:
Vielleicht wäre ein host2net VPN mal am einfachsten.
Hi!
.. wir machen im Thread weiter ;)
Da Du eine Testumgebung hast, und keine Clients hinter den Gateways (wenn ich's richtig verstanden habe) machen wir jetzt ein host2host VPN.
Gateway 1 ipsec.conf:
# basic configuration
config setup
klipsdebug=none
plutodebug=none
interfaces="ipsec0=eth0"
uniqueids=yes
conn name-name1
type=tunnel
authby=rsasig
left=192.168.0.5
leftnexthop=192.168.0.10
leftrsasigkey=%cert
leftid="C=DE/ST=Domain IT/O=Domain1.com/OU=IT..."
rightrsasigkey=%cert
leftcert=name-cert.pem
rightcert=name1-cert.pem
right=192.168.1.5
rightid="C=DE/ST=Domain IT/O=Domain.com/OU=IT..."
auto=add
keyingtries=1
compress=yes
pfs=yes
conn block
auto=ignore
usw.
Gateway2:
conn name-name1
type=tunnel
authby=rsasig
left=192.168.1.5
leftnexthop=192.168.1.10
leftrsasigkey=%cert
leftid="C=..." ## anpassen!
rightrsasigkey=%cert
leftcert=name1-cert.pem
rightcert=name-cert.pem
right=192.168.0.5
rightid="C=..."
auto=add
keyingtries=1
compress=yes
pfs=yes
conn block
auto=ignore
usw.
...versuch's mal damit, dann bau vom Gateway1 den Tunnel auf:
ipsec auto --up name-name1
Bei den IDs (left und right) aufpassen.
Grüße
Manx
PS: Output posten
Ok, änderungen durchgeführt.
Hier die Meldungen:
ipsec auto --up name-name1
104 "name-name1" #1 State_Main_I1: initiate
106 "name-name1" #1 State_Main_I2: sent MI2, expecting MR2
108 "name-name1" #1 State_Main_I3: sent MI3, expecting MR3
010 "name-name1" #1 State_Main_I3: retransmission; will wait 20s for response
003 "name-name1" #1 discarding duplicate packet; already State_Main_I3
010 "name-name1" #1 State_Main_I3: retransmission; will wait 40s for response
003 "name-name1" #1 discarding duplicate packet; already State_Main_I3
031 "name-name1" #1 max number of retransmissions (2) reached State_Main_I3.
Possible authentification failure: no acceptable response to our first encrypted message
... und das entsprechende "ipsec barf" am anderen Ende des Tunnels (Gate2) sagt was?
Manx
Hatte leftcert bei Gw2 vergessen zu ändern:
Gw1: ipsec auto --up name-name1
104 "name-name1" #1 State_Main_I1: initiate
106 "name-name1" #1 State_Main_I2: sent MI2, expecting MR2
108 "name-name1" #1 State_Main_I3: sent MI3, expecting MR3
004 "name-name1" #1 State_Main_I4: ISAKMP SA established
112 "name-name1" #2 State_Quick_I1: initiate
003 "name-name1" #2 prepare-host command exited with status 127
003 "name-name1" #2 route-host command exited with status 127
032 "name-name1" #2 State_Quick_I1: internal error
010 "name-name1" #2 State_Quick_I1: retransmission; will wait 20s for response
003 "name-name1" #2 prepare-host command exited with status 127
003 "name-name1" #2 route-host command exited with status 127
032 "name-name1" #2 State_Quick_I1: internal error
010 "name-name1" #2 State_Quick_I1: retransmission; will wait 40s for response
003 "name-name1" #2 prepare-host command exited with status 127
003 "name-name1" #2 route-host command exited with status 127
031 "name-name1" #2 max number of retransmissions (2) reached State_Quick_I1.
No acceptable response to our first Quick Mode message: perhaps peer likes no proposal
Mh, poste lieber entscheidende Teile der kern.log und auth.log bei aktiviertem Debugging, das ist wesentlich aufschlussreicher als `ipsec barf`!
-ready
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.