Última sesión trabajo avance testbed antes de encuentro canòdrom

Acta de sesión anterior Sesión de trabajo / reunión para avanzar con el testbed - #2 per exopedro

Preparación encuentro Despleguem la Xarxa Experimental del Canòdrom

@exopedro: como voy a traer yo los routers (a menos que alguien venga a mi casa a buscarlos) espero llegar sobre las 19:30 porque salgo de otro sitio

participan: ángel, marek, @ilario , @exopedro

tiempo: 20:22-22:30

  • en el firmware por defecto, ya hay sharedstate (que es una forma de compartir datos entre nodos) instalado, lo exploramos ~/tmp/shared-state/data/nodes_and_links.json~ y allí descubrimos que hay datos sobre toda la red “nodes and links”, ejemplo de extracto:
    {
      "LiMe-a5fa36": {
        "bleachTTL": 22,
        "data": {
          "hostname": "LiMe-a5fa36",
          "coordinates": {
            "lon": "FIXME",
            "lat": "FIXME"
          },
          "macs": [
            "a0:f3:c1:a5:fa:35",
            "a0:f3:c1:a5:fa:36"
          ],
          "links": []
        },
        "author": "LiMe-a5fa36"
      },
    
  • hemos visto juntas la configuración del bird2 babel nodo y gateway que usan en la mesh de castellar del vallès; ok parece fácil (son unos ficheros de configuración de 80 líneas, bien sencillos) y se podría probar como alternativa a babeld (de ahí vi sentido en que hagamos este experimento Experiment: babeld vs bird2 )
  • ilario propone que miremos qué más podríamos mirar via fichero ~/docs/lime-example.txt~ también consultable via web en http://thisnode.info/docs/lime-example.txt (recordar que thisnode.info es el DNS por defecto cuando se usa libremesh)
  • visitamos por encima la limeapp
    • el mapa requiere de internet para funcionar “Cannot load map, check your internet connection”
    • probamos el cambio de nombre http://thisnode.info/app/#/changenode
    • problemas al cambiar el nombre relacionadas con este bug: en node configuration, al darle a enter, hace refresh, si luego le das aplicar a configuración te pide reiniciar (aunque en el fondo no cambió nada por el refresh)
    • todos los nodos hacen resolución dns, si por ejemplo mi portátil se llama miportatil según el /etc/hosts y /etc/hostname, cualquier equipo de la red podrá acceder; lo mismo con los nombres de los nodos
      root@LiMe-3e9dc6:~# nslookup miportatil
      Server:		127.0.0.1
      Address:	127.0.0.1:53
      
      Name:	host1.thisnode.info
      Address: 10.13.62.223
      
      Non-authoritative answer:
      
      root@LiMe-3e9dc6:~#
      
    • comprobamos que tiene un asistente de alineación de antena wifi que es bien interesante, incluye además asistente por voz
  • ilario nos comenta que babel se usa solo cuando tú conectas comunidades diferentes, y la definición de una red es que todos los dispositivos comparten el mismo ESSID. Dentro de una comunidad se usa batman-advance (propagación de la lan en toda la red)
  • para la resolución de dominios, se hace con un fichero de dns hosts en el shared state /tmp/shared-state/data/dnsmasq-hosts.json
  • al hacer un cambio de nombre de un dispositivo, el tiempo de propagación de DNS es bastante lento, después de reiniciar el nodo tarda alrededor de… 15 minutos?
  • siguiendo con las posibles configuraciones
    • destacar que option deferable_reboot_time_s '97200, si instalas el paquete el nodo se reinicia periódicamente (es útil con algunos dispositivos que no funcionan bien cuando llevan mucho tiempo en marcha. También puedes decir que no se reinicie todavía)
    • firstbootwizard, configuración muy específica de libremesh, más fácil de configurar, pero más estricta
    • hemos visto una opción que podría ser útil para hacer vlan untagged (desactivar vlan), en la lista de protocolos: list protocols batadv:0 (relacionado: #631: Support Babeld without VLAN on ethernet interfaces inside br-lan, replaces #600)
    • también hay una configuración para evitar un bug en ath9k, que es que a largo plazo, este driver wireless se vuelve ciego
      option unstuck_interval '10'			# Interval in minutes that defines how often to run the workaround script provided by the package wifi-unstuck-wa that rescan all available frequencies in active radios.
      option unstuck_timeout '300'			# Timeout in seconds that defines how long the mentioned above workaround should go.
      
      • comprobamos que por defecto está instalado (wa es de workaround)
        # opkg list | grep unstu
        wifi-unstuck-wa - 2024-04-03-1712175033
        
    • la sección para arrancar comandos uci arbitrarios está aquí
      ### Configuration directed to other UCI files
      
      config generic_uci_config uhttpd_https
      list uci_set 'uhttpd.main.redirect_https=0'	# disable automatic redirect from http to httpS web interface, decided in order to decrease the CPU usage by shared-state and ubus-lime-metrics
      
    • wan es autoconfigurado (destruye configuración a mano)
      config net lm_hwd_openwrt_wan				# this interface gets created by lime-hwd-openwrt-wan package in case an ethernet WAN port is detected
      	option autogenerated 'false'			# this line specify that the configuration of the WAN ethernet port has been manually edited, creating an empty configuration for it and practically disabling it
      
    • esto ayuda a regular usos específicos o dedicados a usuarios, routing, etc. (por la wifi no es del todo problemático porque va por sitios diferentes mesh 802.11s vs station/access point, pero por cable todo es ethernet junto)
      ## (optional) configure lan1 for connection to other nodes, not for users connection:
      config net
      	option linux_name 'lan1'
      	list protocols 'batadv:%N1'  #needs to be specified if the other node is in the same mesh cloud i.e. same ssid
      	list protocols 'babeld:17'
      
      ## (optional) configure lan1 for users to connect to, not for connection to other nodes:
      config net
      	option linux_name 'lan1'
      	list protocols 'lan'
      
    • sección de la configuración de BGPs
      #########################################################
      ### Proto BGP specific sections
      ### One section for each BGP peer
      
      #config bgp_peer peer1
      #	option remoteIP '192.0.2.6'
      #	option remoteAS '65550'
      
      #config bgp_peer peer2
      #	option remoteIP '2001:db8::c001'
      #	option remoteAS '65549'
      
  • a nivel de dns para la red y hacia internet, se ve que hay una resolución de dns gestionado por una fundación suiza que es 9.9.9.9 https://quad9.net/ , alguien comenta que una vez tuvo problemas con resolución de servicios de microsoft
  • comentamos brevemente que
  • al finalizar la sesión vemos que con el firmware por defecto y sin nada añadido, ya tenemos muchas cosas para probar la experiencia de red comunitaria