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

  • 2281 Risposte
  • 1128016 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Quelle rule le crea mwan in /usr/lib/mwan/setup.sh nella funzione mwan_update_ip_rules(), e sinceramente mi sembra strano possano aver commesso un errore così banale in un contesto in cui fanno riferimento alla variabile col nome della tabella giusta ogni due righe, credo sia corretto così.
« Ultima modifica: 07 Febbraio 2020, 21:05 da LuKePicci »

Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
Bene, quindi ora devo "solo" fare in modo che openwrt mi crei automaticamente le tabelle come ho fatto io manualmente. Mi parlavi di intervenire sugli upscript ppp di netifd, per me è arabo, mi metto subito a studiare. Tu puoi darmi una mano?

#POSTEDIT
Dopo aver reimpostato le tabelle avevo provato con successo le wan dal router, ora ho proprio provato le due vlan distinte e funzionano alla perfezione.
« Ultima modifica: 07 Febbraio 2020, 23:17 da Marvel »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
E' molto semplice, questo è lo script che viene eseguito non appena la connessione ppp va in porto https://github.com/openwrt/openwrt/blob/master/package/network/services/ppp/files/lib/netifd/ppp-up

Fai in modo che quello script sistemi la route mettendo quei due comandi lì dentro

Come vedi ad un certo punto chiama delle funzioni di netifd definite qui https://git.openwrt.org/?p=project/netifd.git;a=blob;f=scripts/netifd-proto.sh;h=87d337df07e9aa94b80ea53d050eadde791739d9;hb=HEAD che però sembra fregarsene di usare le giuste tabelle scelte in ip4table.


Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
Ci provo, anche se la modifica non sembra proprio così semplice :-)
Se dovessi riuscirci posto lo script modificato. Se riusciamo a far funzionare il tutto abbiamo fatto veramente na bella cosa.

