L'angolo di Ansuel: ricerca e sviluppo su DGA4130 (AGTEF) & DGA4132 (AGTHP)

  • 2281 Risposte
  • 1128057 Visite

0 Utenti e 7 Visitatori stanno visualizzando questo topic.

Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
Grazie, appena finisco di sistemare i miei problemini con la doppia wan ed mmpbx inizio a giocarci un pochino.

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
lo scrivo qua, perchè forse è il topic più indicato. ho creato uno script bash che mi va a backuppare le configurazioni che ho modificato nel corso del tempo al mio TIM Hub, così in caso di problemi dovuti ad aggiornamenti o errori di configurazioni si può sempre resettare e ricaricarci le configurazioni salvate. io per comodità questo script lo faccio partire tutte le notti da un raspberry e va salvare le configurazioni in un hd collegato al TIM Hub. Nulla vieta di farlo girare direttamente sul modem. funziona tutto tramite scp.  se qualcuno è interessato o pensa si possa mettere a disposizione di tutti me lo può tranquillamente utilizzare o postare.

Codice: [Seleziona]
#!/bin/bash

ROOT=/mnt/NAS/Backup/DGA4132
FILES=/mnt/NAS/Backup/DGA4132/files

rm -rf $FILES

mkdir -p $FILES/etc/opkg
mkdir -p $FILES/etc/dropbear
mkdir -p $FILES/etc/init.d
mkdir -p $FILES/usr/share

cd $FILES

touch ./etc/opkg/distfeeds.conf

scp [email protected]:/etc/banner ./etc/
scp [email protected]:/etc/dropbear/authorized_keys ./etc/dropbear/
scp [email protected]:/etc/hosts ./etc/
scp [email protected]:/etc/init.d/asterisk ./etc/init.d/
scp -r [email protected]:/etc/adsl ./etc/
scp -r [email protected]:/etc/asterisk ./etc/
scp -r [email protected]:/etc/config ./etc/
scp -r [email protected]:/root ./
scp -r [email protected]:/usr/share/asterisk ./usr/share/

zip -r $ROOT/DGA4132_`date +%Y%m%d_%H%M%S`.zip *

exit 0

come potete tranquillamente vedere crea uno zip con la data
« Ultima modifica: 09 Febbraio 2020, 16:17 da nclmrc »

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@Marvel alla fine devi riuscire a mettere la rotta che punta verso il gateway della pppoe voce, nella routing table voce. Giusto?

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@LuKePicci questo il mio file mwan
Codice: [Seleziona]
config globals 'globals'

config policy 'voip'
        option interface 'voip'

config rule 'voip_e'
        option policy 'voip'
        option dest_port '40000:65000'

config rule 'voip_f'
        option policy 'voip'
        option dest_port '5060'

interface voip è fondamentale affinchè asterisk si registri. quelle due rule non sono determinanti, sai che funzione svolgono?

Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
lo scrivo qua, perchè forse è il topic più indicato. ho creato uno script bash che mi va a backuppare le configurazioni che ho modificato nel corso del tempo al mio TIM Hub
Siamo tutti pazzi qui :-) Io faccio partire una volta a settimana un backup verso il mio server rsyncd e la destinazione è inclusa nei backup rsnapshot del server.

@Marvel alla fine devi riuscire a mettere la rotta che punta verso il gateway della pppoe voce, nella routing table voce. Giusto?
In teoria non è più molto chiaro cosa io debba fare, ho fatto in modo che tramite questo script hotplug:
https://www.ilpuntotecnico.com/forum/index.php/topic,78585.msg260415.html#msg260415

le tabelle di routing vengono organizzate sempre in questo modo:
https://www.ilpuntotecnico.com/forum/index.php/topic,78585.msg260399.html#msg260399

ed mmpbx dovrebbe registrarsi sempre sulla prima wan che utilizza la tabella di routing main, ma se all'avvio delle interfacce l'ultima a partire è la wan2 allora mmpbx non riesce a registrarsi e dai log vedo l'errore che ho postato in qualche post fa.
Al momento ho risolto con uno script hotplug facendo in modo che l'interfaccia wan sia sempre l'ultima ad attivarsi, funziona tutto alla perfezione ma questo workaround non mi soddisfa.
Tu ora mi parli di gateway ppoe voce e routing table voce, mi spieghi meglio?

@LuKePicci , intanto giusto una curiosità, sto utilizzando senza problemi questo script mwan:
Codice: [Seleziona]
config globals 'globals'

config policy 'if1_mwan'
option interface 'wan'

config host 'hostvoip'
option policy 'if1_mwan'
list path '/usr/bin/mmpbxd'

config rule 'if1_e'
option policy 'if1_mwan'
option dest_port '40000:65000'

config rule 'if1_f'
option policy 'if1_mwan'
option dest_port '5060'

config policy 'wan_only'
option interface 'wan'

