---
format: markdown
...
# RIPE  

    Vorbemerkung  
    Damit DNS-Anfragen beantwortet werden können, muss das Forward- und Reverse-Mapping eingerichtet werden.  
    Das geschieht in der RIPE-Datenbank, deren Bedienung hier besprochen wird.  

#   Bedeutung
RIPE steht als Abkürzung für Réseaux IP Européens (Europäisches IP Netz). RIPE ist eine Arbeitsgemeinschaft  
europäischer Internetbetreiber, in der das (europäische) Internet koordiniert wird. [1]  
Für die Vergabe von IPs ist das RIPE NCC zuständig (Réseaux IP Européens Network Coordination Center). [2]  

#   Benutzung  
1.  Abfragen unter <https://apps.db.ripe.net/db-web-ui/#/query>  
    für Änderungen einen Account anlegen / anmelden (Icon oben rechts).  
2.  Dann person/mntner-Pärchen mit auth:PGPKEY in der RIPE-DB erzeugen, dafür gibt es eine spezielle  
    grafisch gestützte Routine. Dann einen NIC-HDL erstellen. Wenn man z.B. für den Namen Aselmann  
    die Datenbank abfragt, meldet sie z.Zt. als person: Michael Aselmann mit  nic-hdl: MA24644-RIPE und mnt-by: MICHMAN-MNT. 

    Dasselbe Ergebnis lässt sich auch mit whois erzeugen:

~~~
% whois -Br Aselmann

% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Information related to 'MA24644-RIPE'

person:         Michael Aselmann
address:        Freifunk Dortmund e.V.
address:        Braunschweiger Strasse 22
address:        DE-44145-Dortmund
phone:          +49 231 8404694
nic-hdl:        MA24644-RIPE
mnt-by:         MICHMAN-MNT
notify:         m.aselmann@freifunk-dortmund.de
created:        2021-06-24T19:20:12Z
last-modified:  2021-06-28T21:57:13Z
source:         RIPE

% This query was served by the RIPE Database Query Service version 1.101 (HEREFORD)
~~~
    Für Frank zeigt sie Folgendes an:  
    ohne whois Vor- und Nachspann:
~~~
person:          Frank Beythien
address:         Freifunk Dortmund e.V.
address:         Braunschweiger Strasse 22
address:         DE-44145-Dortmund
phone:           +49 231 8404694
nic-hdl:         FCB30-RIPE
mnt-by:          FB123-MNT
notify:          efbe@prima.de
created:         2021-06-11T15:12:50Z
last-modified:   2021-07-08T18:59:38Z
source:          RIPE
~~~

#   Benutzung per signierter Email  
Während interaktive RIPE Änderungen nach Anmeldung möglich sind, müssen bei Änderungen per Email weitere Voraussetzungen erfüllt sein:  
    1.   Es muss ein gültiger PGPkey public / private vorhanden sein  
     2.   Der public key muss in die RIPE db eingetragen werden und mit dem Maintainer verknüpft werden.  
     Diese nur einmal nötigen Schritte können nur interaktiv erfolgen.  
     - public key exportieren in ASCII hier als Beispiel für Frank:  
            'gpg -a --export 1220f28c >pubkey.asc'   
     - key-cert Objekt anlegen  
       Zur Info die möglichen Angaben: 

~~~
% whois -t key-cert

key-cert:       [mandatory]  [single]     [primary/lookup key]
method:         [generated]  [single]     [ ]
owner:          [generated]  [multiple]   [ ]
fingerpr:       [generated]  [single]     [inverse key]
certif:         [mandatory]  [multiple]   [ ]
org:            [optional]   [multiple]   [inverse key]
remarks:        [optional]   [multiple]   [ ]
notify:         [optional]   [multiple]   [inverse key]
admin-c:        [optional]   [multiple]   [inverse key]
tech-c:         [optional]   [multiple]   [inverse key]
mnt-by:         [mandatory]  [multiple]   [inverse key]
created:        [generated]  [single]     [ ]
last-modified:  [generated]  [single]     [ ]
source:         [mandatory]  [single]     [ ]
~~~
     Es empfiehlt sich, den ASCII pgpkey mit vim o.ä. um den certif: Vorspann zu ergänzen
     und 'Create in text area' auszuwählen damit die pubkey Zeilen bequem eingefügt werden können.

