Installazione e configurazione di ramond

Nell'attesa che venga pacchettizzato, ecco qualche istruzione di compilazione e installazione manuale di ramond, una delle soluzioni suggerite da RFC6104 per ovviare il problema dei rogue router advertisements.
  1. Procurarsi il sorgente della versione 0.5 di ramond, con almeno una patch che corregge un problema importante delle versione 0.5 distribuita: ramond-0.5patch.tar.gz
    • Nota 1: la versione 0.5 in sourceforge contiene un baco per cui la lifetime dei prefissi annunciati non viene ridotta a 2 ore, ma a 538 milioni di secondi (17 anni!).
    • Nota 2: le versioni precedenti alla 0.5 non azzerano le lifetime delle altre rotte e dei prefissi propagati assieme ai Router Advertisement, dunque non sono sufficienti.
  2. Assicurarsi che siano installati i pacchetti di development di libxml2, libapr1 e libpcap. Devono essere presenti nel PATH sia apr-1-config che xml2-config
  3. Compilare con make
  4. Installare l'eseguibile (ramond) in una adatta posizione (ad esempio /usr/local/sbin.
  5. Installare un handler per gli eventi rilevati da ramond ad esempio come /usr/local/sbin/ramond_handler.pl. Un esempio di semplice handler che riempie un file di log (lo stesso file è configurato come file di log di ramond in ramond.conf, vedi sotto) si trova qui. Per utilizzarlo va prima creata la directory /var/local/ramond. Il corrispondente file di log /var/local/ramond/log andrebbe aggiunto alla configurazione di logrotate (/etc/logrotate.conf o /etc/logrotate.d):
    /var/local/ramond/log {
        weekly
        rotate 6
        compress
        missingok
    }
         
  6. Copiare in /etc il file ramond.conf.dtd e creare il file di configurazione /etc/ramond.conf. Un template di /etc/ramond.conf che opera su un segmento di rete con un solo router autorizzato a generare Router Advertisement corretti per un solo prefisso IPv6, e causa la disabilitazione automatica di tutti quelli indesiderati, si trova qui. Cambiare i due parametri indicati con CHANGEME. Anche se non è stato ancora attivato il peering IPv6, si può inserire il MAC address del router di frontiera ed il prefisso IPv6 già assegnato alla sezione (elenco qui).
  7. Occorre evitare che i Router Advertisement 'rogue' vengano accettati dalla macchina dove gira ramond, perché i pacchetti di cancellazione non hanno effetto sulla macchina locale. E' un po' brutale, ma si può disabilitare completamente la ricezione di RA sull'interfaccia sulla quale ramond è in ascolto, con questo attributo di sysctl:
    sysctl -w net.ipv6.conf.interface.accept_ra=0
    (da inserire anche in /etc/sysctl.conf).
  8. Avviare ramond inserendolo in /etc/inittab:
    rmnd:2345:respawn:/usr/local/sbin/ramond
    e ricaricando la inittab con telinit q. I messaggi di log vengono inviati via syslog.