IlPuntoTecnico

Hardware e Software => Connessioni ADSL/VDSL/FTTC => Topic aperto da: lorenzocanalelc - 22 Agosto 2019, 12:51

Titolo: Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 22 Agosto 2019, 12:51
Buongiorno ragazzi, sono riuscito ad installare e ad instaurare una connessione tra il mio iPhone e il TG789vac con firmware UNO tramite Strongswan-full suggerito da @LuKePicci. Ho seguito la guida di openwrt (https://openwrt.org/docs/guide-user/services/vpn/ipsec/strongswan/roadwarrior) , purtroppo il Tg789vac non digerisce i certificati infatti non riesce a crearli tramite lo script suggerito nella guida di OpenWrt (Il log riporta opening AF_ALG socket failed: Address family not supported by protocol) e neanche a leggerli (il log riporta loaded ca certificate "bla bla bla" from '/etc/ipsec.d/cacerts/caCert.pem' file coded in unknown format, discarded), quindi ho usato giusto per provare l'autenticazione eap-mschapv2 e sono riuscito a connettermi con successo. Però non riesco ne a navigare su internet ne ad accedere alla lan (compreso il router), suppongo ci sia qualcos'altro da configurare nel firewall, chi mi può dare una mano? Inoltre c'è qualche modo per creare certificati che il tg789 digerisce?
 
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: larsen64it - 22 Agosto 2019, 14:26
https://lists.strongswan.org/pipermail/users/2013-September/005282.html
https://wiki.strongswan.org/projects/strongswan/wiki/IpsecPkiGen
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 22 Agosto 2019, 17:41
Ottimo, nuovo problema, con openSSL ricevo questo output openssl: can't resolve symbol 'COMP_zlib_cleanup'. Funziona comunque o devo risolverlo?
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: larsen64it - 22 Agosto 2019, 19:10
Prova a vedere se ti funziona altrimenti devi sovrascrivere il pacchetto  libopenssl
https://github.com/FrancYescO/789vacv2_opkg/blob/master/base/libopenssl_1.0.2g-1_brcm63xx-tch.ipk
Con questo non da errore.
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 22 Agosto 2019, 19:49
Ok perfetto, correggimi se sbaglio, questo comando
Codice: [Seleziona]
openssl genrsa -out nome.pem 2048 è equivalente a questo
Codice: [Seleziona]
ipsec pki --gen --outform pem > nome.pem (Anche se meno sicuro mi pare di aver capito) mentre per questi due comandi quali sono gli "equivalenti" in openssl?
Codice: [Seleziona]
ipsec pki --self --in caKey.pem --dn "C=US, O=yyy, CN=xxxx" --ca --outform pem > caCert.pem
ipsec pki --pub --in serverKey.pem | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "C=US, O=yyy, CN=myvpnserver.dyndns.org" --san="myvpnserver.dyndns.org" --flag serverAuth --flag ikeIntermediate --outform pem > serverCert.pem
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: MisterFTTH - 22 Agosto 2019, 20:38
(qualcuno utilizza davvero quel CN  :P )
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: larsen64it - 22 Agosto 2019, 20:50
L'esperto di strongswan è Luke.
Io al massimo, please click over
(https://i.ibb.co/KsNgNfm/larsensearch.png) (https://www.google.it/)
https://wiki.strongswan.org/projects/strongswan/wiki/SimpleCA
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 22 Agosto 2019, 22:44
Allora, eccomi di nuovo qua, forse c'è qualcosa che non va sul mio iPhone, perché i certificati li ho generati, sono nelle giuste posizioni, ma non riesco ad autentificarmi, invece con eap-mschapv2 nessun problema, adesso riesco anche a navigare. Quando mi connetto con il certificato ricevo un errore di autenticazione, questo è il log
Codice: [Seleziona]
Thu Aug 22 22:31:14 2019 daemon.info syslog: 14[NET] received packet: from ipdelmioiphone[61940] to mioippublico[500] (604 bytes)
Thu Aug 22 22:31:14 2019 daemon.info syslog: 14[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
Thu Aug 22 22:31:14 2019 daemon.info syslog: 14[IKE] ipdelmioiphone is initiating an IKE_SA
Thu Aug 22 22:31:14 2019 authpriv.info syslog: 14[IKE] ipdelmioiphone is initiating an IKE_SA
Thu Aug 22 22:31:15 2019 daemon.info syslog: 14[IKE] remote host is behind NAT
Thu Aug 22 22:31:15 2019 daemon.info syslog: 14[IKE] sending cert request for "C=bla, O=bla, CN=bla"
Thu Aug 22 22:31:15 2019 daemon.info syslog: 14[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
Thu Aug 22 22:31:15 2019 daemon.info syslog: 14[NET] sending packet: from mioippublico[500] to ipdelmioiphone[61940] (465 bytes)
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[NET] received packet: from ipdelmioiphone[61825] to mioippublico[4500] (1584 bytes)
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[ENC] unknown attribute type (25)
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[ENC] parsed IKE_AUTH request 1 [ IDi N(INIT_CONTACT) N(MOBIKE_SUP) IDr AUTH CERT CPRQ(ADDR DHCP DNS MASK ADDR6 DHCP6 DNS6 (25)) N(ESP_TFC_PAD_N) N(NON_FIRST_FRAG) SA TSi TSr ]
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[IKE] received end entity cert "C=bla, O=bla, CN=bla"
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[CFG] looking for peer configs matching mioippublico[miodns]...ipdelmioiphone[bla]
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[CFG] no matching peer config found
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[IKE] received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[IKE] peer supports MOBIKE
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[ENC] generating IKE_AUTH response 1 [ N(AUTH_FAILED) ]
Thu Aug 22 22:31:16 2019 daemon.info syslog: 12[NET] sending packet: from mioippublico[4500] to ipdelmioiphone[61825] (80 bytes)

edit

Ok, è questa impostazione nel file config
Codice: [Seleziona]
rightcert=clientCert.pemSe la elimino tutto funziona, perché?

PS:
Risolto!! Mi è bastato inserire questa opzione   
Codice: [Seleziona]
rightid=(nome dns che avevo dato al mio client nel certificato) in poche parole non associava il mio iPhone al certificato che aveva registrato! Grazie a tutti!
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: larsen64it - 23 Agosto 2019, 06:27
OK, bene bravo ed oserei dire ... bis.
Poi alla fine quale crittografia hai usato?
Visto che l'installazione di strongswan si tira giù una vagonata di dipendenze, quanto spazio occupa?
Per i poveretti del tg789, 2 righe caritatevoli sulle diversità tra il metodo da te usato e la guida di openwrt sarebbe di aiuto.
Scusa per le troppe richieste.
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 23 Agosto 2019, 10:31
Accidenti, non avevo completamente guardato lo spazio occupato  :-X, diciamo che attualmente ho installato, oltre che strongswan, la GUI Ansuel, Luci GUI e adesso ho solo 20MB di spazio libero... consigli di rimuovere qualcosa per evitare problemi? Per quanto riguarda la crittografia in realtà ho creato i certificati su un DGA4130 e poi li ho trapiantati  :rotfl:, ma credo che al di là dell'errore i certificati vengano generati anche dal TG789vac con quello script, infatti il problema era probabilmente legato alla configurazione del rightid e non del certificato in se

PS:
Scusate per il doppio post di ieri, neanche me ne ero reso conto.
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: larsen64it - 23 Agosto 2019, 11:27
Quindi non pesa nulla. Io sono come te -strongswan + bank_2(uno) + altri 2/3 pacchetti e sono a 18 MB free.
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 23 Agosto 2019, 12:58
Ah bene  :D Comunque giusto poco fa ho provato e il VoIP Vodafone va senza problemi con la VPN!
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: FrancYescO - 23 Agosto 2019, 19:39
Comunque, se qualcuno fosse interessato a farlo, un bello script sh che si occupa di tutta la config/installazione tra le estensioni della gui ci sta proprio bene un server VPN :D
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: yhcim86 - 23 Agosto 2019, 20:09
Verissimo @FrancYescO  si potrebbe in questo caso usare un client SIP sul telefono cellulare e registrare il numero di casa lì x ricevere le chiamate quando uno nn è in casa e non ha attivato il trasferimento di chiamata giusto???
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 23 Agosto 2019, 20:11
@FrancYescO Però per renderlo completamente integrato nella GUI ci vorrebbe anche una tab da cui scaricare i certificati per i vari client, come anche gestire la subnet dedicata, uno switch per permettere l'accesso all'intera lan o al solo router, insomma non soltanto la semplice installazione (per fare una cosa "Pulita")
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: FrancYescO - 23 Agosto 2019, 21:47
Sì vabbhe si potrebbe fare un po' tutto ma già che faccia un semplice install del pacchetto e si preoccupa di piazzare un certificato da qualche parte come prima release potrebbe bastare :)

Per il VoIP sì si potrebbe usare ma io resto sempre per lasciare semplicemente asterisk a rispondere su Wan..
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 24 Agosto 2019, 10:05
Ah certo per iniziare non sarebbe male, comunque se qualcuno vuole cimentarsi alla fine basta seguire questa guida https://openwrt.org/docs/guide-user/services/vpn/ipsec/strongswan/roadwarrior quindi un ipotetico script non dovrebbe fare altro che:
1-Installare il pacchetto strongswan (full o default che sia)
2-Scrivere nei vari file config come da guida (Sostituendo le varie subnet con quella corretta e inserendo il ddns in uso)
3-Creare le keys usando lo script già presente (Ovviamente modificando i vari parametri con quelli in uso dal router) e aggiungendo magari la copia del file clientCert.p12 e caCert.pem in un posto "sicuro" da cui fare il download alla fine
4-Abilitare e avviare il servizio

Credo che già facendo questo il servizio sia bello che pronto, magari rimandando alla guida per configurare i client
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: FrancYescO - 07 Settembre 2019, 17:09
Ho configurato su un 4130 fw2.2.0 ma con i feed/pacchetti a monte giusti dovrebbe essere universale come soluzione

https://github.com/FrancYescO/sharing_tg789/blob/strongswan/setup.sh

il risultato da client android in wifi da una FTTC 50/20 (4130 tiscali) verso una FTTC 150/20 (4130 2.2.0 server dietro un paio di ppp relay)
https://www.speedtest.net/result/a/5282572228
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 07 Settembre 2019, 17:29
Ottimo!! Non resta che inserirlo tra le Estensioni della GUI
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: MisterFTTH - 07 Settembre 2019, 17:49
@FrancYescO ovviamente prestazioni mediocri (anche se negli scenari tipici di quella VPN non serve banda esagerata) comunque ottimo lavoro!

ps. it requireS  :P
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: FrancYescO - 07 Settembre 2019, 18:32
Bhe contando che nelle stesse condizioni di banda e con un fritz 7490 come server (che si fa 2 relay ppp in meno) i risultati son questi
(https://www.speedtest.net/result/8570300273.png)
direi che quello e' oro.. almeno uno stream FullHD lo si riesce a fare :D
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: MisterFTTH - 07 Settembre 2019, 19:33
A parte i risultati imbarazzanti del router AVM, chiarisco che il mio punto di riferimento sono le prestazioni in crittazione del mio serverino domestico  :mlt:
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: larsen64it - 10 Settembre 2019, 13:01
Scopiazzando a destra e a manca questa dovrebbe essere la traduzione da ipsec a openssl per la creazione delle chiavi, con possibilità di variare la grandezza delle chiavi stesse, utile per sistemi poco potenti o per non sovraccaricare i sistemi stessi. (Un sistema sovraccarico è insicuro per natura)
Codice: [Seleziona]
bit_rsa="4096" ## 1024 / 2048 / 4096 

## authority cert

openssl req -new -x509 -days 3650 \
-newkey rsa:$bit_rsa -nodes \
-subj "/C=US/O=$orgName/CN=$caName" \
-keyout caKey.pem -out caCert.pem

## vpn server cert

openssl req -new -newkey rsa:$bit_rsa -nodes \
-subj "/C=US/O=$orgName/CN=$ddns_domain" \
-keyout serverKey.pem -out serverCert.pem

cat << EOF >> confile
[req_ext]
subjectAltName = DNS:$ddns_domain
extendedKeyUsage = 1.3.6.1.5.5.7.3.1, 1.3.6.1.5.5.8.2.2
EOF

openssl x509 -req -in serverCert.pem -days 1095 \
-CA caCert.pem -CAkey caKey.pem -CAcreateserial \
-out serverCert.pem  \
-extensions req_ext -extfile confile

## user cert

openssl req -new -newkey rsa:$bit_rsa -nodes \
-subj "/C=US/O=$orgName/CN=$vpnclientName" \
-keyout clientKey.pem -out clientCert.pem

openssl x509 -req -in clientCert.pem  -days 1095 \
-CA caCert.pem -CAkey caKey.pem -CAcreateserial \
-out clientCert.pem

Se qualcuno ha voglia di provare...
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 17 Gennaio 2020, 13:45
Ciao ragazzi, chiedo qua perché si tratta sempre della stessa cosa, mi sono reso conto che una volta connesso alla VPN non riesco a comunicare con gli altri dispositivi della LAN, quale impostazione/regola firewall devo inserire/modificare??
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: a1pollo - 17 Gennaio 2020, 17:44
Ciao, a me ha aiutato LuKe con i settaggi, le regole sono quelle della wiki su openwrt:

Codice: [Seleziona]
impostare le regole firewall.user:

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
iptables -t nat -I POSTROUTING -m policy --pol ipsec --dir out -j ACCEPT

aggiungere al firewall

config rule 'ipsec_esp'
option src 'wan'
option name 'IPSec ESP'
option proto 'esp'
option target 'ACCEPT'

config rule 'ipsec_ike'
option src 'wan'
option name 'IPSec IKE'
option proto 'udp'
option dest_port '500'
option target 'ACCEPT'

config rule 'ipsec_nat_traversal'
option src 'wan'
option name 'IPSec NAT-T'
option proto 'udp'
option dest_port '4500'
option target 'ACCEPT'

config rule 'ipsec_auth_header'
option src 'wan'
option name 'Auth Header'
option proto 'ah'
option target 'ACCEPT'

Poi dipende dalla classe di indirizzi, io uso gli stessi del dhcp.
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 17 Gennaio 2020, 17:49
Avevo già tutte le regole configurate in questo modo, ho risolto impostando queste regole qua suggerite da @lucash78 :

Codice: [Seleziona]
iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o br-lan -m policy --dir out --pol ipsec -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o br-lan -j MASQUERADE

Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: a1pollo - 17 Gennaio 2020, 18:06
@lorenzocanalelc
 Tu utilizzi una classe di indirizzi differente da quelle assegnate dal dhcp?
se si riuscivi ad andare su internet, prima di queste modifiche?
Te lo chiedo perche' potrebbe servirmi in futuro.
Titolo: Re:Help Strongswan TG789vac v2 Firmware UNO
Inserito da: lorenzocanalelc - 17 Gennaio 2020, 18:11
No stessi indirizzi del DHCP, riuscivo a navigare senza problemi, ma non ad accedere alla rete interna.

PS. ho appena scoperto che avevo problemi a connettermi da determinate connessioni perché mi mancava l'opzione "fragmentation = yes" nel file IPSEC.conf. Adesso non ho più problemi a connettermi