~~~
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFEJAloBCAClbKDgWolOVJRP2NC0usiD3WSGSbCdR7MGH4KFFHoxWWhxAA0P
WWMLBsePJ2wbsrZFhsB8aNP71FSyS3CqfSjJfxkCcMsR87/EwhF0rB9SE1xGSYxh
[gekürzt ...]
sw9coQowzW0eychm+zmi5u8fcOciikghuE3pWm+AX9tI/5czZvak3l9kfY7/0esZ
PFiS0U0L0XGmXZ/iAbLV1lSaf263tV1GeGfAxvG3/zANo4JI5eEpnyaDnpcz1Q==
=Jpmi
-----END PGP PUBLIC KEY BLOCK-----
~~~
und danach

~~~
certif: -----BEGIN PGP PUBLIC KEY BLOCK-----
certif: 
certif: mQENBFEJAloBCAClbKDgWolOVJRP2NC0usiD3WSGSbCdR7MGH4KFFHoxWWhxAA0P
certif: WWMLBsePJ2wbsrZFhsB8aNP71FSyS3CqfSjJfxkCcMsR87/EwhF0rB9SE1xGSYxh
[gekürzt ...]
certif: sw9coQowzW0eychm+zmi5u8fcOciikghuE3pWm+AX9tI/5czZvak3l9kfY7/0esZ
certif: PFiS0U0L0XGmXZ/iAbLV1lSaf263tV1GeGfAxvG3/zANo4JI5eEpnyaDnpcz1Q==
certif: =Jpmi
certif: -----END PGP PUBLIC KEY BLOCK-----
~~~

Damit sieht das erzeugte key-cert Objekt so aus:

~~~
    key-cert:        PGPKEY-1220F28C
    method:          PGP
    owner:           Frank Beythien <fbeythien@gmx.de>
    owner:           Frank Beythien (prima ping) <efbe@prima.de>
    fingerpr:        1F58 AF18 04B2 6E44 0B77 BD66 0402 A022 1220 F28C
    certif:          -----BEGIN PGP PUBLIC KEY BLOCK-----
    certif:          
    certif:          mQENBFEJAloBCAClbKDgWolOVJRP2NC0usiD3WSGSbCdR7MGH4KFFHoxWWhxAA0P
    certif:          WWMLBsePJ2wbsrZFhsB8aNP71FSyS3CqfSjJfxkCcMsR87/EwhF0rB9SE1xGSYxh
    [gekürzt ...]
    certif:          77MPXKEKMM1tHsnIZvs5oubvH3DnIopIIbhN6VpvgF/bSP+XM2b2pN5fZH2O/9Hr
    certif:          GTxYktFNC9Fxpl2f4gGy1dZUmn9ut7VdRnhnwMbxt/8wDaOCSOXhKZ8mg56XM9U=
    certif:          =j5WL
    certif:          -----END PGP PUBLIC KEY BLOCK-----
    remarks:         
    mnt-by:          FB123-MNT
    created:         2021-06-24T17:00:31Z
    last-modified:   2021-06-25T15:29:22Z
    source:          RIPE
~~~
und es kann als auth: Attribut im Maintainer eingetragen werden:

~~~
    mntner:          FB123-MNT
    admin-c:         FCB30-RIPE
    upd-to:          efbe@prima.de
    auth:            SSO# Filtered
    auth:            PGPKEY-1220F28C
    mnt-by:          FB123-MNT
    created:         2021-06-11T15:12:50Z
    last-modified:   2021-06-24T18:41:46Z
    source:          RIPE# Filtered
~~~
Nach dem (letzten) interaktiven Update kann der Maintainer nun auch für Updates per signierter Mail verwendet werden.
##   Die Hilfsdatei ~/ripe/rps.sh anpassen 
Das ist einmalig optional nötig, wenn sie verwendet werden soll.   
Die folgenden Variablen ändern:

~~~
    RIPDIR=~/ripe                               # RIPE Arbeitsverzeichnis
    RIPEDIT=vim                                 # gewünschter Editor
    SMARTHOST="mail.prima.de:587 -o tls=yes"    # zum Versenden   
    MAILUSER="efbe"                             # Account    
    FROM="efbe@prima.de"                        # Absender
    DEFKEY="1220F28C"                           # PGPkey zum signieren
~~~    
Die Hilfsdatei rps.sh:

~~~
#!/bin/sh
# RIPE Objekt update edit / submit 2021-07-29
# Objekt Anweisungen erzeugen + signieren
# und per sendemail an RIPE db schicken
#
# setzt installierte gnupg und sendemail Pakete voraus
# und ein gültiges pgpkey paar public/secret zum signieren
#
# Ablauf:
# - per whois RIPE Abfrage Object oder Template in $RIPDIR/xxx speichern

