Installare OpenVPN su Smart Modem Evolution DGA4130 (AGTEF)



Col seguente articolo vi illustreremo come installare OpenVPN sullo Smart Modem Evolution DGA4130 (AGTEF).

Il requisito fondamentale per l’installazione è quello di aver sbloccato il router ed avere, quindi, gli accessi root.

Per coloro che non lo hanno ancora fatto, possono trovare la guida al seguente link .

Gli indirizzi usati per la lan sono quelli canonici 192.168.1.x.
Gli indirizzi usati per la rete vpn sono quelli canonici 10.8.0.x.
Pertanto se volete utilizzare i vostri indirizzi dovete modificare gli script che ho postato, soprattutto nella parte firewalling.

Verificare di avere opkg configurato correttamente per accedere al repository
https://repository.ilpuntotecnico.com/files/roleo/public/agtef/brcm63xx-tch/packages
ed eseguire un aggiornamento con

  • opkg update

Se la procedura fallisce a causa di errori openssl eseguire il comando seguente per installare openssl-util:

  • opkg install http://repository.ilpuntotecnico.com/files/roleo/public/agtef/brcm63xx-tch/packages/base/openssl-util_1.0.2m-1_brcm63xx-tch.ipk

e poi riprovare l’aggiornamento.
Sostituire la libreria openssl 1.0.2m-1 esistente con la versione 1.0.2l-1:

  • opkg remove libopenssl --force-depends
  • opkg install http://repository.ilpuntotecnico.com/files/roleo/public/agtef/brcm63xx-tch/packages/base/libopenssl_1.0.2m-1_brcm63xx-tch.ipk

 

A questo punto ho seguito parzialmente la guida presente a questo indirizzo https://wiki.openwrt.org/doc/howto/vpn.openvpn che riporto di seguito:
Installare openvpn e le relative dipendenze:

  • opkg install openvpn-openssl openvpn-easy-rsa

 

Procedere alla generazione delle chiavi rispondendo alle domande del programma:

  • build-ca
  • build-dh
  • build-key-server my-server
  • build-key-pkcs12 my-client

 

Copiare i file /etc/easy-rsa/keys/* nella cartella /etc/openvpn/keys

  • cp /etc/easy-rsa/keys/ca.crt /etc/easy-rsa/keys/my-server.* /etc/easy-rsa/keys/dh2048.pem /etc/openvpn/keys

 

Modificare il file /etc/config/openvpn impostando a “1” la voce “option enabled” nella sezione “config openvpn custom_config”.
Creare il file /etc/openvpn/my-vpn.conf con il seguente contenuto (personalizzate chiaramente ciò che ritenete opportuno):

  • port 1194
  • proto udp
  • dev tun
  • build-key-pkcs12 my-client
  • ca "/etc/openvpn/keys/ca.crt"
  • cert "/etc/openvpn/keys/my-server.crt"
  • key "/etc/openvpn/keys/my-server.key" # This file should be kept secret
  • dh "/etc/openvpn/keys/dh2048.pem"
  • server 10.8.0.0 255.255.255.0
  • ifconfig-pool-persist ipp.txt
  • push "route 192.168.1.0 255.255.255.0"
  • ;push "redirect-gateway def1 bypass-dhcp"
  • ;push "dhcp-option DNS 8.8.8.8"
  • ;push "dhcp-option DNS 8.8.4.4"
  • ;client-to-client
  • keepalive 10 120
  • comp-lzo
  • ;plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
  • user nobody
  • group nogroup
  • persist-key
  • persist-tun
  • status /var/log/openvpn-status.log
  • log /var/log/openvpn.log
  • verb 2
  • mute 10
  • ;crl-verify "/etc/openvpn/keys/crl.pem"

Eseguire openvpn:

  • /etc/init.d/openvpn enable
  • /etc/init.d/openvpn enable

Creare sul proprio client OpenVPN il file di configurazione come segue:

  • client
  • dev tun
  • proto udp
  • remote my-server-name 1194
  • resolv-retry infinite
  • nobind
  • persist-key
  • persist-tun
  • ca ca.crt
  • cert my-client.crt
  • key my-client.key
  • ns-cert-type server
  • comp-lzo
  • verb 3

 

Nella stessa cartella copiare dal server i file ca.crt, my-client.crt e my-client.key

Eseguire i seguenti comandi uci per impostare l’interfaccia di rete e le regole di firewalling

  • uci set network.vpn0=interface
  • uci set network.vpn0.ifname=tun0
  • uci set network.vpn0.proto=none
  • uci set network.vpn0.auto=1
  • uci set firewall.Allow_OpenVPN_Inbound=rule
  • uci set firewall.Allow_OpenVPN_Inbound.target=ACCEPT
  • uci set firewall.Allow_OpenVPN_Inbound.src=*
  • uci set firewall.Allow_OpenVPN_Inbound.proto=udp
  • uci set firewall.Allow_OpenVPN_Inbound.dest_port=1194
  • cert my-client.crt
  • uci set firewall.vpn=zone
  • uci set firewall.vpn.name=vpn
  • uci set firewall.vpn.network=vpn0
  • uci set firewall.vpn.input=ACCEPT
  • uci set firewall.vpn.forward=REJECT
  • uci set firewall.vpn.output=ACCEPT
  • uci set firewall.vpn.masq=1
  • uci set firewall.vpn_forwarding_lan_in=forwarding
  • uci set firewall.vpn_forwarding_lan_in.src=vpn
  • uci set firewall.vpn_forwarding_lan_in.dest=lan
  • uci set firewall.vpn_forwarding_lan_out=forwarding
  • uci set firewall.vpn_forwarding_lan_out.src=lan
  • uci set firewall.vpn_forwarding_lan_out.dest=vpn
  • uci commit network
  • /etc/init.d/network reload
  • uci commit firewall
  • /etc/init.d/firewall reload

 

A questo punto non resta che testare la connessione per verificare che funzioni.

E’ aggiungere una regola di firewalling per accedere anche a tutta la LAN 192.168.1.x.
Ecco la regola:

  • uci set firewall.vpn_snat_lan_out=redirect
  • uci set firewall.vpn_snat_lan_out.src=vpn
  • uci set firewall.vpn_snat_lan_out.dest=lan
  • uci set firewall.vpn_snat_lan_out.src_ip=10.8.0.0/24
  • uci set firewall.vpn_snat_lan_out.src_dip=192.168.1.1
  • uci set firewall.vpn_snat_lan_out.proto=all
  • uci set firewall.vpn_snat_lan_out.target=SNAT
  • uci commit firewall
  • /etc/init.d/firewall reload

Credits guida @Roleo

Per ulteriori dettagli o richieste di supporto visitare il seguente topic

 

Copyright 2017 Tutti i diritti riservati.
La presente guida non può essere copiata, modificata, distribuita, con alcun mezzo senza l’esplicita autorizzazione dell’autore e dello staff de ilpuntotecnico.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*