config policy 'wan2_only'
option interface 'wan2'

config rule 'lan_wan'
option policy 'wan_only'
option src 'lan'

config rule 'lan2_wan2'
option policy 'wan2_only'
option src 'lan2'

ma se provo a modificarlo utilizzando i nomi presenti in quello originale in questo modo:
Codice: [Seleziona]
config globals 'globals'

config policy 'if1_mwan'
        option interface 'wan'

config policy 'if2_mwan'
        option interface 'wan2'

config host 'hostvoip'
        option path '/usr/bin/mmpbxd'
        option policy 'if1_mwan'

config rule 'if1_e'
        option policy 'if1_mwan'
        option dest_port '40000:65000'

config rule 'if1_f'
        option policy 'if1_mwan'
        option dest_port '5060'

config rule 'lan_if1'
        option policy 'if1_mwan'
        option src 'lan'

config rule 'lan2_if2'
        option policy 'if2_mwan'
        option src 'lan2'


allora i dispositivi nella rete non riescono più a prendere i dns dal router, non è strano? non dovrebbero essere equivalenti?
« Ultima modifica: 09 Febbraio 2020, 17:51 da MisterFTTH »

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@Marvel prova a fare così, secondo me ti funziona.
metti la navigazione internet nella tabella main, la voce nella tabella voip
cancella l'interfaccia voip che viene generata di default, l'interfaccia dedicata alla voce chiamala voip e mettici sia dnsset voip sia ipv4table voip, il file mwan mettilo come era di default e cambia solo l' interfaccia in voip, in mmpbx metti voip come interfaccia
« Ultima modifica: 09 Febbraio 2020, 18:16 da nclmrc »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
@nclmrc nel tuo caso non ti occorrono né mwan né la tabella separata. Ti basta disabilitare mwan (o svuotarlo completamente), disabilitare la defaultroute sull'interfaccia voip, rimuovere l'opzione ip4table dall'interfaccia voip e aggiungere la rotta statica verso 10.0.0.0 attraverso 10.56.17.1 che immagino sia statico. Eì così che facciamo solitamente su Vodafone e Tiscali. mwan non ti è di alcuna utilità perchè quella e solo quella subnet è raggiungibile tramite pppoe-voip quindi il problema non si pone. Inizia a servirti mwan nel momento in cuo non disabiliti la defaultorute dell'interfaccia voip, perchè se non assegni a quella interfaccia una tabella separata ti ritrovi con due default route (una non valida perchè non hai accesso al web tramite pppoe-voip) nella stessa tabella, e non funziona più nulla. Riguardo il tuo file mwan attuale: se togli la prima regola o disattivi mwan senza disattivare la defaultroute dell'interfaccia voip perdi connettività alla rete, le altre due servono per il traffico proveniente dalla lan, se non le rimuovi non riesci a connettere alcun client voip SIP/RTP su porta 5060/40000:65000

