Temat: Ipsec

Pomocy przerobilem juz kilkanasci tutoriali i nic. Chce aby moc sie zalogowac sie zaszyfrowanym tunelem do swojej sieci z windowsa ale ciagle cos nie idzie. Korzystajac z opisu https://eko.one.pl/?p=openwrt-ipsec lacze sie z androida ale nie moge z windy sie polaczyc. Prosze o jakis sprawdzony tutorial albo wskaxowki jak zmodyfikowac przytoczony przrpis

2 (edytowany przez tomiapage2 2017-08-19 16:16:09)

Odp: Ipsec

Przy takiej konfiguracji:
config setup

conn %default
keyexchange=ikev2

conn roadwarrior
left=%any
leftauth=pubkey
leftcert=serverCert.pem
leftid=@xxxx.dlinkddns.com
leftsubnet=0.0.0.0/0,::/0
right=%any
rightsourceip=10.0.1.0/24
rightauth=pubkey
rightcert=clientCert.pem
rightauth2=eap-mschapv2
auto=add
eap_identity=%any

przy probie polaczenia sei z androida otrzymuje komunikat :
Sat Aug 19 17:12:07 2017 daemon.info syslog: 11[IKE] EAP-Identity request configured, but not supported
Sat Aug 19 17:12:07 2017 daemon.info syslog: 11[IKE] loading EAP_MSCHAPV2 method failed
Sat Aug 19 17:12:07 2017 daemon.info syslog: 11[ENC] generating IKE_AUTH response 2 [ EAP/FAIL ]
ma ktos jakies pomysly ?

3 (edytowany przez tomiapage2 2017-08-20 10:43:46)

Odp: Ipsec

po wielkich walkach zestawilem vpn. korzystam z konfiguracji
[qoute]
config setup

conn %default
keyexchange=ikev2

conn roadwarrior
left=%any
leftauth=pubkey
leftcert=serverCert.pem
leftid=@xxxx
leftsubnet=0.0.0.0/0
right=%any
rightsourceip=%dhcp
rightauth=pubkey
rightcert=clientCert.pem
rightauth2=eap-mschapv2
auto=add
eap_identity=%any

[/qoute]
[qoute]
# strongswan.conf - strongSwan configuration file

    charon {
        dns1 = 8.8.8.8

        plugins {
            dhcp {
                server = 192.168.1.1
            }
        }
    }

    pluto {

    }

    libstrongswan {
        #  set to no, the DH exponent size is optimized
        #  dh_exponent_ansi_x9_42 = no
    }

[/qoute]

lacze sie do sieci dostaje ip np 192.168.1.145 , moze pingnac ruter 192.168.1.1 ale kompa o adresie 192.168.1.156 juz nie . Prosze o rady

//edit poradzilem sobie

4 (edytowany przez tomiapage2 2017-08-20 11:15:09)

Odp: Ipsec

ok udalo mi sie z windowsa i z androida polaczyc do ip seca postawionego na strongswan. gdyby ktos chcial konfigi to sluze pomoca
na windzie i na androidzie korzystam tylko z wbudowanego softu

5

Odp: Ipsec

Publikuj rozwiązanie, zawsze się komuś przyda.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6 (edytowany przez tomiapage2 2017-08-22 06:46:17)

Odp: Ipsec

Moje wywody zaczeły sie od przeczytania na tym forum. i zachciało mi sie ipseca na ruterze tak zebym mogl sie z dowolnego urzadzenia polaczyc zaszyfrowanym protokołem do domu.  Wzorowałem sie na tym poradniku https://eko.one.pl/?p=openwrt-ipsec Jest on dobry, android łączy sie bez problemu do tak postawionego ipseca. Ale ja chciałem połączyć sie z windowsa ale ten niestety nie wspiera IPSec Xauth PSK- podobno jest dziurawy smile i tu zaczely sie moje problemy  (przygode z open wrt zaczalem tydzien wczesniej po uwaleniu routera wiec jestem laikiem). Na wszystkie sposoby starałem się połączyć z windowsa ale mi sie nie udawło, zacząłem czytać i drążyć temat. Po wielu niepowodzeniach wkurzyłem sie i zainstalowałem sobie na androidzie aplikacje strongswam. Jej zaleta jest ze obsluguje protokoły takie same jak w windzie i mozna sobie podejrzeć szczegółowy log - to było u  mnie przełomem. Okazało sie że instalując strongswana z poradnika https://eko.one.pl/?p=openwrt-ipsec nie instalujemy strongswana z wszystkimi pakietami tylko z tymi potrzebnymi do obsługi protokołu Xauth PSK a ja do windy potrzebowałem obsługi np  eap-mschapv2 a z kolei ten pakie potrzebuje pakietu md4. dlaczego pakiet eap-mschapv2? pozwala on na uwierzytelnianie za pomoca loginu i hasla i ja go wybralem:) musiałem więc doinstalować sobie pakiety potrzebne zgodnie z radami znalezionymi na innym forum zacząłem od wypierdaczenia obecnej instalacji strongswana i kmod-ipt-ipsec. Ci co nie instalowali tego nie maja problemu nie musza wywalac:) Po wywaleniu restart urzadzonka. Ten punkt przyjme za wyjsciowy - zaczynamy instalacje strongswana w wersji full-potrzebny extroot.
Instalacja strongswan

