RIPE Data Base-Slides, Training Curse
RIPE Data Base-Slides, Training Curse
Training Course
January 2023
2
09:00 - 09:30 Coffee, Tea
11:00 - 11:15 Break
13:00 - 14:00 Lunch
15:30 - 15:45 Break
17:30 End
3
Introductions
• Name
• Experience with:
- Being an LIR
!
- The RIPE Database
ll o
• Goals
H e 4
Overview
• What is the RIPE Database?
• How does it work?
• How to update it?
• Delegating address space to others
• RIPE Routing Registry
• Reverse DNS
• More RIPE Database
• Play Time!
• The RESTful API
5
Prepare Yourself!
• Get your laptop up and running
6
Make sure you are in the TEST Database!
7
• Take out the exercise booklet
• When you see the green square, there is an activity
for you to do!
= Activity time!
9
The RIPE Database
What is it?
Your LIR Account Was Activated
1. Read the email 1
2. Go to https://apps-test.db.ripe.net
11
What Do You See?
• What do you get as a result?
• Which lines are not easy to understand?
12
What You Are Seeing
A person object has data that can be used to contact
a real person
person
can contact me
13
The RIPE Database
Public Internet resource and routing registry database
14
Purpose of the RIPE Database
• Registry of WHO holds IPs and ASNs
• Keep contact information
- For troubleshooting, notifying of outages, etc.
15
RIPE Database Objects
IPs and ASNs Contact Information
inetnum inet6num organisation person
aut-num role
Routing
route route6
as-set
16
Looking Up Object Templates
1. Go to http://apps-test.db.ripe.net
-t person
https://www.ripe.net/manage-ips-and-asns/db/support/
documentation/ripe-database-documentation/
17
What Do You See?
• What do you get as a result?
• What is not easy to understand?
18
Anatomy of an Object
e s e-mail: [email protected]
s
ut e
b nic-hdl: JB0123-RIPE lu
tt ri Va
A mnt-by: SECURITY-MNT
created: (date & time)
last-modified: (date & time)
source: RIPE
19
Object Templates
20
fi
Primary Key
• Every object has one Primary Key
• It makes the object unique
- Different from other objects of the same type
inetnum organisation
aut-num role
nic-hdl:
21
Lookup Keys
22
Search For Your Organisation
1. Read the email 1 again
2. Go to https://apps-test.db.ripe.net
23
What Do You See?
• What does the organisation object represent?
• Notice the “admin-c:” and “tech-c:” attributes
• What are their values?
24
What You Are Seeing
An organisation object has data about a company,
institution or any other kind of organisation that has
IP addresses and AS Numbers
organisation
25
Objects Are Linked To Each Other
IP block organisation
org:
contact:
contact:
person
org:
26
admin-c
• Appears in most types of objects
• Name of administrative contact person(s)
• This is someone who will be contacted about
administrative questions such as network
registration, etc.
27
tech-c
• Appears in most types of objects
• Name of technical contact person(s)
• This is someone to be contacted for technical
problems such as routing, (mis)behavior of hosts
on the net, etc.
28
Search For Your Role Object
1. Read the email 1 again
2. Go to https://apps-test.db.ripe.net
29
What Do You See?
• Notice the “admin-c:” and “tech-c:” attributes
• What are their values?
• Do you see any attribute that catches the eye?
30
Two Functions for the Role Object
role
admin-c:
tech-c:
abuse-mailbox:
31
Role Object: Abuse Contact
• The role object contains the “abuse-mailbox:”
• Objects reference the role in “abuse-c:”
• RIPE Database shows the abuse contact in
WHOIS query results
nic-hdl: AR0555-RIPE
abuse-mailbox: [email protected]
32
Role Object: Group of Persons
person: Jean Blue
nic-hdl: JB123-RIPE
address: Long Street 5 IP block
phone: +31 20 555 0101 admin-c: LA789-RIPE
email: [email protected] tech-c: LA789-RIPE
mnt-by: LIR-MNT
mnt-by:
IP block LIR-MNT
role: LIR Admin admin-c: LA789-RIPE
nic-hdl: LA789-RIPE tech-c: LA789-RIPE
mnt-by:
IP block LIR-MNT
admin-c: LA789-RIPE
tech-c: LA789-RIPE
mnt-by: LIR-MNT mnt-by: LIR-MNT
IP block
person: Betty White admin-c: LA789-RIPE
nic-hdl: BW531-RIPE tech-c: LA789-RIPE
address: Long Street 5 mnt-by: LIR-MNT
phone: +31 20 555 0101
email: [email protected]
mnt-by: LIR-MNT
33
Role Object: Group of Persons
person: Jean Blue
nic-hdl: JB123-RIPE
address: Long Street 5 IP block
phone: +31 20 555 0101 admin-c: LA789-RIPE
email: [email protected] tech-c: LA789-RIPE
mnt-by: LIR-MNT
mnt-by:
IP block LIR-MNT
role: LIR Admin admin-c: LA789-RIPE
nic-hdl: LA789-RIPE tech-c: LA789-RIPE
admin-c: JB123-RIPE mnt-by:
IP block LIR-MNT
tech-c: JB123-RIPE
admin-c: LA789-RIPE
tech-c: LA789-RIPE
mnt-by: LIR-MNT mnt-by: LIR-MNT
IP block
person: Betty White admin-c: LA789-RIPE
nic-hdl: BW531-RIPE tech-c: LA789-RIPE
address: Long Street 5 mnt-by: LIR-MNT
phone: +31 20 555 0101
email: [email protected]
mnt-by: LIR-MNT
33
Role Object: Group of Persons
person: Jean Blue
nic-hdl: JB123-RIPE
address: Long Street 5 IP block
phone: +31 20 555 0101 admin-c: LA789-RIPE
email: [email protected] tech-c: LA789-RIPE
mnt-by: LIR-MNT
mnt-by:
IP block LIR-MNT
role: LIR Admin admin-c: LA789-RIPE
nic-hdl: LA789-RIPE tech-c: LA789-RIPE
admin-c: JB123-RIPE mnt-by:
IP block LIR-MNT
tech-c: JB123-RIPE
admin-c: BW531-RIPE admin-c: LA789-RIPE
tech-c: BW531-RIPE tech-c: LA789-RIPE
mnt-by: LIR-MNT mnt-by: LIR-MNT
IP block
person: Betty White admin-c: LA789-RIPE
nic-hdl: BW531-RIPE tech-c: LA789-RIPE
address: Long Street 5 mnt-by: LIR-MNT
phone: +31 20 555 0101
email: [email protected]
mnt-by: LIR-MNT
33
Role Object: Group of Persons
IP block
admin-c: LA789-RIPE
tech-c: LA789-RIPE
mnt-by:
IP block LIR-MNT
role: LIR Admin admin-c: LA789-RIPE
nic-hdl: LA789-RIPE tech-c: LA789-RIPE
mnt-by:
IP block LIR-MNT
admin-c: BW531-RIPE admin-c: LA789-RIPE
tech-c: BW531-RIPE tech-c: LA789-RIPE
mnt-by: LIR-MNT mnt-by: LIR-MNT
IP block
person: Betty White admin-c: LA789-RIPE
nic-hdl: BW531-RIPE tech-c: LA789-RIPE
address: Long Street 5 mnt-by: LIR-MNT
phone: +31 20 555 0101
email: [email protected]
mnt-by: LIR-MNT
33
Questions
How Does It Work?
Looking for data in the Database
Search For Your Allocations
1. Read emails 2 and 3
- from the Registry Services department
2. Go to http://apps-test.db.ripe.net
36
What Do You See?
• Look at the first object in the results
• What do you see?
• How many objects did you get?
37
Network Objects
38
• Same object structure for IPv4 and IPv6
inetnum: IPv4 RANGE
39
Hierarchical Distribution
IANA
RIR
End User
40
Object Status Hierarchy
IPv4
RIR ALLOCATED UNSPECIFIED
LIR ALLOCATED PA
End ASSIGNED PA SUB-ALLOCATED PA ASSIGNED PI
User
ASSIGNED PA
IPv6
RIR ALLOCATED-BY-RIR
LIR ALLOCATED-BY-RIR
End ASSIGNED AGGREGATED-BY-LIR ALLOCATED-BY-LIR ASSIGNED PI
User
ASSIGNED AGGREGATED-BY-LIR
41
Default Query Results
• When you query for an IP address or prefix…
Least Specific
Most Specific
42
Default Query Results
• When you query for simple text…
something
PERSON ORGANISATION
PERSON
ROLE
INET6NUM
ROLE PERSON
INETNUM
43
Filtered Query Results
• All email addresses are filtered
• Show them with -B flag in query
- Or turn on “Show full object details”
44
Results Without Related Objects
Search term: -r 193.0.24.1
45
Results Without Related Objects
Search term: -r 193.0.24.1
admin-c: BRD-RIPE
tech-c: OPS4-RIPE
45
Results Without Related Objects
Search term: -r 193.0.24.1
origin: AS2121
tech-c: OPS4-RIPE
45
Results With Related Objects
Search term: 193.0.24.1
46
Results With Related Objects
Search term: 193.0.24.1
admin-c: BRD-RIPE
tech-c: OPS4-RIPE
46
Results With Related Objects
Search term: 193.0.24.1
46
Results With Related Objects
Search term: 193.0.24.1
46
Results With Related Objects
Search term: 193.0.24.1
route: 193.0.24.0/21
origin: AS2121
46
Making Better Queries
• Reduce the amount of objects returned
• Use options and flags to optimise the results
• Avoid getting blocked!
47
Selecting Object Types
• Choose the types of objects you want to see
• This results in fewer objects to process
✓
✓
49
What Do You See?
• Look at all the objects in the results
• How many objects did you get now?
• Which objects are now in the results?
50
Navigating the Hierarchy
• Using flags, you can find what is under or above an
inet(6)num object
- Under = More Specific
- Above = Less Specific
51
More Specific inetnums: -m
-m 193.0.24.0/21
193.0.24.0/21
52
More Specific inetnums: -M
-M 193.0.24.0/21
193.0.24.0/21
/26
53
Less Specific inetnums: -l
-l 193.0.25.0/24
193.0.24.0/21
193.0.25.0/24
54
Less Specific inetnums: -L
-L 193.0.25.0/24
0/0
193.0.24.0/21
193.0.25.0/24
55
Search For Your Allocations Again
1. In the previous query windows, add “-m” to the
search text
56
What Do You See?
• Look at the objects in the results
• How many objects did you get now?
• Different from what you got before?
- Notice the “status:” attribute
57
What You Are Seeing
IPv4
LIR ALLOCATED PA /22
End ASSIGNED PA /25
User
IPv6
LIR ALLOCATED-BY-RIR /32
End ASSIGNED /40
User
58
Questions
How To Update It?
Updating the RIPE Database
Part 1
Updating: What You Need
• To update the RIPE Database you must have:
- a RIPE NCC Access account
- a maintainer object
- the need to create, update or delete an object!
61
Search for LIR Maintainer Object
1. Read the email 5
- from your colleague Jean Blue
2. Go to http://apps-test.db.ripe.net
3. Search for the maintainer object
- i.e. SMXX-MNT
62
What Do You See?
• Look at the “mnt-by:” attribute
• What is the value?
• Look at the “auth:” attribute
• What is the value?
63
Maintainers: Protecting Objects
person: Jean Blue
address: My Street 9876
address: Office 123
phone: +31 20 876 5432
e-mail: [email protected]
nic-hdl: JB123-RIPE
mnt-by: LIR-MNT
mntner: LIR-MNT
admin-c: JB123-RIPE
notify: [email protected]
upd-to: [email protected]
auth: MD5-PW $1$crypto-stuff
auth: SSO [email protected]
auth: PGP-KEY-<key ID>
mnt-by: LIR-MNT
64
Maintainers: Protecting Objects
person: Jean Blue
address: My Street 9876
address: Office 123
phone: +31 20 876 5432
e-mail: [email protected]
nic-hdl: JB123-RIPE
mnt-by: LIR-MNT
mntner: LIR-MNT
admin-c: JB123-RIPE
notify: [email protected]
upd-to: [email protected]
auth: MD5-PW $1$crypto-stuff
auth: SSO [email protected]
auth: PGP-KEY-<key ID>
mnt-by: LIR-MNT
64
Maintainers: Protecting Objects
person: Jean Blue
address: My Street 9876
address: Office 123
phone: +31 20 876 5432
e-mail: [email protected]
nic-hdl: JB123-RIPE
mnt-by: LIR-MNT
mntner: LIR-MNT
admin-c: JB123-RIPE
notify: [email protected]
upd-to: [email protected]
auth: MD5-PW $1$crypto-stuff
auth: SSO [email protected]
auth: PGP-KEY-<key ID>
mnt-by: LIR-MNT
64
Maintainers: Protecting Objects
person: Jean Blue
address: My Street 9876
address: Office 123
phone: +31 20 876 5432
e-mail: [email protected]
nic-hdl: JB123-RIPE
mnt-by: LIR-MNT
mntner: LIR-MNT
admin-c: JB123-RIPE
notify: [email protected]
upd-to: [email protected]
auth: MD5-PW $1$crypto-stuff
auth: SSO [email protected]
auth: PGP-KEY-<key ID>
mnt-by: LIR-MNT
64
Maintainers: Authentication
• SSO
- default authentication mechanism
- uses RIPE NCC Access account
- to authenticate: login on RIPE NCC website
• PGP
- uses PGP key pair
- to authenticate: sign updates with private PGP key
• MD5-PW
- uses a MD5 hashed password
- to authenticate: provide clear text password
65
Maintainers: Associating an Account
• Your LIR maintainer has a MD5 password
• You want to add your Access as an “auth:” line
mntner: SMXX-MNT
admin-c: JBXX-TEST
tech-c: JBXX-TEST
upd-to: [email protected]
mnt-by: SMXX-MNT
auth: MD5-PW $1$crypto-stuff
66
Maintainers: Associating an Account
• Your LIR maintainer has a MD5 password
• You want to add your Access as an “auth:” line
mntner: SMXX-MNT
admin-c: JBXX-TEST
tech-c: JBXX-TEST
upd-to: [email protected]
mnt-by: SMXX-MNT
auth: MD5-PW $1$crypto-stuff
auth: SSO [email protected]
66
Maintainers: Associating an Account
You can easily associate your Access account
- if the maintainer is using MD5-PW authentication
67
Multiple Maintainers
mntner: ONE-MNT
admin-c: LA789-RIPE
tech-c: LA789-RIPE person: Jean Blue
mnt-by: ONE-MNT
address: My Street 9876
auth: SSO [email protected]
phone: +31 20 876 5432
auth: PGPKEY-AE6FBTI7
e-mail: [email protected]
nic-hdl: JB123-RIPE
68
Default Maintainer for LIRs
• Allows partial control over Allocation and ORG
• Can be selected in the LIR Account Details
• Automatically reflected in the RIPE Database
IP Address Allocation
mnt-by: RIPE-NCC-HM-MNT
mntner: DEFAULT-LIR-MNT mnt-by: DEFAULT-LIR-MNT
auth: MD5-PW $1$abC789#1
auth: SSO [email protected]
mnt-by: DEFAULT-LIR-MNT LIR Organisation
mnt-by: RIPE-NCC-HM-MNT
mnt-by: DEFAULT-LIR-MNT
69
Synch With LIR Portal
• Default LIR Maintainer can be synchronised with
LIR Portal
• Users added as SSO to the maintainer
• Previous “auth:” lines are removed
User Accounts mntner: DEFAULT-LIR-MNT
admin-c: JB123-RIPE
Jack Sparrow
[email protected] notify: [email protected]
upd-to: [email protected]
Jill Fernet auth: SSO [email protected]
[email protected] auth: SSO [email protected]
auth: SSO [email protected]
Went Down mnt-by: LIR-MNT
[email protected]
70
Personal vs Shared
LIR objects, shared maintainer IP Address Allocation
mntner: DEFAULT-LIR-MNT mnt-by: RIPE-NCC-HM-MNT
auth: MD5-PW $1$abC789#1 mnt-by: DEFAULT-LIR-MNT
auth: SSO [email protected]
auth: SSO [email protected] LIR Organisation
mnt-by: RIPE-NCC-HM-MNT
mnt-by: DEFAULT-LIR-MNT
71
Maintainer and Person
mntner: PERSONAL-MNT
admin-c: JD963-RIPE
descr: Startup maintainer
auth: SSO [email protected]
mnt-by: PERSONAL-MNT
72
Creating Your Person/Mntner Pair
1. Read again the email 5
- from your colleague Jean Blue
2. Go to http://apps-test.db.ripe.net
3. On the left side, click on “Create an object”
4. Choose ”role and maintainer pair”
5. Switch to “person”
6. Click on [Create]
73
What Do You See?
• Which attributes do you see in the empty template?
• Which lines are not easy to understand?
74
What You Are Seeing
• Congratulations! You just created your first objects
in the RIPE (TEST) Database!
+
75
Creating a Role Object
It’s a good habit to use a role for the admin-c and
tech-c attributes of LIR objects
1.Go to http://apps-test.db.ripe.net
76
3.Choose which maintainer will protect the new
object
LIR-MNT x PERSONAL-MNT x
77
3.Choose which maintainer will protect the new
object
LIR-MNT x
77
5.Fill in the template with data
- Use your LIR maintainer (SMXX-MNT)
- Use role: Tech Team
- Leave nic-hdl as it is: AUTO-1
78
6.Click on the [ + ] button next to “email”
- Choose “admin-c” from the drop-down list
- Click on [ Add ]
- You now have an empty “admin-c:” attribute
79
8.Fill in the admin-c and tech-c with data
- admin-c: JBXX-TEST
- tech-c: YOUR PERSON OBJECT
nic-hdl: TT123-TEST
mnt-by: SMXX-MNT
81
What You Just Did
person: Jean Blue
admin-c: JBXX-TEST
mnt-by: SMXX-MNT
81
What You Just Did
person: Jean Blue
admin-c: JBXX-TEST
81
Questions
How To Update It?
Updating the RIPE Database
Part 2
Registering IPv4 and IPv6
1. Let’s go back to the email 5
- from your colleague Jean Blue
2. Go to http://apps-test.db.ripe.net
3. On the left side, click on “Create an object”
4. Choose ”inetnum” or “inet6num”
5. Click on [Create]
84
What Do You See?
• Which attributes do you see in the template?
• Notice the first line (mnt-by:)
• How many maintainers appear here?
• Which lines are not easy to understand?
85
Registering Assignments
86
Registering Assignments
• To create an assignment, you must have
authorisation from the allocation
IP Address Allocation
mnt-by: RIPE-NCC-HM-MNT
mnt-by: DEFAULT-LIR-MNT
87
Registering Assignments
• If “mnt-lower:” is present, then it has permission to
create objects in the space under the object
IP Address Allocation
mnt-by: RIPE-NCC-HM-MNT
mnt-by: DEFAULT-LIR-MNT
mnt-lower: ANOTHER-MNT
88
Filling In The Template
• Choose which maintainer will protect the new
object
LIR-MNT x PERSONAL-MNT x
89
Filling In The Template
• Choose which maintainer will protect the new
object
LIR-MNT x
89
Filling In The Template
Same object structure for IPv4 and IPv6
country: ZZ
Country and
admin-c: AD321-RIPE
Contact information
tech-c: TE123-RIPE
mnt-by: DEFAULT-LIR-MNT
source: RIPE
90
Object Creation Success
If the values in the object template are correct,
then the RIPE Database will create the object
91
✔︎
✔︎
Deleting Objects
1. Let’s go back to the email 5
- from your colleague Jean Blue
2. Go to http://apps-test.db.ripe.net
3. Search for all the assignments:
- i.e. -m 10.XX.0.0 - 10.XX.3.255
- i.e. -m 2002:ffXX::/32
92
4. You should see Jean Blue’s assignments and your
newly registered assignments
5. Look for the wrong objects in the results
6. Click on [Update object]
7. Click on the [Delete this object] button
8. Provide a “reason” and click on [Confirm delete]
ASSIGNMENT
mnt-by: SMXX-MNT
93
LIR Keeps Control
• LIR Default Maintainer has control over the whole
address space
ASSIGNMENT ASSIGNMENT
94
LIR Keeps Control
• LIR Default Maintainer has control over the whole
address space
ASSIGNMENT ASSIGNMENT
94
When You Cannot Delete
• If an object is referenced in another object,
you must first remove the reference
You can only delete unreferenced objects. Please remove the references
from these objects rst:
• mntner - SM30-MNT
• organisation - ORG-IC30-TEST
• aut-num - AS65530
Return to object
95
ff
fi
Summary
• You have now updated the RIPE Database:
- Associated your Access with the LIR maintainer
- Created your own person/maintainer pair
- Created a role object for the LIR
- Registered assignments by creating inet(6)num objects
- Deleted the wrong inet(6)num objects
96
✔︎
Questions
Delegating To Others
Giving control to someone else
Register a IPv6 Sub-Allocation
1. Go to http://apps-test.db.ripe.net
99
4. Fill in the template:
- inet6num: 2002:ffXX:a000::/36
- netname: SUBALLOCATION
100
5. Add a “mnt-lower:” attribute
- Use your neighbor’s maintainer as value
7. Click on [Submit]
101
Sub-Allocations
• Block for a downstream customer
• Branch office or department
Large ISP
Head Office
Downstream
ISP
Sub-Allocation
mnt-by: DEFAULT-LIR-MNT
mnt-lower: BRANCH-MNT
Assignment
mnt-by: BRANCH-MNT
103
Registering Sub-Allocations
Use the appropriate “status:”
IPv4 = SUB-ALLOCATED PA
IPv6 = ALLOCATED-BY-LIR
104
Create an Assignment
1. Go to http://apps-test.db.ripe.net
105
What You Just Did
Allocation: 2002:ff30::/32
mnt-by: TEST-NCC-HM-MNT
mnt-by: SM30-MNT
106
What You Just Did
Allocation: 2002:ff30::/32
mnt-by: TEST-NCC-HM-MNT
mnt-by: SM30-MNT
106
What You Just Did
Allocation: 2002:ff30::/32
mnt-by: TEST-NCC-HM-MNT
mnt-by: SM30-MNT
Sub-Allocation: 2002:ff30:a000::/36
mnt-by: SM30-MNT
mnt-lower: SM15-MNT
106
What You Just Did
Allocation: 2002:ff30::/32
mnt-by: TEST-NCC-HM-MNT
mnt-by: SM30-MNT
Sub-Allocation: 2002:ff30:a000::/36
mnt-by: SM30-MNT
mnt-lower: SM15-MNT
106
What You Just Did
Allocation: 2002:ff30::/32
mnt-by: TEST-NCC-HM-MNT
mnt-by: SM30-MNT
Sub-Allocation: 2002:ff30:a000::/36
mnt-by: SM30-MNT
mnt-lower: SM15-MNT
Assignment
mnt-by: SM15-MNT
106
Separate Abuse Contact
• Sub-allocations can have a separate “abuse-c:”
Allocation: 2001:db8::/32
abuse-c: AC1-RIPE
mnt-by: RIPE-NCC-HM-MNT [email protected]
mnt-by: LIR-MNT
Sub-Allocation: 2001:db8:a000::/36
mnt-by: LIR-MNT Sub-Allocation: 2001:db8:5000::/36
[email protected]
[email protected]
107
Questions
RIPE Routing Registry
aut-num, route and route6 objects
Search For Your aut-num Object
1. Read the email 6
2. Go to http://apps-test.db.ripe.net
110
What Do You See?
• What does this object represent?
• Which attributes call your attention?
111
Autonomous System Number Objects
• Known as aut-num objects
• Register who holds an AS Number and the routing
policy for that AS
aut-num: AS12345
as-name: YOUR-AS-NAME
org: ORG-EE2-RIPE
import: from AS1010 accept ANY
export: to AS1010 announce AS12345
import: from AS987 accept ANY
export: to AS987 announce AS12345
admin-c: DV789-RIPE
tech-c: JS123-RIPE
status: ASSIGNED
mnt-by: RIPE-NCC-END-MNT
mnt-by: DEFAULT-LIR-MNT
source: RIPE
112
Routing Policy
INTERNET
TRANSIT
AS2
114
Building An aut-num Object
INTERNET
AS1
114
Building An aut-num Object
INTERNET
AS2 AS1
114
Building An aut-num Object
INTERNET
AS2 AS1
114
Building An aut-num Object
INTERNET
AS2 AS1
114
Building An aut-num Object
INTERNET
114
Building An aut-num Object
INTERNET
114
Building An aut-num Object
INTERNET
114
Search For route(6) Objects
1. Read the email 6
2. Go to http://apps-test.db.ripe.net
115
What Do You See?
• Did you get any objects in the results?
116
What Are route(6) Objects?
• route(6) objects register which IPv4/IPv6 prefix
will be announced by which AS number
117
How To Create route(6) Objects
• You need permission from:
1. inetnum or inet6num
2. route or route6
Allocation route(6)
mnt-by: RIPE-NCC-HM-MNT origin: AS12345
1 mnt-by: DEFAULT-LIR-MNT 2
mnt-routes: ANOTHER-MNT mnt-by: ANOTHER-MNT
118
Registering IPv4 Routes
mnt-by: TEST-NCC-HM-MNT
mnt-by: SM30-MNT
route: 10.30.0.0/22
origin: AS65530
mnt-by: SM30-MNT
119
Registering IPv6 Routes
inet6num: 2002:ff30::/32
mnt-by: TEST-NCC-HM-MNT
mnt-by: SM30-MNT
route6: 2002:ff30::/32
origin: AS65530
mnt-by: SM30-MNT
120
AS-Sets
route: 10.30.0.0/22
origin: AS65530
as-set: AS3333:AS-EXAMPLE
members: AS65530
route: 192.168.0.0/22
members: AS65535
origin: AS65535
members: AS65552
route: 169.254.0.0/16
origin: AS65552
121
AS-Sets
route: 10.30.0.0/22
origin: AS65530
as-set: AS3333:AS-EXAMPLE
as-set: AS65550:AS-CUST1
members: AS65530
members: AS65560
members: AS65550:AS-CUST1
122
Create route(6) Objects
1. Go to http://apps-test.db.ripe.net
123
Questions
Reverse DNS
Setting up reverse delegation
Looking For Domain Objects
1. Read the email 7
2. Go to http://apps-test.db.ripe.net
3. Search for your IPv4 allocation
4. Use the flags “-r -m -d” in the query
- “-d” flag includes domain objects in results
- i.e. -r -m -d 10.XX.0.0/22
126
What Do You See?
• Do you see any domain objects in the results?
127
DNS Tree Structure
• At the top is the root (.)
• Then the ccTLDs and gTLDs
• Each domain/sub-domain is stored in a DNS zone
128
What is Reverse DNS ?
Mapping of IP addresses to host names
193.2.6.139 2001:67c:2e8:22::c100:68b
www.ripe.net
129
Purpose of Reverse DNS
Reverse DNS is used for:
- Identifying Spam
- Network Diagnostics
- Controlling Access to a Network
DNS Server
130
How does Reverse DNS Work?
139.6.0.193.in-addr.arpa ?
<< . >>
(root)
ask .in-addr.arpa DNS
139.6.0.193.in-addr.arpa ?
.in-addr.arpa
etc…
139.6.0.193.in-addr.arpa ? 139.6.0.193.in-addr.arpa ?
Name
Servers
www.ripe.net www.ripe.net
RECURSIVE
CLIENT RESOLVER
131
Reverse Delegation Basics
IPv4 IPv6
132
Setting up Reverse Delegation
Configure your DNS servers
- at least two name servers in different subnets
- create a zone file on each for each chunk
133
Domain Objects
• Create records on RIPE NCC DNS servers
• They point to name servers that will be authoritative
for the zone
domain
134
Creating Domain Objects
Which maintainers are on the address space?
Address Space
mnt-by: SOME-BIG-MNT
mnt-lower: ANOTHER-MNT
mnt-domains: DNS-ZONE-MNT
135
Reverse DNS for IPv4
192.33.28.0
/24 28.33.192.in-addr.arpa
/16 33.192.in-addr.arpa
/8 192.in-addr.arpa
136
IPv4 and Domain Objects
IPv4 prefix: 192.33.28.0/24
Domain object:
domain: 28.33.192.in-addr.arpa
descr: rDNS for my IPv4 network
admin-c: NOC12-RIPE
tech-c: NOC12-RIPE
zone-c: NOC12-RIPE
nserver: pri.example.net
nserver: sns.company.org
ds-rdata: 45062 8 2 275d9acbf3d3fec11b6d6…
mnt-by: EXAMPLE-LIR—MNT
created: 2015-01-21T13:52:29Z
last-modified: 2016-02-07T15:09:46Z
source: RIPE
137
Reverse DNS for IPv6
2001:0 d b 8 : 0 0 3 e :ef11:0000:0000:c100:004d
/48 e.3.0.0.8.b.d.0.1.0.0.2.ip6.arpa
/44 3.0.0.8.b.d.0.1.0.0.2.ip6.arpa
/40 0.0.8.b.d.0.1.0.0.2.ip6.arpa
/36 0.8.b.d.0.1.0.0.2.ip6.arpa
/32 8.b.d.0.1.0.0.2.ip6.arpa
/28 b.d.0.1.0.0.2.ip6.arpa
138
IPv6 and Domain Objects
IPv6 prefix: 2001:db8::/32
Domain object:
domain: 8.b.d.0.1.0.0.2.ip6.arpa
descr: rDNS for my IPv6 network
admin-c: NOC12-RIPE
tech-c: NOC12-RIPE
zone-c: NOC12-RIPE
nserver: pri.example.net
nserver: sns.company.org
ds-rdata: 45062 8 2 275d9acbf3d3fec11b6d6…
mnt-by: EXAMPLE-LIR—MNT
created: 2015-01-21T13:52:29Z
last-modified: 2016-02-07T15:09:46Z
source: RIPE
139
Create Domain Objects Wizard
140
Create Domain Objects Wizard
140
Create Domain Objects Wizard
140
Create Domain Objects Wizard
140
Create Domain Objects Wizard
140
Create Domain Objects Wizard
140
Create Domain Objects Wizard
domain: 16.155.10.in-addr.arpa
domain:
mnt-by: 17.155.10.in-addr.arpa
EXAMPLE-MNT
nserver: 18.155.10.in-addr.arpa
domain:
mnt-by: tinnie.arin.net
EXAMPLE-MNT
nserver:19.155.10.in-addr.arpa
nserver:
domain: sec3.apnic.net
tinnie.arin.net
mnt-by: EXAMPLE-MNT
nserver:
nserver: sec3.apnic.net
tinnie.arin.net
mnt-by: EXAMPLE-MNT
nserver:
nserver: sec3.apnic.net
tinnie.arin.net
nserver: sec3.apnic.net
140
Exercise
How many domain objects?
Calculate How Many Objects
You have the following address space:
- 192.12.32.0/22
- 2a00:38::/29
What are the first and last domain objects for each?
142
And For The Customer?
What are the two domain objects for Marc Bromski’s
address space?
IPv6: 2002:ffxx:1001::/48
143
How to query for IPv6?
Which query would you use to find the /32 domain object
for the IPv6 allocation 2001:db8::/32?
a) -Md 2001:db8::/32
b) -md 2001:db8::/32
c) -xd 2001:db8::/32
144
Questions
More RIPE Database
Inverse Lookups, Free Text Search,
Notifications, RIPE Database WG
Looking For References
You want to replace the reference to Jean Blue’s
person object in all the LIR objects with your new LIR
role object
1. Go to http://apps-test.db.ripe.net
147
What Do You See?
• Which objects are in the query results?
• Where do you see JBXX-TEST?
148
Inverse Lookups
Finding all objects in which an object is referenced
149
Inverse Lookups
Finding all objects in which an object is referenced
PERSON
149
Inverse Lookups
Finding all objects in which an object is referenced
PERSON ALLOCATION
ASSIGNMENT
ORGANISATION
MAINTAINER
149
Inverse Lookup: admin-c
inet6num: 2001:db8::/32
org: ORG-BB2-RIPE
admin-c: BW280-RIPE
tech-c: JB1-RIPE
mnt-by: RIPE-NCC-HM-MNT -i admin-c JB1-RIPE
mnt-by: DEFAULT-LIR-MNT
mntner: DEFAULT-LIR-MNT
admin-c: JB1-RIPE
tech-c: TT789-RIPE
mnt-by: DEFAULT-LIR-MNT
mntner: DEFAULT-LIR-MNT
admin-c: JB1-RIPE
tech-c: TT789-RIPE
mnt-by: DEFAULT-LIR-MNT
aut-num: AS64551
descr: My Other IPv4 alloc.
org: ORG-BB2-RIPE
admin-c: BW280-RIPE
tech-c: JB1-RIPE
152
Inverse Lookup : mnt-by
inet6num: 2001:db8::/32
org: ORG-BB2-RIPE
admin-c: BW280-RIPE
tech-c: JB1-RIPE
mnt-by: RIPE-NCC-HM-MNT
mnt-lower: ANOTHER-MNT
aut-num: AS64551
org: ORG-BB2-RIPE
admin-c:
tech-c:
JB1-RIPE
TT789-RIPE -i mnt-by ANOTHER-MNT
mnt-by: RIPE-NCC-END-MNT
mnt-by: ANOTHER-MNT mntner: ANOTHER-MNT
1. Go to https://apps.db.ripe.net/search/full-text.html
154
What Do You See?
• Do you get any objects in the results?
• How many objects do you get?
• Can you see the whole object?
155
Full Text Search
156
Full Text Search - Advanced
157
Think About This…
• The RIPE Database is a public
database
158
Notifications: “notify:”
The RIPE Database has several ways to trigger
notifications about updates
• “notify:” attribute
- Can be used on any object
- An email is sent when the object is updated
159
Notifications: Maintainers
Maintainers have special attributes
mntner: LIR-MNT
upd-to: [email protected]
mnt-nfy: [email protected]
• “upd-to:”
- For failed attempts to update objects
• “mnt-nfy:”
- For succesful attempts to update objects
160
RIPE Database Working Group
• Influence the development of the RIPE Database
software and operations
DB
161
More RIPE Database Resources
• The RIPE Database page on ripe.net
- https://apps.db.ripe.net/docs/
162
Questions
Play Time!
Practice What You Learned
Choose Your Own Adventure
• From the Play Time! list of tasks, choose what you
would like to practice
165
Beyond The Database
The RESTful API
Problem Statement
• Your company has a provisioning
software that assigns address
blocks to customers from a pool
167
RIPE Database RESTful API
• Allows REST-compliant systems to access
the RIPE Database
Query
(http)
168
URI for each Database Object
URI Format:
https://rest.db.ripe.net/{source}/{objecttype}/{key}
DELETE: delete
169
URI Format:
https://rest.db.ripe.net/{source}/{objecttype}/{key}
170
HTTP Status Codes
171
Method: GET
http(s)://rest.db.ripe.net/{source}/{objectType}/{key}
GET
RIPE Database
DB Clients
172
Examples
curl 'http://rest.db.ripe.net/ripe/mntner/RIPE-DBM-MNT'
curl 'http://rest-test.db.ripe.net/test/person/AA1-TEST?unfiltered'
curl ‘http://rest.db.ripe.net/ripe/inetnum/193.0.0.0%20-%20193.0.7.255.json'
173
Method: PUT
https://rest.db.ripe.net/{source}/{objectType}/{key}?password={password}…
PUT
RIPE Database
DB Clients
174
Examples
175
Method: POST
https://rest.db.ripe.net/{source}/{objectType}?password={password}…
POST
RIPE Database
DB Clients
176
Examples
177
Method: DELETE
https://rest.db.ripe.net/{source}/{objectType}/{key}?password={password}…&reason={reason}
DELETE
RIPE Database
DB Clients
178
Examples
179
Additional Services
180
Examples
curl http://rest.db.ripe.net/metadata/templates/person.xml
curl http://rest.db.ripe.net/abuse-contact/AS3333
181
References
• GitHub WHOIS REST API:
https://github.com/RIPE-NCC/whois/wiki/WHOIS-REST-API
182
Doing it for real!
Demo
Create an inet6num object
Location: rest-test.db.ripe.net
TEST Database
Source: test
Format XML
184
Query and Fail
curl 'http://rest-test.db.ripe.net/test/inet6num/2001:ff29:1234::/48'
185
XML Template
186
Create inet6num Object
curl 'http://rest-test.db.ripe.net/test/inet6num/2001:ff29:1234::/48'
188
Questions
We want your feedback!
What did you think about this session?
https://www.ripe.net/feedback/db
X
190
RIPE NCC
Academy
academy.ripe.net
X
Presentation Title
https://getcerti ed.ripe.net/
Presentation Subtitle
Type Of Session
fi
Title Text
The End! Kрай Y Diwedd
Fí
Соңы Finis
Liðugt
Ende Finvezh Kiнець
Konec Kraj Ënn Fund