# - rps.sh xxx  aufrufen dadurch erfolgt:
# -- Datei mit $RIPEDIT editieren
# -- evtl. alte signierte Datei löschen vom vorigen Versuch
# -- Datei signieren (pgp Passphrase eingeben)
# -- signierte Datei xxx.asc in terminal ausgeben zur Kontrolle
# -- Passwort für Mailaccount verdeckt eingeben
# -- per sendemail verschicken 

RIPDIR=~/ripe       # RIPEverzeichnis
RIPEDIT=vim         # gewünschter Editor

# die gewünschten Absender Angaben anpassen

# Absender muster 1 angaben
# MAILUSER evtl identisch zu FROM
#SMARTHOST="smtp.gmx.de:587 -o tls=yes"
#MAILUSER="1193092"
#FROM="fbeythien@gmx.de"
#DEFKEY="1220F28C" # zum signieren
#
# Absender muster Angaben
SMARTHOST="mail.prima.de:587 -o tls=yes"
MAILUSER="efbe"
FROM="efbe@prima.de"
DEFKEY="1220F28C" # zum signieren

# Absender muster 3 angaben
#SMARTHOST="desdemonia.uberspace.de:587 -o tls=yes"
#MAILUSER="efbe"
#FROM="efbe@uber.space"
#DEFKEY="1220F28C" # zum signieren

# mailaccount für Empfang, der letzte gewinnt.
RIPTO="efbe@prima.de"       # nur test für mich
RIPTO="auto-dbm@ripe.net"   # richtiger adressat


if [ ! "$1" ] 
then
    echo Parm Dateiname RIPE object fehlt.
    exit 1
fi    
cd $RIPDIR
$RIPEDIT "$1"

rm "$1".asc 2>/dev/null
gpg --clearsign --default-key $DEFKEY "$1" 
cat "$1".asc

echo "Passwort für Mail account $FROM eingeben"
stty -echo          # echo abschalten
read  passwd
stty echo           # echo wieder einschalten
#sendemail evtl mit -v -v geschwätziger machen
sendemail \
 -f $FROM -s $SMARTHOST -xu $MAILUSER -t $RIPTO \
 -u "RIPE update $1" -xp $passwd \
 -o message-file="$1".asc 
stty echo           # echo wieder einschalten für alle Fälle
~~~

##   Beispiel für ein Update mit signierter Email und rps.sh
Einfügen eines Kommentars bei person: Frank Beythien  
1.  einmalig die Datei ~/ripe/rps.sh personalisieren 

2.  whois Abfrage: whois -Br FCB30-RIPE
     Ausgabe in Datei ~/ripe/remark.txt

~~~
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Information related to 'FCB30-RIPE'

person:         Frank Beythien
address:        Freifunk Dortmund e.V.
address:        Braunschweiger Strasse 22
address:        DE-44145-Dortmund
phone:          +49 231 8404694
nic-hdl:        FCB30-RIPE
mnt-by:         FB123-MNT
notify:         efbe@prima.de
created:        2021-06-11T15:12:50Z
last-modified:  2021-07-08T18:59:38Z
source:         RIPE

% This query was served by the RIPE Database Query Service version 1.101 (HEREFORD)
~~~
Mit rps.sh remark.txt die Änderungen vornehmen   
1.   Whois Vor- Nachspann Zeilen löschen.     
2.   created: und last-modified: Zeilen löschen  
3.   remarks:    Bemerkung als Beispiel       Zeile einfügen  
4.   Datei speichern  
5.   pgp passphrase eingeben zum signieren  
6.   die erzeugte remark.txt.asc wird zur Kontrolle ausgegeben:  

~~~
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

