IPSEC tunnel da AGTOT a AWS - guida

  • 0 Risposte
  • 733 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline iw1gea

  • Nuovo Iscritto
  • *
  • 8
IPSEC tunnel da AGTOT a AWS - guida
« il: 26 Aprile 2021, 09:24 »
Ciao gente,

finalmente il mio primo contributo.
Questa guida consente di creare un tunnel IPSEC con racoon su AGTOT (789v2) con firmware vecchiotti, tipo iiNET 16.3 e compagnia andando.
Il bello e' che non richiede di installare praticamente niente sullo scolapasta, perche' racoon e' gia' a bordo.
Mi sono preso la liberta' di usare il led WPS verde per segnalare che la VPN e' su o e' andata giu'.   

Ingredienti
- Un'istanza AWS EC2 anche minuscola come t3.nano, nella regione in cui volete la vostra VPN (per es. Irlanda, Londra o Virginia)
- Un AGTOT con accesso di root

Preparazione lato AWS
- installiamo "racoon" (su ubuntu sudo apt update && sudo apt install racoon)
- creiamo /etc/racoon/psk.txt come
(IP pubblico agtot) chiave PSK
p.es.
Codice: [Seleziona]
44.83.12.332 RSDCXAIBAAKBgQCdxS4mROJWZWYtESjctHwu7PshlFuEBmRtm6hUNY0FgHZ1eYE0YP/xkRL7rAJG7be9Qx8kYVMwAbvzphQUrU2ZGAyw9pI(ecc)

- creiamo un file /etc/addspd e renderlo eseguibile con chmod a+x /etc/addspd
Codice: [Seleziona]
#!/bin/bash
remip=(ip pubbl agtot)          # p.es. 44.83.12.332
wanip=(ip istanza ec2)           # p.es. 172.16.24.115
rcidr=(cidr privato agtot)/24 # p.es. 192.168.1.0/24
lcidr=(cidr ip ec2)/24              # p.es. 172.16.24.0/24
echo "
flush;
spdflush;
spdadd $rcidr $lcidr any -P in  ipsec esp/tunnel/$remip-$wanip/require;
spdadd $lcidr $rcidr any -P out ipsec esp/tunnel/$wanip-$remip/require;
" | setkey -c
- creiamo /etc/racoon/racoon.conf
Codice: [Seleziona]
path pre_shared_key "/etc/racoon/psk.txt";

listen
{
   isakmp (ip_ec2) [500];   # cambiare con ip della scheda di rete sull'istanza EC2
   isakmp_natt (ip_ec2) [4500];  # idem
   adminsock disabled;
}

remote (ip_agtot) {  # cambiare con ip pubblico dello scolapasta
        exchange_mode main,aggressive;
        #nat_traversal force;
        proposal {
                encryption_algorithm aes 256;
                hash_algorithm md5;
                authentication_method pre_shared_key;
                dh_group 1;
        }
}

sainfo address (cidr_amazon/24) any address (cidr_lan_scolapasta/24) any {
        pfs_group 2;
        lifetime time 24 hour;
        encryption_algorithm aes 256;
        authentication_algorithm hmac_md5;
        compression_algorithm deflate;
}

- lanciamo update-rc.d racoon defaults per far avviare il servizio in automatico al reboot
- avviamo il servizio con service racoon start

Preparazione lato AGTOT
- creiamo il file /etc/racoon/psk.txt (stessa chiave, cambiare IP con IP pubblico della EC2 << occhio che non e' l'IP della scheda di rete interna, amazon natta le ENI di default! consiglio di assegnare un ip elastico e usare quello)
- creiamo /etc/racoon/lighton e chmod a+x /etc/racoon/lighton
Codice: [Seleziona]
#!/bin/sh
wanip="(ip pubbl agtot)"
remip="(ip elastico ec2)"
lcidr="(cidr_lan_agtot)/24"
rcidr="(cidr_lan_ec2)/24"

if [ "$1" == "phase1_up" ];
then
  echo 255 > /sys/class/leds/wps:green/brightness
  echo "
flush;
spdflush;
spdadd $rcidr $lcidr any -P in  ipsec esp/tunnel/$remip-$wanip/require;
spdadd $lcidr $rcidr any -P out ipsec esp/tunnel/$wanip-$remip/require;
" | setkey -c
else
  echo 0 > /sys/class/leds/wps:green/brightness
fi
- creiamo /etc/racoon/racoon.conf, poi fare ln -s /etc/racoon/racoon.conf /etc/racoon.conf
Codice: [Seleziona]
path pre_shared_key "/etc/racoon/psk.txt";

listen {
        isakmp (ip_pub_agtot) [500];
        isakmp_natt (ip_pub_agtot) [4500];
        adminsock disabled;
}

remote (ip_elastico_ec2) {
        exchange_mode main,aggressive;
        # nat_traversal force;
        proposal {
                encryption_algorithm aes 256;
                hash_algorithm md5;
                authentication_method pre_shared_key;
                dh_group 1;
        }
        script "/etc/racoon/lighton" phase1_up;
        script "/etc/racoon/lighton" phase1_down;
        script "/etc/racoon/lighton" phase1_dead;
}

sainfo address (cidr_lan_agtot)/24 any address (cidr_lan_ec2)/24 any {
        pfs_group 2;
        lifetime time 24 hour;
        encryption_algorithm aes 256;
        authentication_algorithm hmac_md5;
        compression_algorithm deflate;
}
- facciamo partire il servizio con /etc/init.d/racoon start
- (opzionale) facciamo si' che riparta a ogni reboot con /etc/init.d/racoon enable

E ora godiamoci il nostro sospirato tunnel bidirezionale :)
« Ultima modifica: 26 Aprile 2021, 09:29 da iw1gea »
___   
TG789vac v2 TIM, iinet Aqua (16.3), gui 9.6.65
Netgear DGN2200v3, amod 4.3.10
Linksys WRT54GS, ddwrt