@lv0
Nel Weekend ho formattato e installato OpenWrt 22.03

La configurazione come router e non gateway è più complicata, però funziona, purtroppo l'ho testata solo in locale perchè avevo poco tempo

Puoi Resettare il router alla config di default, impostare la lan, con ip statico per farlo diventare client della rete locale, dopodichè segui questa guida:

https://openwrt.org/docs/guide-user/services/vpn/wireguard/server

I comandi puoi inserirli copiando più righe, eseguili fino ai commenti (esclusi)

Per eseguirli ti connetti in ssh al router con es:

ssh root@192.168.1.1

https://openwrt.org/docs/guide-quick-start/sshadministration

Se opkg update restituisce errori, significa non hai impostato bene l'interfaccia lan (dns ecc.), ricorda di disabilitare DHCP

N.B: esegui il reboot del router quando fai modifiche alle configurazioni, perchè altrimenti non le vede, soprattutto per interfacce e wireguard peers

I Pacchetti per gestire wireguard da luci sono questi:

wireguard-tools
kmod-wireguard
luci-app-wireguard
luci-proto-wireguard

Per toglierti problemi lato firewall (perchè la guida presuppone tu lo utilizzi come gateway e le connessioni wireguard sono consentite solo da WAN)
Elimina le due interfacce WAN, risultato:

Poi Network->Firewall->Zones (sezione)
Elimina tutte le regole

Sezione Traffic Rules dovrebbe svuotarsi

Per configurare i Peers con Qrcode ti servono questi pacchetti:

qrencode
libqrencode

Ora in interfaces->VPN->peers

Dovresti trovare il peer creato con 192.168.9.2

Entri in Edit, clicchi generate new key pairs (per creare la privata e rigenerare tutto)

Salva e applica tutto, reboot del router

Ritorni nella sezione del peer di prima e clicchi qui

Genera il QR lo aggiungi in wireguard, inserisci l'IP 192.168.9.2/32 e provi in locale se funziona, il QR imposterà come endpoint l'IP della Lan del router.

Ricorda che affinchè funzioni, nel gateway va impostata la rotta statica verso 192.168.9.0/24 con gateway (IP del router Openwrt)

Per connettersi da internet, va aperta la porta UDP del gateway verso (IP del router Openwrt), e inserire come endpoint in wireguard app, il DDNS host

Da Status->Wireguard

vedi le informazioni del peer riguardo handshake e ultima connessione