person:         Frank Beythien
address:        Freifunk Dortmund e.V.
address:        Braunschweiger Strasse 22
address:        DE-44145-Dortmund
phone:          +49 231 8404694
nic-hdl:        FCB30-RIPE
mnt-by:         FB123-MNT
notify:         efbe@prima.de
source:         RIPE
remarks:        Bemerkung als Beispiel
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEH1ivGASybkQLd71mBAKgIhIg8owFAmECyvMACgkQBAKgIhIg
8ozh2Qf+IHTexzT1qeWu7eIqYe8bBnDePvgJpTFrCDoa5F5PxID0HPei8WBvWRWB
[gekürzt ... 
vkXqe3lDro8rl9fC/1cIEa2ZPhz30QvubQvghz/4iic+a1A5injbMvURwO7btTGB
gQ9GsH1V998QTXdZwafMtIY7EkSk0Q==
=wpJx
-----END PGP SIGNATURE-----
~~~
7.  Passwort für Mailaccount eingeben und versenden  
8.  Auf Erfolgsmail im mailaccount von notify: warten.  

~~~
This is to notify you of changes in RIPE Database or
object authorisation failures.

This message is auto-generated.
Please DO NOT reply to this message.

If you do not understand why we sent you this message,
or for assistance or clarification please visit https://www.ripe.net/s/notify.

Change requested from:

- From:      "efbe@prima.de" <efbe@prima.de>
- Date/Time: Thu Jul 29 15:52:27 Z 2021

Some object(s) in RIPE Database that you either
maintain or you are listed in as to-be-notified have
been added, deleted or changed.

OBJECT BELOW MODIFIED:

@@ -9,4 +9,5 @@
 created:        2021-06-11T15:12:50Z
-last-modified:  2021-07-08T18:59:38Z
+last-modified:  2021-07-29T15:52:43Z
 source:         RIPE
+remarks:        Bemerkung als Beispiel



THIS IS THE NEW VERSION OF THE OBJECT:

person:         Frank Beythien
address:        Freifunk Dortmund e.V.
address:        Braunschweiger Strasse 22
address:        DE-44145-Dortmund
phone:          +49 231 8404694
nic-hdl:        FCB30-RIPE
mnt-by:         FB123-MNT
notify:         efbe@prima.de
created:        2021-06-11T15:12:50Z
last-modified:  2021-07-29T15:52:43Z
source:         RIPE
remarks:        Bemerkung als Beispiel

Changed by PGPKEY-1220F28C. You can find contact details for this key here:
https://apps.db.ripe.net/search/lookup.html?source=ripe&key=PGPKEY-1220F28C&type=key-cert


The RIPE Database is subject to Terms and Conditions:
http://www.ripe.net/db/support/db-terms-conditions.pdf

For assistance or clarification please visit https://www.ripe.net/s/notify.

Generated by RIPE WHOIS Update version 1.101 on ANGUS
Handled email update (RIPE, 2021-07-29T15:52:43Z)
~~~

#   Anwendung für ffdo.net
~~~
% whois -Br FFDO-Ripe-Verwaltung  

% This is the RIPE Database query service.  
% The objects are in RPSL format.  
%  
% The RIPE Database is subject to Terms and Conditions.  
% See http://www.ripe.net/db/support/db-terms-conditions.pdf  
  
% Information related to 'FFDO-RIPE'  
  
role:           FFDO-Ripe-Verwaltung  
address:        Freifunk Dortmund e.V.  
address:        Braunschweiger Strasse 22  
address:        D-44145 Dortmund  
address:        Germany  
phone:          +49 231 8404 694  
e-mail:         ripe-db@freifunk-dortmund.de  
nic-hdl:        FFDO-RIPE  
mnt-by:         FFDO-MNT  
admin-c:        MA24644-RIPE  
admin-c:        LL9164-RIPE  
admin-c:        FCB30-RIPE  
notify:         ripe-db@freifunk-dortmund.de  
created:        2021-06-29T23:11:36Z  
last-modified:  2021-06-30T07:42:24Z  
source:         RIPE  
  
% This query was served by the RIPE Database Query Service version 1.101 (HEREFORD)  
~~~
Das FFDO Maintainer Objekt:

~~~

% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Information related to 'FFDO-MNT'

mntner:         FFDO-MNT
admin-c:        MA24644-RIPE
admin-c:        LL9164-RIPE
admin-c:        FCB30-RIPE
auth:           PGPKEY-AE478E8C
auth:           PGPKEY-740CFF5E
auth:           PGPKEY-1220F28C
mnt-by:         MICHMAN-MNT
mnt-by:         LULU5-MNT
mnt-by:         FB123-MNT
upd-to:         ripe-db@freifunk-dortmund.de
notify:         ripe-db@freifunk-dortmund.de
created:        2021-06-28T22:55:39Z
last-modified:  2021-07-02T10:52:10Z
source:         RIPE

% This query was served by the RIPE Database Query Service version 1.101 (WAGYU)
~~~

#   ffdo-User

[1] https://de.wikipedia.org/wiki/R%C3%A9seaux_IP_Europ%C3%A9ens  
[2] https://de.wikipedia.org/wiki/RIPE_Network_Coordination_Centre