L2TP/ipsec VPN elérése kulcsos hitelesítéssel linux alól

 ( batyu | 2016. december 16., péntek - 19:02 )

Adott egy VPN hozzáférés egy távoli windowsos szerveren.
Kaptam hozzá:
- felhasználónevet
- jelszót
- az autentikációhoz egy pfx kulcs archivumot, hozzá tartozó jelszóval
- egy root CA-t (meg egy másikat is, ami elvben nem kell)

Elvileg ezekkel linux alatt is kellene tudnom csatlakozni. Most ott tartok, hogy networkmanager l2tp pluginján keresztül már legalább kísérletet látok a kapcsolódásra, de kapok egy ilyet a logba:
VPN connection: failed to connect: 'No VPN secrets!'

Ezt hol a viharban kellene neki megadnom?

Próbálkoztam korábban az openswan/xl2tp felkonfigolásával is, kevés eredménnyel.
Ja igen: a pfx-ből már kinyertem a CA certet, a publikus kulcsot és a privát kulcsot, ezeket meg is adtam az nm konfignak.
Mit szúrtam el? Valaki aki csinált már ilyet, pls help! Csak ezért tartok most egy wines virt. gépet, nem a legjobb megoldás.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

> Ja igen: a pfx-ből már kinyertem a CA certet, a publikus kulcsot és a privát kulcsot, ezeket meg is adtam az nm konfignak.

A log alapján secret-tel akar hitelesíteni, nem tanúsítvánnyal. Network managert nem ismerem, nálam racoon+xl2tpd párossal remekül működik a hasonló megoldás. Valószínűleg OpenSwan-nal sem lehetetlen összehozni.

Azt nem írtam, már nem openswan, hanem strongswan van fenn.
Nemigazán értem, hogy hogy működik ez a technika, de azt tudom, hogy windowson be kellett importálni a root CA-t és a pfx-et is, hogy működjön.
Szóval ha secret-tel kellene mennie, akkor ezeket nem tudom miért kaptam... vagy csak nagyon nem értem a felállást :)

Esélyesen a konfiguráció lesz a hibás, mert ha kaptál tanúsítványt, akkor azzal kellene hitelesíteni és ekkor nincs is szükség secret-re. Viszont hogy mit használjon, az te mondod meg a konfigban. Tehát ha a dolog ott hasal el, hogy nincs secret, akkor esélyesen a konfig nem lett jól összerakva...

OK, értem én, hogy elszúrom :D
Közben már tovább jutottam, a secret most már nem hiányzik - az kellett, hogy a pfx-et tudja használni, ipsec.secrets-ben megadtam. Ezután "received NO_PROPOSAL_CHOSEN error notify" üzenettel halt el a kapcsolat. Itt feladtam a networkmanager-es próbálkozást, megpróbáltam a strongswan-t és az xl2tpd-t direktben felkonfigolni, sikertelenül. Például nem értem, hogy ha egyszer van user-pass párom, meg kulcsom, és win alatt kellett is mindkettő, akkor itt hova kell melyiket... Vagy kulcsos, vagy psk-s megoldásokat láttam.

Szia,

A titkosításhoz IPSec kell, az vagy secret-et használ, vagy certificate-et. A felépült IPSec-en _belül_ meg az L2TP adatfolyam, ami opcionálisan authentikálhat MSCHAP segítségével, ehhez kell a felhasználónév/jelszó páros. Utóbbihoz a hitelesítő adatokat a ppp/chap-secrets-be írod.

Király. Tehát ezt valószínűleg nm-pluginnal nem tudom megcsinálni - ott az ipsec beállításoknál csak PSK van.
Tehát lőjem be a strongswant első körben cert-el, majd az xl2tpd-t... Ezzel szenvedtem már egy sort. Azért köszi, lassan tisztul a kép.
Ha valakinek van ötelte, neadjisten konfigja ilyen felállásra, nem kíméljen! :D Mondjuk most már abban sem vagyok biztos, hogy a cert-eket megfelelő formára konvertáltam.

Fejlemények: strongswan-t feladtam, openswan vissza, eszerint felkonfigolva: https://wiki.archlinux.org/index.php/Openswan_L2TP/IPsec_VPN_client_setup
Annyi eltéréssel, hogy az ipsec.conf-ból az authby= sort töröltem, mert ugye nekem RSA auth kell.
Az ipsec verify kimenete viszont nem ok:
Checking if IPsec got installed and started correctly:

Version check and ipsec on-path [OK]
Openswan U2.6.49/K4.8.13-1-ARCH (netkey)
See `ipsec --copyright' for copyright information.
Checking for IPsec support in kernel [OK]
NETKEY: Testing XFRM related proc values
ICMP default/send_redirects [OK]
ICMP default/accept_redirects [OK]
XFRM larval drop [OK]
Hardware random device check [N/A]
Two or more interfaces found, checking IP forwarding [OK]
Checking rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/all/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/default/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/enp0s25/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/wlo1/rp_filter [ENABLED]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for IKE on tcp 500 [NOT IMPLEMENTED]
Pluto listening for IKE/NAT-T on udp 4500 [OK]
Pluto listening for IKE/NAT-T on tcp 4500 [NOT IMPLEMENTED]
Pluto listening for IKE on tcp 10000 (cisco) [NOT IMPLEMENTED]
Checking NAT and MASQUERADEing [TEST INCOMPLETE]
Checking 'ip' command [OK]
Checking 'iptables' command [OK]

ipsec verify: encountered errors

sysctl.confba felvettem, és beállítottam ezeket:
net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.wlo1.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.wlo1.accept_redirects = 0

Mit nem csináltam jól? Kifogytam ötletekből...