@Marvel ho un'altra idea. Prova a configurare una terza pppoe, puoi riciclare quella che c'è già chiamata voip che dovrebbe già essere in zona wan sul firewall, mettile option defaultroute a 0, mettile option ip4table a voip (che già c'è in /etc/iproute2/rt_tables), Torna nella config di mwan, aggiungi una policy voip_only sulla stregua delle altre due simili, poi assegnala alla direttiva host per mmpbx al posto della wan_only che hai ora. Metti voip come interfaccia in mmpbxrvsipnet e riaggiungi la rotta statica verso il proxy che avevamo scartato, con option table a voip. Questa rotta statica dovrà essere l'unica presente nella tabella voip, main e main2 lasciale come vengono. Se le altre due hanno metrica 10 e 20, dai 30 come metrica alla rotta statica (e all'interfaccia voip, ma con defaultroute a 0 credo sia inutile).
« Ultima modifica: 09 Febbraio 2020, 18:47 da LuKePicci »

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@LuKePicci volevo provare con due routing table distinte e due default router per non dover mettere le rotte statiche. Mi funziona mettendo in mwan l'interfaccia Voip. Sai dirmi cosa serve dnsset?
Grazie

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@LuKePicci praticamente serve per limitare l'uso dei dns associati all'interfaccia voip alla sola l'interfaccia voip?
se è così è perfetto, almeno all'interfaccia del voip ci associ quelli ottenuti dal tuo operatore tramite peerdns, e per i dati su routing table main ci metti quelli che vuoi te.
comunque tornando al problema di @Marvel , a me adesso sta funzionando asterisk su routing table voip, semplicemente mettendo in mwan l'interfaccia voip. visto che la rotta che punta al gateway voip sta sempre nella main table, chi dice ad asterisk che deve usare il gateway voip per raggiungere il sip proxy? secondo te @LuKePicci il match avviene sull'interfaccia o sul gateway?
« Ultima modifica: 09 Febbraio 2020, 19:29 da nclmrc »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
l'option dnsset serve a taggare i dns ricevuti/impostati su quell'interfaccia, cioè tu imposti dnssat per l'interfaccia su "cacca", poi vai in mwan e crei delle dnsrule secondo le quali un certo dominio va risolto dai dns taggati "cacca" contattati attraverso una certa policy, tipo wan_only (che di solito corrisponde punta all'interfaccia su cui hai impostato quel tag). Serve a risolvere quelle situazioni in cui ogni interfaccia prende i suoi dns e a seconda di quello che devi fare i dns da contattare cambiano. In dnsmasq puoi già impostare filtri su domini specifici ma poi devi anche spiegare a dnsmasq come contattare quel server e se i loro indirizzi cambiano poi è un problema.

se è così è perfetto, almeno all'interfaccia del voip ci associ quelli ottenuti dal tuo operatore tramite peerdns, e per i dati su routing table main ci metti quelli che vuoi te.
Sì ma questa cosa la fai normalmente anche senza dnsset se il server dns del provider ha un ip statico. Con dnset + mwan puoi rendere questa procedura automatica prendendo i dns ricevuti in fase di connessione. Purtroppo eprò questa soluzione non è gestibile in situazioni comuni, ad esempio:
- su tiscali, i nomi dei server sip raggiungibili su interfaccia voip devono essere risolti dal server dns tiscali su interfaccia voip, che non è pppoe ma ip statica, quindi le semplici regole manuali in dnsmasq hanno il medesimo effetto
- su Vodafone, i nomi dei server sip raggiungibili su interfaccia voip devono essere risolti dai server Vodafone su interfaccia wan, ma se aggiungo un list dns 1.1.1.1 in wan ed imposto dnsset di wan su "Vodafone" poi ottengo tre dns taggati "Vodafone", i loro due e il mio 1.1.1.1. A quel punto non posso andare in mwan a dire che i nomi dei proxy vanno risolti dal dnsset "Vodafone" perchè 1.1.1.1 non è valido

« Ultima modifica: 09 Febbraio 2020, 19:36 da LuKePicci »

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@LuKePicci nel frattempo avevo modificato il post precedente. sai darmi quella risposta?

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
comunque tornando al problema di @Marvel , a me adesso sta funzionando asterisk su routing table voip, semplicemente mettendo in mwan l'interfaccia voip. visto che la rotta che punta al gateway voip sta sempre nella main table, chi dice ad asterisk che deve usare il gateway voip per raggiungere il sip proxy? secondo te @LuKePicci il match avviene sull'interfaccia o sul gateway?

Tu non hai detto ad asterisk quale routing table andare a guardare, non hai aggiunto alcuna direttiva host per asterisk. L'unico effetto del creare una policy con assegnata l'interfaccia voip in mwan è che mwan va a gestire la separazione dei lookup tra la tabella main e la tabella indicata nell'interfaccia voip, ovvero voip. In questa situazione la defaultroute attraverso voip non rompe le scatole all'altra ed internet continua a funzionare. Senza il suo intervento non riusciresti a tenere due defaultroute nella tabella main senza che succedano casini perchè credo che dalla pppoe del voip tu non abbia accesso ad internet (non ho ancora capito chi è il tuo provider). Per rispondere alla tua domanda mi serve sapere l'ip del proxy sip.
« Ultima modifica: 09 Febbraio 2020, 20:42 da LuKePicci »

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@LuKePicci il sip server proxy ha un ip pubblico al di fuori della rete quindi 10.0.0.0/8, secondo me da come si comporta questa CPE riesce ad intercettare il traffico SIP/RTP autonomamente e lo fa passare nell'interfaccia dichiarata nel file mwan, comunque la rotta di default della pppoe-voip sta nella routing table voip

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Quindi l'ip 10.0.0.0/8 del proxy sip è raggiungibile solo e soltanto da pppoe-voip? Sei assolutamente sicuro che dalla pppoe-wan quell'ip non sia raggiungibile? Ho provato a replicare la tua situazione e ti confermo che non funziona, cioè che avendo la route onlink in tabella main o voip, la default route in tabella voip, mwan attivo con policy voip definita ma mai applicata all'host, mmpbx non sa come raggiungere l'ip del proxy su 10.0.0.0/8, Non c'è niente su questo firmware in grado di dirottare su una o altra wan il traffico voip al di fuori di mwan, che però non tocca assolutamente i servizi in esecuzione sul device a meno che non vi aggiungi la direttiva host (come spiegato nel pdf). Ripeto, sei assolutamente certo che da pppoe-wan l'ip del proxy voip non sia raggiungibile?

Aspetta, ma tu hai l'helper sip attivo su loopback vero? Se sì, è quello.
« Ultima modifica: 10 Febbraio 2020, 00:16 da LuKePicci »