opkg update
opkg install strongswan-full strongswan-default strongswan-mod-kernel-libipsec iptables-mod-filter iptables-mod-nat-extra

Bardzo ważne jest zeby wykonało się bez errorów. mi przy pierwszej instalacji ruter sie zawiesil, reset i ponowna instalacja u mnie załatwiła sprawe.  Teraz trzeba wygenerować certyfikaty, robimy to ponizszymi komendami:

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "C=US, O=xxx, CN=xxxx" --ca --outform pem > caCert.pem
ipsec pki --gen --outform pem > serverKey.pem
ipsec pki --pub --in serverKey.pem | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "C=US, O=xxx, CN=xxxx.dlinkddns.com" --san="xxxx.dlinkddns.com" --flag serverAuth --flag ikeIntermediate --outform pem > serverCert.pem
ipsec pki --gen --outform pem > clientKey.pem
ipsec pki --pub --in clientKey.pem | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "C=US, O=xxx, CN=client" --outform pem > clientCert.pem
openssl pkcs12 -export -inkey clientKey.pem -in clientCert.pem -name "client" -certfile caCert.pem -caname "xxxx" -out clientCert.p12

Ważne jest zeby w miejsca gdzie ja wstawilem xxxx.dlinkddns.com wstawic swoj adres po jakim bedziemy sie laczyc do ipseca. Kopiujac  uwazaj bo tu pozawijały sie linie! Wygenerowanie niektorych kluczy bedize trwalo dluzej wiec trzeba byc cierpliwym
Certy o  nazwie clientCert.p12  caCert.pem kopiujemy na urządzenia klienckie. Wazne jest ze w windowsie dodajemy certy poprzez mmc certyfikaty i wazne nie wybieramy konto uzytkownika tylko konto komputera. client cert dajemy do osobistych a cacaert do zaufane główne urzedy certyfikacji


Przenosimy certy w odopwiednie miejsce

mv caCert.pem /etc/ipsec.d/cacerts/
mv serverCert.pem /etc/ipsec.d/certs/
mv serverKey.pem /etc/ipsec.d/private/
mv clientCert.pem /etc/ipsec.d/certs/
mv clientKey.pem /etc/ipsec.d/private/
mv caKey.pem /etc/ipsec.d/private/

Pliki konfiguracyjne:
/etc/ipsec.conf

config setup

conn %default
 left=%any
 leftsubnet=0.0.0.0/0
 leftid=@vpn.moj.com
 right=%any
 rightsourceip=%dhcp
 auto=add


conn android
        keyexchange=ikev1
        authby=xauthpsk
        xauth=server

conn win
 keyexchange=ikev2
 leftauth=pubkey
 leftcert=serverCert.pem
 rightauth=eap-mschapv2

/etc/ipsec.secrets

: RSA serverKey.pem
user : EAP "haslo"
: PSK "pass18"
user : XAUTH "haslo"

/etc/strongswan.conf

charon {
        dns1 = 192.168.1.1

        plugins {
            dhcp {
                server = 192.168.1.1
            }
        }
    }

    pluto {

    }

    libstrongswan {
        #  set to no, the DH exponent size is optimized
        #  dh_exponent_ansi_x9_42 = no
    }

Teraz pora na firewal:)
do pliku /etc/config/firewall dopisujemy nastepujace sekcje

config rule
 option src 'wan'
 option proto 'esp'
 option target 'ACCEPT'