POSTEDIT:
Ho visto che lo script ppp-up utilizza anche gli scipt in /etc/ppp/ip-up.d/*:
https://openwrt.org/docs/guide-user/services/vpn/pptp/client
Ed ho inoltre scoperto che si possono anche utilizzare degli script hotplug situati in /etc/hotplug.d/iface/:
https://openwrt.org/docs/guide-user/base-system/hotplug
Credo che quest'ultima sia la soluzione migliore.
« Ultima modifica: 08 Febbraio 2020, 00:53 da Marvel »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Per fare prove va bene qualsiasi cosa ma dato che l'indirizzo sull'interfaccia viene creato proprio nell'upscript mettere lì quelle regole è iù semplice. solo lì hai già le variabili con i valori che ti occorrono del gateway, dell'ip assegnato e dell'interfaccia, altrimenti devi andarteli a pescare in qualche strano modo.

Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
Già provato in entrambi i modi, riesco a creare correttamente le tabelle ma il voip continua a fare i capricci, quando wan2 si attiva per ultima lui continua a non registrarsi.

Ho provato creando uno script in /etc/hotplug.d/iface/:
Codice: [Seleziona]
if [ "$ACTION" = "ifup" ] && [ "$INTERFACE" = "wan2" ]; then
public_ip_wan2=`ifconfig pppoe-wan2 | grep 'addr:' | cut -d: -f2 | awk '{ print $1}'`
ip route del 192.168.100.1 dev pppoe-wan2 proto kernel scope link src $public_ip_wan2
ip route add 192.168.100.1 dev pppoe-wan2 table main2 proto kernel scope link src $public_ip_wan2
fi

ed ho provato aggiungendo al file /lib/netifd/ppp-up il seguente codice:
Codice: [Seleziona]
public_ip_wan2=`ifconfig pppoe-wan2 | grep 'addr:' | cut -d: -f2 | awk '{ print $1}'`
ip route del 192.168.100.1 dev pppoe-wan2 proto kernel scope link src $public_ip_wan2
ip route add 192.168.100.1 dev pppoe-wan2 table main2 proto kernel scope link src $public_ip_wan2

In entrambi i casi le tabelle vengono create correttamente ma il voip rompe ancora le scatole.
Vedo di forzare l'ordine di avvio delle interfacce per risolvere il problema.

P.S.: In ppp-up quali sono le variabili con i valori del gateway, dell'ip assegnato e dell'interfaccia? Ho provato ad utilizzare $IPREMOTE convinto che fosse la variabile per l'ip pubblico ma non andava.
« Ultima modifica: 08 Febbraio 2020, 13:20 da Marvel »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
IPREMOTE è il gateway, IPLOCAL è l'ip pubblico che ti assegnano.

Prova ad assegnargli anche una metrica diversa dall'altra.
« Ultima modifica: 08 Febbraio 2020, 10:24 da LuKePicci »

Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
Già ci sono le metriche che avevamo impostato prima in network, per curiosità ieri sera le ho rimosse per vedere che succedeva ed ha smesso di funzionare una delle due wan.

Veramente assurdo che il voip continui a voler usare l'ultima wan ad attivarsi nonostante le rotte.

@LuKePicci , diciamo che ho risolto facendo in modo che il mio script hotplug mi faccia un ifup wan dopo ogni ifup wan2, in questo modo wan è sempre l'ultima a registrarsi e tutto funziona correttamente. Ma non è una soluzione che mi piace più di tanto. Vorrei tanto capire perché mmbpxd si comporta in questo modo bizzarro.

#POSTEDIT
Credo comunque che sia proprio mwan a fare casino, infatti tramite l'hotplug /etc/hotplug.d/iface/15-mwan richiama lo script /usr/lib/mwan/setup.sh per ogni ifups/ifdown delle interfacce.
« Ultima modifica: 08 Febbraio 2020, 16:21 da Marvel »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Io intendevo le metriche sulle due rotte del gateway, lì le metriche non le vedo comparire mentre appaiono correttamente sulle due default route.

Di sicuro mwan rifà l'ifup quando serve, infatti i log che hai postato per farmi vedere l'ordine dipendevano da lui e non dal reload. Per escludere che sia lui il problema ti basta disattivarlo, stopparlo e riavviare il router. A quel punto vedi se facendo i vari reload ad un certo punto si spacca o meno.

Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
Io intendevo le metriche sulle due rotte del gateway, lì le metriche non le vedo comparire mentre appaiono correttamente sulle due default route.
L'ho capito dopo, provato, non cambia nulla.

Di sicuro mwan rifà l'ifup quando serve, infatti i log che hai postato per farmi vedere l'ordine dipendevano da lui e non dal reload.
Infatti non capivo come accadesse, ma l'ho capito ieri spulciando gli script hotplug.

Per escludere che sia lui il problema ti basta disattivarlo, stopparlo e riavviare il router. A quel punto vedi se facendo i vari reload ad un certo punto si spacca o meno.
Questa è una cosa che posso fare.

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@LuKePicci secondo te apportando delle modifiche a mwan è possibile far funzionare asterisk con una sua routing table dedicata?

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Credo di sì, con una regola host tipo quella che c'è di default. Però il tuo caso specifico non lo conosco, anche tu hai a che fare con due wan dati o una è su vlan dedicata voce?

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
Mi funziona tutto.

Codice: [Seleziona]
root@DGA4132:~# ip route show table all
default via 10.56.17.1 dev pppoe-voip table voip proto static
local default dev lo table tod scope host
default via 46.182.152.1 dev pppoe-wan proto static
10.56.17.1 dev pppoe-voip proto kernel scope link src 10.56.29.6
46.182.152.1 dev pppoe-wan proto kernel scope link src xxx.xxx.xxx.xxx
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.253
192.168.10.0/24 dev eth4 proto kernel scope link src 192.168.10.1
192.168.168.0/25 dev wl0_1 proto kernel scope link src 192.168.168.1
192.168.168.128/25 dev wl1_1 proto kernel scope link src 192.168.168.129
239.0.0.0/8 dev br-lan scope link

root@DGA4132:~# asterisk -rvvv
Asterisk 13.20.0, Copyright (C) 1999 - 2014, Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 13.20.0 currently running on DGA4132 (pid = 5640)
DGA4132*CLI> sip show registry
Host                                    dnsmgr Username       Refresh State                Reg.Time                 
xxxxxxxxxxxx:5060                       N      xxxxxxxxx@       105 Registered           Sun, 09 Feb 2020 15:23:00
1 SIP registrations.
DGA4132*CLI>

@LuKePicci cosa serve l'opzione dnsset in network?

Offline Marvel

  • Membro Anziano
  • ***
  • 200
    • Macoers
Ciao @nclmrc , sto pensando da un pò di installare anche io asterisk, ma come lo tieni configurato? In cascata su mmpbx?

Offline nclmrc

  • Membro Anziano
  • ***
  • 246
@Marvel come linea guida ho sequito questa https://www.ilpuntotecnico.com/forum/index.php?topic=80658.0
in pratica è l'inverso, è mmpbx che ti consente di registrare le due fxs come estensioni di asterisk, l'importante è far girare asterisk e mmpbx su porte diverse.