Credo il tuo problema fosse solamente nella gestione delle chiavi, probabilmente utilizzando il Qrcode e impostando il peer nell'app in questo modo, avresti risolto

  • lv0 ha risposto a questo messaggio
  • lv0 e leofer hanno messo mi piace.

    bortolotti80 Grazie mille! Proverò a metterci mano settimana prossima perché attualmente non sono in Italia

    @lv0 Ho riconvertito un repeater ( netgear ex3700 ) ad openwrt per allestire un setup simile al tuo, con l'ultima versione 22 di openwrt era inusabile, routing a caso, ping altalenante, packet loss ovunque... bah

    Installata l'ultima versione 21 stabile e i problemi sono spariti, quindi occhio ai problemi nascosti.

    Ho provato due configurazioni:

    • openwrt come server vpn + nat ( quindi due nat, uno sul router/modem, il secondo su openwrt )
    • openwrt come server vpn, routing della subnet vpn verso il modem/router ( niente openwrt come secondo nat ma devi aggiungere una rotta statica sul timhub se si può fare )

    Porto i miei indirizzi come esempio

    Configurazione rete openwrt

    Premi per mostrare Premi per nascondere

    Client DHCP nella zona lan del firewall di openwrt, il lease statico dell'ip è impostato nel modem/router a monte ( nel tuo caso il timhub)
    Puoi anche impostare ip statico direttamente da openwrt impostando il protocollo da dchp a static. Poi assegna ip ( nella stessa sottorete della lan del timhub), gateway ( ip timhub) e maschera di sottorete

    Configurazione wireguard comune ad entrambe le config

    Premi per mostrare Premi per nascondere
    • Configura normalmente wireguard senza abilitare/disabilitare opzioni sui vari routing ( lascia le caselle senza la spunta )
      Genera le chiavi, la chiave pubblica del server servirà per il configurare il client
      Listen port : 51821
      IP addresses : 192.168.6.1/24
    • Assegna una nuova zona firewall per la vpn nella scheda firewall

    Crea una nuova configurazione sul client.
    Nella sezione interface inserisci

    • Ip dell'interfaccia che vuoi utilizzare, nel mio caso 192.168.6.5/32
    • DNS : un qualsiasi dns pubblico per far partire tutto è più semplice. ( altrimenti occhio a restrizioni alle subnet servite dal server dns locale del modem/router principale )

    Nella sezione peer inserisci

    • chiave pubblica del server wireguard
    • Ip consentiti 0.0.0.0/0, ::/0 se vuoi inoltrare tutto il traffico nella vpn
    • Endpoint : url del DDNS seguito dalla porta in ascolto impostata nel wireguard server.

    Configura il peer sul server

    • Imposta la chiave pubblica generata dal client ( nel mio caso quella che inizia per G9cg.... )
    • Assegna l'ip permesso al peer : 192.168.6.5/32 ( lo stesso impostato nella configurazione del client )
    • Lascia tutto il resto vuoto, ad eccezione del keepalive se può servire

    Configurazione firewall con nat su openwrt

    Premi per mostrare Premi per nascondere

    La zona lan ( in cui è presente l'interfaccia verso il timhub ) deve permettere il forward verso e proveniente dalla zona vpn, quindi così. Attivando il masquerading sulla lan, stai nattando tutto il traffico del router con openwrt verso il timhub

    Configurazione firewall per routing delle subnet

    Premi per mostrare Premi per nascondere

    Come per la configurazione nattata, le due zone firewall devono permettere il forward a vicenda, niente masquerading

    però il modem/router principale deve sapere dove mandare i pacchetti per i dispositivi della vpn, quindi serve una rotta statica nel router/modem principale ( timhub) per la subnet della vpn utilizzando come gateway openwrt nella lan.
    Quindi qualcosa del tipo
    ip : 192.168.6.0/24
    gateway : 192.168.1.121 ( ip di openwrt nella lan )

    Nel mio caso non ho un timhub come router principale ma wrt1200 con openwrt, quindi diventa così

    Esempio del risultato, pc connesso ad hotspot (lte vodafone) wireguard tunnel attivo, il primo hop è openwrt con l'interfaccia vpn, secondo hop è il router principale della connessione di casa ( fttc windtre ), terzo hop è il bras/gateway di windtre

    Ho saltato la parte ddns e port forwarding perchè dalla discussione mi sembrava che funzionasse, o sbaglio ?

    • lv0 ha risposto a questo messaggio
    • lv0 ha messo mi piace.
      6 giorni dopo
      • Autore
      • Modificato

      leofer Ho saltato la parte ddns e port forwarding perchè dalla discussione mi sembrava che funzionasse, o sbaglio ?

      Si esatto, almeno quelle sembravano funzionare 😅 Grazie anche per la tua guida, magari proverò anche questa!

      bortolotti80 Ricorda che affinchè funzioni, nel gateway va impostata la rotta statica verso 192.168.9.0/24 con gateway (IP del router Openwrt)

      Ma il gateway è il router D-Link, giusto? Dove lo imposto?

      bortolotti80 va aperta la porta UDP del gateway verso (IP del router Openwrt)

      Ho aperto la porta UDP 51820 verso il router D-Link

      bortolotti80 inserire come endpoint in wireguard app, il DDNS host

      Ho inserito il DDNS (tipo mioserver.com) abilitandolo alla porta 51820

      Ma è normale che quando lo testo in locale non va su Internet?

        lv0 Ma il gateway è il router D-Link, giusto? Dove lo imposto?

        Il Gateway è il router che separa la rete LAN e la rete WAN (internet)

        Un gateway, in informatica e telecomunicazioni ed in particolare nelle reti informatiche, è un dispositivo di rete che collega due reti informatiche di tipo diverso.

        Nelle reti più semplici è presente un solo gateway che inoltra tutto il traffico diretto all'esterno verso la rete Internet. In reti più complesse in cui sono presenti parecchie subnet, ognuna di queste fa riferimento ad un gateway che si occuperà di instradare il traffico dati verso le altre sottoreti o reindirizzarlo ad altri gateway.

        https://it.wikipedia.org/wiki/Gateway_(informatica)

        Non so le impostazioni del tuo apparato, ma in internet cercando il suo nome + rotta statica (static route) dovresti trovare qualcosa

        lv0 Ho aperto la porta UDP 51820 verso il router D-Link

        Dal Gateway verso OpenWRT, non viceversa, tu devi permettere il traffico in ingresso da internet (su quella porta) verso OpenWRT, che essendo in LAN è senza firewall

        lv0 Ho inserito il DDNS (tipo mioserver.com) abilitandolo alla porta 51820

        Si mioserver.com:51820, nell'app wireguard

        lv0 Ma è normale che quando lo testo in locale non va su Internet?

        No, dovresti raggiungere internet, ma se non hai impostato la rotta statica nel gateway (punto sopra) è uno dei possibili motivi

        • lv0 ha risposto a questo messaggio

          bortolotti80 Dal Gateway verso OpenWRT, non viceversa, tu devi permettere il traffico in ingresso da internet (su quella porta) verso OpenWRT, che essendo in LAN è senza firewall

          Sul TIM Hub ho configurato il port forwarding sulla porta 51820 verso OpenWRT e ho attivato il DMZ, sempre verso OpenWRT. Il DynDNS è già attivo e configurato. Altre opzioni particolari non compaiono

            lv0 Ma il Tim Hub non puoi levarlo o metterlo in bridge?

              edofullo No, non ho altri modem (a parte il D-Link in cui gira OpenWRT, ma supporta solo ADSL)

              Cross-check, il timhub standard non ha la possibilità di aggiungere rotte statiche ( instradamenti ).
              Soluzione più semplice secondo me è attivare il masquerading sul firewall della lan del dlink, ti natta tutto il traffico ma non hai bisogno di altro sul timhub


              in alternativa puoi rootare il timhub e modificare a mano /etc/config/network per aggiungere una rotta statica, oppure installare la gui ansuel e avere veramente un router, però se ti serve solo la vpn secondo me è più rapido nattare openwrt. My2cents

              timhub stock

              timhub con gui ansuel

              • lv0 ha risposto a questo messaggio

                lv0 ho attivato il DMZ

                Va bene, tranne questo, quel dispositivo non ha un firewall, nelle impostazioni che stiamo seguendo, è inutile esporlo in internet oltre che pericoloso

                Come ha detto leofer, sembra tu non possa avere una rotta statica nel tim hub, perciò si potrebbe provare con la soluzione principale del NAT sulla rete wireguard (impostazione gestibile da openwrt come masquerading)

                edofullo E non puoi metterlo in bridge sbloccandolo con la GUI ansuel?

                Che ISP hai? Alcuni ti consentono comunque di aprire una seconda PPP sul OpenWRT.

                  • Autore
                  • Modificato

                  edofullo Ho WindTre. Se non dovessi riuscire a installare la GUI Ansuel va in brick?

                  leofer se ti serve solo la vpn secondo me è più rapido nattare openwrt

                  Si, in effetti penso sia più semplice e immediato per me che sono un novellino 🙂

                  leofer attivare il masquerading sul firewall della lan del dlink

                  Questo lo attivo in Network > Firewall e seleziono la spunta "Masquerading" della LAN => WAN?

                  • leofer ha risposto a questo messaggio

                    lv0 Ho WindTre. Se non dovessi riuscire a installare la GUI Ansuel va in brick?

                    Teoricamente no, ha due partizioni di boot con due firmware separati proprio per evitare bootloop, il bootloader è bloccato quindi non si può di fatto cambiare firmware se non le varie versioni di Tim ( la gui è un'aggiunta sopra il firmware già esistente, basato su openwrt anche lui )

                    lv0 Questo lo attivo in Network > Firewall e seleziono la spunta "Masquerading" della LAN => WAN?

                    Si esatto

                    • lv0 ha risposto a questo messaggio
                      • Autore
                      • Modificato

                      leofer Si esatto

                      Boh, non funziona lo stesso 😅 La connessione viene stabilita, ma non naviga. I log sembra ok, nel senso che mi dice connesso e ogni 25 secondi circa invia i pacchetti keepalive.
                      Non è che c'è qualche blocco firewall a monte? O magari sistemare le interfacce di OpenWRT, la WAN mi dice "empty"

                      • Autore
                      • Modificato

                      Ragazzi, forse ho trovato la luce in fondo al tunnel.
                      Praticamente non riesce a risolvere gli indirizzi. Se eseguo un ping con la VPN attiva riesco a vedere i router (TIM Hub e il D-Link). Se faccio un ping su 8.8.8.8 viene risolto, stessa cosa per 1.1.1.1. Ecco, per quest'ultimo riesco anche ad andare sul sito da Safari e ad aprire la pagina web.
                      Il problema sembra essere quindi i siti che sono scritti senza essere indirizzi IP. Non è un problema di DNS?

                      Edit: mi rispondo da solo, era un problema di DNS. Ho aggiunto i DNS di Google e funziona correttamente! Se provo a vedere il mio IP mi esce quello della linea fissa!
                      Grazie mille a tutti per l'aiuto che mi avete dato! 😃

                      Curiosità, a quanto arrivi con uno speedtest sotto vpn ?

                      Personalmente mi aspettavo qualcosina di più dal repeater che ho usato per le prove ( un Netgear ex3700 ), arrivo circa sui 20/25 mbit/s connesso in lan, ma tra wifi e CPU da 400mhz penso che più di così non riesca :/

                      • lv0 ha risposto a questo messaggio

                        leofer sotto Wi-Fi arrivo a circa 15 mbit/s, ma immaginavo di non avere prestazioni alte, sia per l’hardware del router che anche la mia linea

                        22 giorni dopo

                        Buongiorno a tutti, riprendo la discussione perchè mi ritrovo in una situazione simile ma non riesco a completare con successo la configurazione.
                        Tempo fa ho installato OperWrt su un TP-Link RE 450 (IP statico 192.168.0.3); questo è collegato tramite cavo ethernet al modem/router TIM Hub (192.168.0.1) e attualmente fa da access point wireless per coprire una parte di casa che è raggiunta a fatica dal wifi del Tim Hub.
                        Ho seguito passo passo il tutorial su https://openwrt.org/docs/guide-user/services/vpn/wireguard/server per Wireguard, configurato il forward della porta 22 dal router verso la porta 51820 del TP-Link e dopo smanettamenti vari la VPN sembra funzionare ma riesco a raggiungere solamente l'IP del TP-Link (192.168.0.3 oppure quello in VPN 192.168.9.1), nessun IP locale della 192.168.0.x e non riesco a navigare su internet. Credo che il problema sia la configurazione del firewall lato OpenWrt sul Tp-Link ma non ho idea di cosa andare a modificare. Purtroppo non ho la possibilità di impostare una rotta statica sul Tim Hub. Avete qualche suggerimento?
                        Di seguito vi riporto l'output dei comandi
                        cat /etc/config/network
                        cat /etc/config/firewall

                        root@OpenWrt:~# cat /etc/config/network
                        
                        config interface 'loopback'
                                option proto 'static'
                                option ipaddr '127.0.0.1'
                                option netmask '255.0.0.0'
                                option device 'lo'
                        
                        config globals 'globals'
                                option ula_prefix 'fde0:8fac:e820::/48'
                        
                        config interface 'lan'
                                option proto 'static'
                                option netmask '255.255.255.0'
                                option ip6assign '60'
                                option ipaddr '192.168.0.3'
                                option gateway '192.168.0.1'
                                list dns '192.168.0.1'
                                option device 'br-lan'
                        
                        config device
                                option name 'br-lan'
                                option type 'bridge'
                                list ports 'eth0'
                        
                        config interface 'vpn'
                                option proto 'wireguard'
                                option private_key '<private-key>'
                                option listen_port '51820'
                                list addresses '192.168.9.1/24'
                                list addresses 'fdf1:e8a1:8d3f:9::1/64'
                        
                        config wireguard_vpn
                                option description 'OP5'
                                list allowed_ips '192.168.9.2/32'
                                option route_allowed_ips '1'
                                option persistent_keepalive '25'
                                option public_key '<public-key>'
                        root@OpenWrt:~# cat /etc/config/firewall
                        
                        config defaults
                                option syn_flood '1'
                                option input 'ACCEPT'
                                option output 'ACCEPT'
                                option forward 'REJECT'
                        
                        config zone 'lan'
                                option name 'lan'
                                option input 'ACCEPT'
                                option output 'ACCEPT'
                                option forward 'ACCEPT'
                                list network 'lan'
                                list network 'vpn'
                        
                        config zone 'wan'
                                option name 'wan'
                                option input 'REJECT'
                                option output 'ACCEPT'
                                option forward 'REJECT'
                                option masq '1'
                                option mtu_fix '1'
                                list network 'wan'
                                list network 'wan6'
                        
                        config forwarding
                                option src 'lan'
                                option dest 'wan'
                        
                        config rule
                                option name 'Allow-DHCP-Renew'
                                option src 'wan'
                                option proto 'udp'
                                option dest_port '68'
                                option target 'ACCEPT'
                                option family 'ipv4'
                        
                        config rule
                                option name 'Allow-Ping'
                                option src 'wan'
                                option proto 'icmp'
                                option icmp_type 'echo-request'
                                option family 'ipv4'
                                option target 'ACCEPT'
                        
                        config rule
                                option name 'Allow-IGMP'
                                option src 'wan'
                                option proto 'igmp'
                                option family 'ipv4'
                                option target 'ACCEPT'
                        
                        config rule
                                option name 'Allow-DHCPv6'
                                option src 'wan'
                                option proto 'udp'
                                option src_ip 'fc00::/6'
                                option dest_ip 'fc00::/6'
                                option dest_port '546'
                                option family 'ipv6'
                                option target 'ACCEPT'
                        
                        config rule
                                option name 'Allow-MLD'
                                option src 'wan'
                                option proto 'icmp'
                                option src_ip 'fe80::/10'
                                list icmp_type '130/0'
                                list icmp_type '131/0'
                                list icmp_type '132/0'
                                list icmp_type '143/0'
                                option family 'ipv6'
                                option target 'ACCEPT'
                        
                        config rule
                                option name 'Allow-ICMPv6-Input'
                                option src 'wan'
                                option proto 'icmp'
                                list icmp_type 'echo-request'
                                list icmp_type 'echo-reply'
                                list icmp_type 'destination-unreachable'
                                list icmp_type 'packet-too-big'
                                list icmp_type 'time-exceeded'
                                list icmp_type 'bad-header'
                                list icmp_type 'unknown-header-type'
                                list icmp_type 'router-solicitation'
                                list icmp_type 'neighbour-solicitation'
                                list icmp_type 'router-advertisement'
                                list icmp_type 'neighbour-advertisement'
                                option limit '1000/sec'
                                option family 'ipv6'
                                option target 'ACCEPT'
                        
                        config rule
                                option name 'Allow-ICMPv6-Forward'
                                option src 'wan'
                                option dest '*'
                                option proto 'icmp'
                                list icmp_type 'echo-request'
                                list icmp_type 'echo-reply'
                                list icmp_type 'destination-unreachable'
                                list icmp_type 'packet-too-big'
                                list icmp_type 'time-exceeded'
                                list icmp_type 'bad-header'
                                list icmp_type 'unknown-header-type'
                                option limit '1000/sec'
                                option family 'ipv6'
                                option target 'ACCEPT'
                        
                        config rule
                                option name 'Allow-IPSec-ESP'
                                option src 'wan'
                                option dest 'lan'
                                option proto 'esp'
                                option target 'ACCEPT'
                        
                        config rule
                                option name 'Allow-ISAKMP'
                                option src 'wan'
                                option dest 'lan'
                                option dest_port '500'
                                option proto 'udp'
                                option target 'ACCEPT'
                        
                        config include
                                option path '/etc/firewall.user'
                        
                        config rule 'wg'
                                option name 'Allow-WireGuard'
                                option src 'wan'
                                option dest_port '51820'
                                option proto 'udp'
                                option target 'ACCEPT'

                        geranom Sicuro che ne valga la pena? Una vpn come mullvad, che considero personalmente buona, costa 5 euro al mese e non hai limitazioni sulla velocità.

                        Secondo me il vantaggio non è il risparmio economico. Ma con tutte le limitazioni del caso (FTTC si satura in fretta purtroppo) è poter dare un ip RESIDENZIALE italiano al familiare all'estero. Così non si hanno problemi di ban vari dai servizi streaming per ip datacenter come la maggior parte delle VPN commerciali.

                        Informativa privacy - Informativa cookie - Termini e condizioni - Regolamento - Disclaimer - 🏳️‍🌈
                        P.I. IT16712091004 - info@fibraclick.it

                        ♻️ Il server di questo sito è alimentato al 100% con energia rinnovabile