config rule
 option src 'wan'
 option proto 'udp'
 option dest_port '500'
 option target 'ACCEPT'

config rule
 option src 'wan'
 option proto 'udp'
 option dest_port '4500'
 option target 'ACCEPT'

config rule
 option src 'wan'
 option proto 'ah'
 option target 'ACCEPT'

w konsoli po koleji odpalamy nastepujace polecenia

iptables -I INPUT  -m policy --dir in --pol ipsec --proto esp -j ACCEPT
iptables -I FORWARD  -m policy --dir in --pol ipsec --proto esp -j ACCEPT
iptables -I FORWARD  -m policy --dir out --pol ipsec --proto esp -j ACCEPT
iptables -I OUTPUT   -m policy --dir out --pol ipsec --proto esp -j ACCEPT

Tu pojawil sie problem bo po polaczeniu do vpna host vpnowy nie pingowal hosta w sieci lokalnej- dodajemy wiec ruting
do pliku /etc/config/firewall dodajemy wpisy

config zone
    option forward 'REJECT'
    option name 'vpn'
    option output 'ACCEPT'
    option network 'ipsec'
    option input 'ACCEPT'

config forwarding
    option dest 'lan'
    option src 'vpn'

config forwarding
    option dest 'wan'
    option src 'vpn'

config forwarding
    option dest 'vpn'
    option src 'lan'

No to uruchamiamy:

chmod 755 /etc/init.d/ipsec 
/etc/init.d/firewall restart
/etc/init.d/ipsec enable
/etc/init.d/ipsec start

W tym miejscu zakladam ze na hosty klienckie zostaly przegrane certy - pisalem o tym wczenisej
Konfiguracja klienta android jest w poradniku https://eko.one.pl/?p=openwrt-ipsec
Klienta windows konfigurujemy tak: panel sterowania->Centrum sieci i udostępniania-> Skonfiguruj nowe  połączenie lub nowa siec-> połącz zmiejscem pracy_ > wybieramy utworz nowe polaczenie-> uzyj mojego polaczenia internetowego vpn
W pole adres internetowy wpisujemy adres naszego vpna . w przypadku moim vpn.moj.com
zaznaczamy checkboxa Nie łącz teraz, tylko skonfiguruj  aby mozna bylo polaczyc sie pozniej.
Nastepnie wchodzimy Panel sterowania\Sieć i Internet\Połączenia siecioweodszukujemy nowo powstale virtualne polaczenie i klikamy wlasciwosci.
Zakladka opcje odznaczamy dołacz domene logowania systemu windows
zakladka zabezpieczenia wybieramy w omawianym przypadku IKEv2, wymagaj szyfrowania(rozlacz jesli serwer odmawia)
uzyj protokolu uwierzytelniania rozszerzonego-> bezpieczne haslo eap-mschap v2
w zakladce siec odznaczamy ipv6
klikamy ok
Mozemy sie juz łączyc , powinno pojawic sie okienko z loginem i haslem wklepujemy i jesli wszystko poszlo ok to powinnismy si epolaczyc.
Oczywiscie mozliwosci konfiguracji jest wiele , uzytkownik moze byc uwierzytelniany certem , haslem (omawiany przypadek), haslem i certem (tego przypadku nie udalo mi sie na windzie odpalic, na androidzie dzialalo).
Rozwiazywanie problemow:
ipsec status
ipsec statusall -> zobaczyc czy zaladowaly sie wszystkie potrzebne moduly

To tyle moich wywodow, dodam ze jestem laikiem jesli chodzi o linuxa bawie sie nim troche ponad tydzien wiec wszystkie wskazowki i uwagi sa pożądane.

7 (edytowany przez kidler 2017-08-22 12:27:11)

Odp: Ipsec

ipsec pki --gen --outform pem > caKey.pem
curl SSL backend 'mbedTLS/2.5.1' not supported, https:// disabled

taki błąd o ile to błąd...?

8 (edytowany przez tomiapage2 2017-08-22 17:22:23)

Odp: Ipsec

ooo pierwsza uwaga zapomnialem o pakietach

opkg update
opkg install openvpn-openssl openvpn-easy-rsa

Nie jestem pewien czy  obie paczki sa potrzebne, moze ktos bardizej obczajony w temacie napisze.jak zainstalujesz te 2 powinno dzialac